From d8c5d33c7df2402c8a5b4595957cad22d8771dc3 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Tue, 25 May 2021 05:07:26 +0800 Subject: Allow client send preference to server Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> --- .../api/net/GT_Packet_ClientPreference.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java (limited to 'src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java') diff --git a/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java new file mode 100644 index 0000000000..d90f4e65d4 --- /dev/null +++ b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java @@ -0,0 +1,52 @@ +package gregtech.api.net; + +import com.google.common.io.ByteArrayDataInput; +import gregtech.GT_Mod; +import gregtech.api.util.GT_ClientPreference; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraft.world.IBlockAccess; + +public class GT_Packet_ClientPreference extends GT_Packet_New { + private GT_ClientPreference mPreference; + private EntityPlayerMP mPlayer; + + public GT_Packet_ClientPreference() { + super(true); + } + + public GT_Packet_ClientPreference(GT_ClientPreference mPreference) { + super(false); + this.mPreference = mPreference; + } + + @Override + public byte getPacketID() { + return 9; + } + + @Override + public void setINetHandler(INetHandler aHandler) { + if (aHandler instanceof NetHandlerPlayServer) { + mPlayer = ((NetHandlerPlayServer) aHandler).playerEntity; + } + } + + @Override + public void process(IBlockAccess aWorld) { + if (mPlayer != null) + GT_Mod.gregtechproxy.setClientPreference(mPlayer.getUniqueID(), mPreference); + } + + @Override + public void encode(ByteBuf aOut) { + aOut.writeBoolean(mPreference.isSingleBlockInitialFilterEnabled()); + } + + @Override + public GT_Packet_New decode(ByteArrayDataInput aData) { + return new GT_Packet_ClientPreference(new GT_ClientPreference(aData.readBoolean())); + } +} -- cgit From ec47d0dfccbdf56a802a3a382a0513d643c708a4 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Tue, 25 May 2021 11:25:43 +0800 Subject: Add input bus initial filter preference Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> --- src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java') diff --git a/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java index d90f4e65d4..a97cfb207b 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java +++ b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java @@ -43,10 +43,11 @@ public class GT_Packet_ClientPreference extends GT_Packet_New { @Override public void encode(ByteBuf aOut) { aOut.writeBoolean(mPreference.isSingleBlockInitialFilterEnabled()); + aOut.writeBoolean(mPreference.isInputBusInitialFilterEnabled()); } @Override public GT_Packet_New decode(ByteArrayDataInput aData) { - return new GT_Packet_ClientPreference(new GT_ClientPreference(aData.readBoolean())); + return new GT_Packet_ClientPreference(new GT_ClientPreference(aData.readBoolean(), aData.readBoolean())); } } -- cgit