From 798ae88957464f0b721c04b48e7ade155ea6aa03 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Fri, 20 May 2016 19:49:33 +0200 Subject: [PATCH] Move solderer data to description packet --- .../java/refinedstorage/block/BlockCable.java | 5 +- .../network/MessageSoldererWorkingUpdate.java | 66 ------------------- .../refinedstorage/proxy/CommonProxy.java | 1 - .../java/refinedstorage/tile/TileCable.java | 1 - .../tile/solderer/TileSolderer.java | 21 +++++- .../refinedstorage/blockstates/cable.json | 20 ------ 6 files changed, 19 insertions(+), 95 deletions(-) delete mode 100755 src/main/java/refinedstorage/network/MessageSoldererWorkingUpdate.java diff --git a/src/main/java/refinedstorage/block/BlockCable.java b/src/main/java/refinedstorage/block/BlockCable.java index 0c84414f3..3eb6c737f 100755 --- a/src/main/java/refinedstorage/block/BlockCable.java +++ b/src/main/java/refinedstorage/block/BlockCable.java @@ -37,8 +37,6 @@ public class BlockCable extends BlockMachine { @Override protected BlockStateContainer createBlockState() { return new BlockStateContainer(this, new IProperty[]{ - DIRECTION, - CONNECTED, NORTH, EAST, SOUTH, @@ -50,8 +48,7 @@ public class BlockCable extends BlockMachine { @Override public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) { - return super.getActualState(state, world, pos) - .withProperty(NORTH, hasConnectionWith(world, pos.north())) + return state.withProperty(NORTH, hasConnectionWith(world, pos.north())) .withProperty(EAST, hasConnectionWith(world, pos.east())) .withProperty(SOUTH, hasConnectionWith(world, pos.south())) .withProperty(WEST, hasConnectionWith(world, pos.west())) diff --git a/src/main/java/refinedstorage/network/MessageSoldererWorkingUpdate.java b/src/main/java/refinedstorage/network/MessageSoldererWorkingUpdate.java deleted file mode 100755 index 512f9cbee..000000000 --- a/src/main/java/refinedstorage/network/MessageSoldererWorkingUpdate.java +++ /dev/null @@ -1,66 +0,0 @@ -package refinedstorage.network; - -import io.netty.buffer.ByteBuf; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; -import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; -import refinedstorage.RefinedStorageUtils; -import refinedstorage.proxy.ClientProxy; -import refinedstorage.tile.solderer.TileSolderer; - -public class MessageSoldererWorkingUpdate implements IMessage, IMessageHandler { - private int x; - private int y; - private int z; - private boolean working; - - public MessageSoldererWorkingUpdate() { - } - - public MessageSoldererWorkingUpdate(TileSolderer solderer) { - this.x = solderer.getPos().getX(); - this.y = solderer.getPos().getY(); - this.z = solderer.getPos().getZ(); - this.working = solderer.isWorking(); - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - working = buf.readBoolean(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeBoolean(working); - } - - @Override - public IMessage onMessage(MessageSoldererWorkingUpdate message, MessageContext ctx) { - BlockPos pos = new BlockPos(message.x, message.y, message.z); - - World world = ClientProxy.getWorld(); - - TileEntity tile = world.getTileEntity(pos); - - if (tile instanceof TileSolderer) { - boolean wasWorking = ((TileSolderer) tile).isWorking(); - - ((TileSolderer) tile).setWorking(message.working); - - if (wasWorking != message.working) { - RefinedStorageUtils.updateBlock(world, pos); - } - } - - return null; - } -} diff --git a/src/main/java/refinedstorage/proxy/CommonProxy.java b/src/main/java/refinedstorage/proxy/CommonProxy.java index d01046718..2c41ccca1 100755 --- a/src/main/java/refinedstorage/proxy/CommonProxy.java +++ b/src/main/java/refinedstorage/proxy/CommonProxy.java @@ -37,7 +37,6 @@ public class CommonProxy { RefinedStorage.NETWORK.registerMessage(MessageTileContainerUpdate.class, MessageTileContainerUpdate.class, id++, Side.CLIENT); RefinedStorage.NETWORK.registerMessage(MessageControllerEnergyUpdate.class, MessageControllerEnergyUpdate.class, id++, Side.CLIENT); - RefinedStorage.NETWORK.registerMessage(MessageSoldererWorkingUpdate.class, MessageSoldererWorkingUpdate.class, id++, Side.CLIENT); RefinedStorage.NETWORK.registerMessage(MessageDetectorPoweredUpdate.class, MessageDetectorPoweredUpdate.class, id++, Side.CLIENT); RefinedStorage.NETWORK.registerMessage(MessageRedstoneModeUpdate.class, MessageRedstoneModeUpdate.class, id++, Side.SERVER); RefinedStorage.NETWORK.registerMessage(MessageGridStoragePush.class, MessageGridStoragePush.class, id++, Side.SERVER); diff --git a/src/main/java/refinedstorage/tile/TileCable.java b/src/main/java/refinedstorage/tile/TileCable.java index da9d934ed..eb6b90d91 100755 --- a/src/main/java/refinedstorage/tile/TileCable.java +++ b/src/main/java/refinedstorage/tile/TileCable.java @@ -20,5 +20,4 @@ public class TileCable extends TileMachine { public boolean maySendConnectivityData() { return false; } - } diff --git a/src/main/java/refinedstorage/tile/solderer/TileSolderer.java b/src/main/java/refinedstorage/tile/solderer/TileSolderer.java index 2114ab430..8af98749b 100755 --- a/src/main/java/refinedstorage/tile/solderer/TileSolderer.java +++ b/src/main/java/refinedstorage/tile/solderer/TileSolderer.java @@ -14,7 +14,6 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.container.ContainerSolderer; import refinedstorage.inventory.InventorySimple; import refinedstorage.item.ItemUpgrade; -import refinedstorage.network.MessageSoldererWorkingUpdate; import refinedstorage.tile.TileMachine; public class TileSolderer extends TileMachine implements ISidedInventory { @@ -45,6 +44,8 @@ public class TileSolderer extends TileMachine implements ISidedInventory { public void updateMachine() { ISoldererRecipe newRecipe = SoldererRegistry.getRecipe(inventory); + boolean wasWorking = working; + if (newRecipe == null) { reset(); } else if (newRecipe != recipe) { @@ -77,8 +78,8 @@ public class TileSolderer extends TileMachine implements ISidedInventory { } } - if (ticks % 4 == 0) { - RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageSoldererWorkingUpdate(this)); + if (wasWorking != working) { + RefinedStorageUtils.updateBlock(worldObj, pos); } } @@ -124,6 +125,20 @@ public class TileSolderer extends TileMachine implements ISidedInventory { nbt.setInteger(NBT_PROGRESS, progress); } + @Override + public void writeToDescriptionPacketNBT(NBTTagCompound tag) { + super.writeToDescriptionPacketNBT(tag); + + tag.setBoolean(NBT_WORKING, working); + } + + @Override + public void readFromDescriptionPacketNBT(NBTTagCompound tag) { + super.readFromDescriptionPacketNBT(tag); + + working = tag.getBoolean(NBT_WORKING); + } + @Override public void receiveContainerData(ByteBuf buf) { super.receiveContainerData(buf); diff --git a/src/main/resources/assets/refinedstorage/blockstates/cable.json b/src/main/resources/assets/refinedstorage/blockstates/cable.json index c577b0f99..0965f8664 100755 --- a/src/main/resources/assets/refinedstorage/blockstates/cable.json +++ b/src/main/resources/assets/refinedstorage/blockstates/cable.json @@ -56,26 +56,6 @@ }, "false": { } - }, - "direction": { - "north": { - }, - "east": { - }, - "south": { - }, - "west": { - }, - "up": { - }, - "down": { - } - }, - "connected": { - "true": { - }, - "false": { - } } } } \ No newline at end of file