예제 #1
0
 @Override
 public void setBlockBoundsBasedOnState(IBlockAccess world, int i, int j, int k) {
   TileEntity tile = world.getTileEntity(i, j, k);
   if (tile instanceof TileSignalFoundation)
     ((TileSignalFoundation) tile).setBlockBoundsBasedOnState(world, i, j, k);
   else setBlockBounds(0, 0, 0, 1, 1, 1);
 }
예제 #2
0
 @Override
 public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
   try {
     TileEntity tile = world.getTileEntity(x, y, z);
     if (tile instanceof TileSignalFoundation) {
       TileSignalFoundation structure = (TileSignalFoundation) tile;
       if (structure.getSignalType().needsSupport()
           && !world.isSideSolid(x, y - 1, z, ForgeDirection.UP))
         world.func_147480_a(x, y, z, true);
       else structure.onNeighborBlockChange(block);
     }
   } catch (StackOverflowError error) {
     Game.logThrowable(Level.ERROR, "Error in BlockSignalBase.onNeighborBlockChange()", 10, error);
     throw error;
   }
 }
예제 #3
0
 @Override
 public void onPostBlockPlaced(World world, int x, int y, int z, int meta) {
   super.onPostBlockPlaced(world, x, y, z, meta);
   if (RailcraftConfig.printSignalDebug()) {
     Game.logTrace(Level.INFO, 10, "Signal Block onPostBlockPlaced. [{0}, {1}, {2}]", x, y, y);
   }
   TileEntity tile = world.getTileEntity(x, y, z);
   if (tile instanceof TileSignalFoundation) ((TileSignalFoundation) tile).onBlockPlaced();
 }
예제 #4
0
 @Override
 public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
   if (RailcraftConfig.printSignalDebug()) {
     Game.logTrace(Level.INFO, 10, "Signal Block breakBlock. [{0}, {1}, {2}]", x, y, z);
   }
   TileEntity tile = world.getTileEntity(x, y, z);
   if (tile instanceof TileSignalFoundation) ((TileSignalFoundation) tile).onBlockRemoval();
   super.breakBlock(world, x, y, z, block, meta);
 }
예제 #5
0
 @Override
 public void onBlockPlacedBy(
     World world, int x, int y, int z, EntityLivingBase entityliving, ItemStack stack) {
   if (RailcraftConfig.printSignalDebug()) {
     Game.logTrace(Level.INFO, 10, "Signal Block onBlockPlacedBy. [{0}, {1}, {2}]", x, y, z);
   }
   TileEntity tile = world.getTileEntity(x, y, z);
   if (tile instanceof TileSignalFoundation)
     ((TileSignalFoundation) tile).onBlockPlacedBy(entityliving, stack);
 }