diff options
Diffstat (limited to 'src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java')
-rw-r--r-- | src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java b/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java deleted file mode 100644 index 2bfdbca9d2..0000000000 --- a/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java +++ /dev/null @@ -1,110 +0,0 @@ -package gregtech.api.net; - -import net.minecraft.item.ItemStack; -import net.minecraft.network.INetHandler; -import net.minecraft.network.NetHandlerPlayServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; - -import com.google.common.io.ByteArrayDataInput; - -import cpw.mods.fml.common.network.ByteBufUtils; -import gregtech.api.interfaces.IConfigurationCircuitSupport; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.interfaces.tileentity.IHasInventory; -import gregtech.api.metatileentity.BaseTileEntity; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.ISerializableObject; -import io.netty.buffer.ByteBuf; - -/** - * Client -> Server: Update machine configuration data - */ -public class GT_Packet_SetConfigurationCircuit extends GT_Packet_New { - - protected int mX; - protected short mY; - protected int mZ; - protected int dimId; - - protected ItemStack circuit; - - public GT_Packet_SetConfigurationCircuit() { - super(true); - } - - public GT_Packet_SetConfigurationCircuit(IGregTechTileEntity tile, ItemStack circuit) { - this(tile.getXCoord(), tile.getYCoord(), tile.getZCoord(), circuit); - } - - public GT_Packet_SetConfigurationCircuit(BaseTileEntity tile, ItemStack circuit) { - this(tile.getXCoord(), tile.getYCoord(), tile.getZCoord(), circuit); - } - - public GT_Packet_SetConfigurationCircuit(int x, short y, int z, ItemStack circuit) { - super(false); - - this.mX = x; - this.mY = y; - this.mZ = z; - - this.circuit = circuit; - } - - @Override - public byte getPacketID() { - return GT_PacketTypes.SET_CONFIGURATION_CIRCUIT.id; - } - - @Override - public void encode(ByteBuf aOut) { - aOut.writeInt(mX); - aOut.writeShort(mY); - aOut.writeInt(mZ); - - // no null check needed. ByteBufUtils will handle it - ByteBufUtils.writeItemStack(aOut, this.circuit); - } - - @Override - public void setINetHandler(INetHandler aHandler) { - if (aHandler instanceof NetHandlerPlayServer) { - dimId = ((NetHandlerPlayServer) aHandler).playerEntity.dimension; - } else { - // packet sent to wrong side, so we need to ignore this one - // but there is no way to disrupt packet pipeline - // so we will instead go find world -2, which (hopefully) doesn't exist - // then we will fail silently in process() - dimId = -2; - } - } - - @Override - public GT_Packet_New decode(ByteArrayDataInput aData) { - return new GT_Packet_SetConfigurationCircuit( - aData.readInt(), - aData.readShort(), - aData.readInt(), - ISerializableObject.readItemStackFromGreggyByteBuf(aData)); - } - - @Override - public void process(IBlockAccess aWorld) { - final World world = DimensionManager.getWorld(dimId); - if (world == null) return; - - final TileEntity tile = world.getTileEntity(mX, mY, mZ); - if (!(tile instanceof BaseTileEntity) || ((BaseTileEntity) tile).isDead()) return; - - final IConfigurationCircuitSupport machine = ((BaseTileEntity) tile).getConfigurationCircuitSupport(); - if (machine == null) return; - if (!machine.allowSelectCircuit()) return; - machine.getConfigurationCircuits() - .stream() - .filter(stack -> GT_Utility.areStacksEqual(stack, circuit)) - .findFirst() - .ifPresent(stack -> ((IHasInventory) tile).setInventorySlotContents(machine.getCircuitSlot(), stack)); - } -} |