46 lines
1.2 KiB
Java
46 lines
1.2 KiB
Java
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();
|
|
}
|
|
}
|
|
}
|