package universalelectricity.prefab.block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import universalelectricity.core.block.IConductor; public abstract class BlockConductor extends BlockContainer { public BlockConductor(int id, Material material) { super(id, material); } /** * Called whenever the block is added into the world. Args: world, x, y, z */ @Override public void onBlockAdded(World world, int x, int y, int z) { super.onBlockAdded(world, x, y, z); TileEntity tileEntity = world.getBlockTileEntity(x, y, z); if (tileEntity instanceof IConductor) { ((IConductor) tileEntity).updateAdjacentConnections(); } } /** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed * (coordinates passed are their own) Args: x, y, z, neighbor blockID */ @Override public void onNeighborBlockChange(World world, int x, int y, int z, int blockID) { TileEntity tileEntity = world.getBlockTileEntity(x, y, z); if (tileEntity instanceof IConductor) { ((IConductor) tileEntity).updateAdjacentConnections(); } } }