@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); }
@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; } }
@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(); }
@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); }
@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); }