initial 1.8 port
This commit is contained in:
		| @@ -1,144 +1,121 @@ | ||||
| package storagecraft.tile; | ||||
|  | ||||
| import io.netty.buffer.ByteBuf; | ||||
| import net.minecraft.nbt.NBTTagCompound; | ||||
|  | ||||
| public abstract class TileMachine extends TileBase implements INetworkTile, IRedstoneModeSetting | ||||
| { | ||||
| 	protected boolean connected = false; | ||||
| 	protected boolean redstoneControlled = true; | ||||
|  | ||||
| 	private RedstoneMode redstoneMode = RedstoneMode.IGNORE; | ||||
|  | ||||
| 	private int xController; | ||||
| 	private int yController; | ||||
| 	private int zController; | ||||
|  | ||||
| 	public void onConnected(TileController controller) | ||||
| 	{ | ||||
| 		connected = true; | ||||
|  | ||||
| 		xController = controller.xCoord; | ||||
| 		yController = controller.yCoord; | ||||
| 		zController = controller.zCoord; | ||||
| 	} | ||||
|  | ||||
| 	public void onDisconnected() | ||||
| 	{ | ||||
| 		connected = false; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void updateEntity() | ||||
| 	{ | ||||
| 		super.updateEntity(); | ||||
|  | ||||
| 		if (!worldObj.isRemote && isConnected()) | ||||
| 		{ | ||||
| 			updateMachine(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	public boolean isConnected() | ||||
| 	{ | ||||
| 		return connected; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public RedstoneMode getRedstoneMode() | ||||
| 	{ | ||||
| 		return redstoneMode; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void setRedstoneMode(RedstoneMode mode) | ||||
| 	{ | ||||
| 		if (redstoneControlled) | ||||
| 		{ | ||||
| 			this.redstoneMode = mode; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public int getX() | ||||
| 	{ | ||||
| 		return xCoord; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public int getY() | ||||
| 	{ | ||||
| 		return yCoord; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public int getZ() | ||||
| 	{ | ||||
| 		return zCoord; | ||||
| 	} | ||||
|  | ||||
| 	public TileController getController() | ||||
| 	{ | ||||
| 		return (TileController) worldObj.getTileEntity(xController, yController, zController); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void fromBytes(ByteBuf buf) | ||||
| 	{ | ||||
| 		boolean lastConnected = connected; | ||||
|  | ||||
| 		connected = buf.readBoolean(); | ||||
|  | ||||
| 		if (connected) | ||||
| 		{ | ||||
| 			xController = buf.readInt(); | ||||
| 			yController = buf.readInt(); | ||||
| 			zController = buf.readInt(); | ||||
| 		} | ||||
|  | ||||
| 		redstoneMode = RedstoneMode.getById(buf.readInt()); | ||||
|  | ||||
| 		if (lastConnected != connected) | ||||
| 		{ | ||||
| 			worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void toBytes(ByteBuf buf) | ||||
| 	{ | ||||
| 		buf.writeBoolean(connected); | ||||
|  | ||||
| 		if (connected) | ||||
| 		{ | ||||
| 			buf.writeInt(xController); | ||||
| 			buf.writeInt(yController); | ||||
| 			buf.writeInt(zController); | ||||
| 		} | ||||
|  | ||||
| 		buf.writeInt(redstoneMode.id); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void readFromNBT(NBTTagCompound nbt) | ||||
| 	{ | ||||
| 		super.readFromNBT(nbt); | ||||
|  | ||||
| 		if (nbt.hasKey(RedstoneMode.NBT)) | ||||
| 		{ | ||||
| 			redstoneMode = RedstoneMode.getById(nbt.getInteger(RedstoneMode.NBT)); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void writeToNBT(NBTTagCompound nbt) | ||||
| 	{ | ||||
| 		super.writeToNBT(nbt); | ||||
|  | ||||
| 		nbt.setInteger(RedstoneMode.NBT, redstoneMode.id); | ||||
| 	} | ||||
|  | ||||
| 	public abstract int getEnergyUsage(); | ||||
|  | ||||
| 	public abstract void updateMachine(); | ||||
| } | ||||
| package storagecraft.tile; | ||||
|  | ||||
| import io.netty.buffer.ByteBuf; | ||||
| import net.minecraft.nbt.NBTTagCompound; | ||||
| import net.minecraft.util.BlockPos; | ||||
|  | ||||
| public abstract class TileMachine extends TileBase implements INetworkTile, IRedstoneModeSetting | ||||
| { | ||||
| 	protected boolean connected = false; | ||||
| 	protected boolean redstoneControlled = true; | ||||
|  | ||||
| 	private RedstoneMode redstoneMode = RedstoneMode.IGNORE; | ||||
|  | ||||
| 	private BlockPos controllerPos; | ||||
|  | ||||
| 	public void onConnected(TileController controller) | ||||
| 	{ | ||||
| 		connected = true; | ||||
|  | ||||
| 		controllerPos = controller.getPos(); | ||||
| 	} | ||||
|  | ||||
| 	public void onDisconnected() | ||||
| 	{ | ||||
| 		connected = false; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void update() | ||||
| 	{ | ||||
| 		super.update(); | ||||
|  | ||||
| 		if (!worldObj.isRemote && isConnected()) | ||||
| 		{ | ||||
| 			updateMachine(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	public boolean isConnected() | ||||
| 	{ | ||||
| 		return connected; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public RedstoneMode getRedstoneMode() | ||||
| 	{ | ||||
| 		return redstoneMode; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void setRedstoneMode(RedstoneMode mode) | ||||
| 	{ | ||||
| 		if (redstoneControlled) | ||||
| 		{ | ||||
| 			this.redstoneMode = mode; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	public TileController getController() | ||||
| 	{ | ||||
| 		return (TileController) worldObj.getTileEntity(controllerPos); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void fromBytes(ByteBuf buf) | ||||
| 	{ | ||||
| 		boolean lastConnected = connected; | ||||
|  | ||||
| 		connected = buf.readBoolean(); | ||||
|  | ||||
| 		if (connected) | ||||
| 		{ | ||||
| 			controllerPos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt()); | ||||
| 		} | ||||
|  | ||||
| 		redstoneMode = RedstoneMode.getById(buf.readInt()); | ||||
|  | ||||
| 		if (lastConnected != connected) | ||||
| 		{ | ||||
| 			worldObj.markBlockForUpdate(pos); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void toBytes(ByteBuf buf) | ||||
| 	{ | ||||
| 		buf.writeBoolean(connected); | ||||
|  | ||||
| 		if (connected) | ||||
| 		{ | ||||
| 			buf.writeInt(controllerPos.getX()); | ||||
| 			buf.writeInt(controllerPos.getY()); | ||||
| 			buf.writeInt(controllerPos.getZ()); | ||||
| 		} | ||||
|  | ||||
| 		buf.writeInt(redstoneMode.id); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void readFromNBT(NBTTagCompound nbt) | ||||
| 	{ | ||||
| 		super.readFromNBT(nbt); | ||||
|  | ||||
| 		if (nbt.hasKey(RedstoneMode.NBT)) | ||||
| 		{ | ||||
| 			redstoneMode = RedstoneMode.getById(nbt.getInteger(RedstoneMode.NBT)); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void writeToNBT(NBTTagCompound nbt) | ||||
| 	{ | ||||
| 		super.writeToNBT(nbt); | ||||
|  | ||||
| 		nbt.setInteger(RedstoneMode.NBT, redstoneMode.id); | ||||
| 	} | ||||
|  | ||||
| 	public abstract int getEnergyUsage(); | ||||
|  | ||||
| 	public abstract void updateMachine(); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Raoul Van den Berge
					Raoul Van den Berge