| package universalelectricity.prefab.tile; |
| |
| import net.minecraft.block.Block; |
| import net.minecraft.tileentity.TileEntity; |
| |
| /** |
| * A TileEntity with some pre-added functionalities. |
| * |
| * @author Calclavia |
| * |
| */ |
| public abstract class TileEntityAdvanced extends TileEntity |
| { |
| protected long ticks = 0; |
| |
| @Override |
| public void updateEntity() |
| { |
| if (this.ticks == 0) |
| { |
| this.initiate(); |
| } |
| |
| if (this.ticks >= Long.MAX_VALUE) |
| { |
| this.ticks = 1; |
| } |
| |
| this.ticks++; |
| } |
| |
| /** |
| * Called on the TileEntity's first tick. |
| */ |
| public void initiate() |
| { |
| } |
| |
| @Override |
| public int getBlockMetadata() |
| { |
| if (this.blockMetadata == -1) |
| { |
| this.blockMetadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); |
| } |
| |
| return this.blockMetadata; |
| } |
| |
| @Override |
| public Block getBlockType() |
| { |
| if (this.blockType == null) |
| { |
| this.blockType = Block.blocksList[this.worldObj.getBlockId(this.xCoord, this.yCoord, this.zCoord)]; |
| } |
| |
| return this.blockType; |
| } |
| } |