diff options
Diffstat (limited to 'src/Java/miscutil/core/multiblock/test')
-rw-r--r-- | src/Java/miscutil/core/multiblock/test/TileAlveary.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/Java/miscutil/core/multiblock/test/TileAlveary.java b/src/Java/miscutil/core/multiblock/test/TileAlveary.java new file mode 100644 index 0000000000..7a39809508 --- /dev/null +++ b/src/Java/miscutil/core/multiblock/test/TileAlveary.java @@ -0,0 +1,66 @@ +package miscutil.core.multiblock.test; + +import miscutil.core.multiblock.abstracts.AbstractMultiblockLogic; +import miscutil.core.multiblock.abstracts.AbstractMultiblockTE; +import miscutil.core.multiblock.base.interfaces.IBaseMultiblockController; +import net.minecraft.util.ChunkCoordinates; +import forestry.api.apiculture.IAlvearyComponent; +import forestry.api.apiculture.IBeeHousing; +import forestry.core.gui.IHintSource; +import forestry.core.network.IStreamableGui; +import forestry.core.tiles.IClimatised; +import forestry.core.tiles.IRestrictedAccessTile; +import forestry.core.tiles.ITitled; + +public abstract class TileAlveary + extends AbstractMultiblockTE<AbstractMultiblockLogic> + implements IBeeHousing, IAlvearyComponent, IRestrictedAccessTile, IStreamableGui, ITitled, IClimatised, IHintSource +{ + + public static enum Type + { + PLAIN, ENTRANCE, SWARMER, FAN, HEATER, HYGRO, STABILIZER, SIEVE; + + public static final Type[] VALUES = values(); + + private Type() {} + } + + private final String unlocalizedTitle; + protected TileAlveary() + { + this(Type.PLAIN); + } + + protected TileAlveary(Type type) + { + super(new AbstractMultiblockLogic()); + this.unlocalizedTitle = ("tile.for.alveary." + type.ordinal() + ".name"); + } + + public int getIcon(int side) + { + return 0; + } + + @Override +public void onMachineAssembled(IBaseMultiblockController multiblockController, ChunkCoordinates minCoord, ChunkCoordinates maxCoord) + { + if (this.worldObj.isRemote) { + this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); + } + this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, getBlockType()); + markDirty(); + } + + @Override +public void onMachineBroken() + { + if (this.worldObj.isRemote) { + this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); + } + this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, getBlockType()); + markDirty(); + } + +} |