This commit is contained in:
Raoul Van den Berge
2015-12-22 12:39:03 +01:00
parent da89f6778e
commit 3b143310e3
76 changed files with 1730 additions and 847 deletions

View File

@@ -3,7 +3,8 @@ package storagecraft.tile;
import io.netty.buffer.ByteBuf;
import net.minecraft.nbt.NBTTagCompound;
public abstract class TileMachine extends TileBase implements INetworkTile, IRedstoneModeSetting {
public abstract class TileMachine extends TileBase implements INetworkTile, IRedstoneModeSetting
{
protected boolean connected = false;
protected boolean redstoneControlled = true;
@@ -13,7 +14,8 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
private int yController;
private int zController;
public void onConnected(TileController controller) {
public void onConnected(TileController controller)
{
this.connected = true;
this.xController = controller.xCoord;
@@ -23,61 +25,74 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
public void onDisconnected() {
public void onDisconnected()
{
this.connected = false;
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
@Override
public void updateEntity() {
public void updateEntity()
{
super.updateEntity();
if (!worldObj.isRemote && isConnected()) {
if (!worldObj.isRemote && isConnected())
{
updateMachine();
}
}
public boolean isConnected() {
public boolean isConnected()
{
return connected;
}
@Override
public RedstoneMode getRedstoneMode() {
public RedstoneMode getRedstoneMode()
{
return redstoneMode;
}
@Override
public void setRedstoneMode(RedstoneMode mode) {
if (redstoneControlled) {
public void setRedstoneMode(RedstoneMode mode)
{
if (redstoneControlled)
{
this.redstoneMode = mode;
}
}
@Override
public int getX() {
public int getX()
{
return xCoord;
}
@Override
public int getY() {
public int getY()
{
return yCoord;
}
@Override
public int getZ() {
public int getZ()
{
return zCoord;
}
public TileController getController() {
public TileController getController()
{
return (TileController) worldObj.getTileEntity(xController, yController, zController);
}
@Override
public void fromBytes(ByteBuf buf) {
public void fromBytes(ByteBuf buf)
{
connected = buf.readBoolean();
if (connected) {
if (connected)
{
xController = buf.readInt();
yController = buf.readInt();
zController = buf.readInt();
@@ -87,10 +102,12 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
}
@Override
public void toBytes(ByteBuf buf) {
public void toBytes(ByteBuf buf)
{
buf.writeBoolean(connected);
if (connected) {
if (connected)
{
buf.writeInt(xController);
buf.writeInt(yController);
buf.writeInt(zController);
@@ -100,16 +117,19 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
public void readFromNBT(NBTTagCompound nbt)
{
super.readFromNBT(nbt);
if (nbt.hasKey(RedstoneMode.NBT)) {
if (nbt.hasKey(RedstoneMode.NBT))
{
redstoneMode = RedstoneMode.getById(nbt.getInteger(RedstoneMode.NBT));
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
public void writeToNBT(NBTTagCompound nbt)
{
super.writeToNBT(nbt);
nbt.setInteger(RedstoneMode.NBT, redstoneMode.id);