From 7059e622f211ed484fa809f164f54c10751af4cc Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Tue, 20 Dec 2022 13:58:52 +0100 Subject: [PATCH] fix: packets --- build.gradle | 2 +- src/main/java/icbm/gangshao/ClientProxy.java | 19 ------------------- src/main/java/icbm/gangshao/ICBMSentry.java | 16 +++++++++++++--- .../gangshao/packet/PacketHandlerTurret.java | 3 +++ .../terminal/TerminalCommandPacket.java | 9 +++------ .../terminal/TerminalOutputPacket.java | 9 +++------ .../terminal/TerminalOutputPacketHandler.java | 3 +++ 7 files changed, 26 insertions(+), 35 deletions(-) diff --git a/build.gradle b/build.gradle index 7c1b5ad..284f74e 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ sourceSets { api {} } -version = "1.0.3" +version = "1.0.4" group = "universalelectricity" archivesBaseName = "icbm" diff --git a/src/main/java/icbm/gangshao/ClientProxy.java b/src/main/java/icbm/gangshao/ClientProxy.java index 10df284..d9b17e1 100644 --- a/src/main/java/icbm/gangshao/ClientProxy.java +++ b/src/main/java/icbm/gangshao/ClientProxy.java @@ -4,9 +4,6 @@ import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import icbm.gangshao.packet.PacketHandlerTurret; -import icbm.gangshao.packet.PacketTurret; import icbm.gangshao.platform.TTurretPlatform; import icbm.gangshao.render.BlockRenderingHandler; import icbm.gangshao.render.FXBeam; @@ -18,8 +15,6 @@ import icbm.gangshao.render.RRailgun; import icbm.gangshao.shimian.GuiPlatformAccess; import icbm.gangshao.shimian.GuiPlatformSlots; import icbm.gangshao.shimian.GuiPlatformTerminal; -import icbm.gangshao.terminal.TerminalOutputPacket; -import icbm.gangshao.terminal.TerminalOutputPacketHandler; import icbm.gangshao.turret.mount.ESeat; import icbm.gangshao.turret.mount.TRailgunTurret; import icbm.gangshao.turret.sentries.TAATurret; @@ -34,20 +29,6 @@ import net.minecraft.world.World; import universalelectricity.core.vector.Vector3; public class ClientProxy extends CommonProxy { - @Override - public void preInit() { - int pktId = 1; - ICBMSentry.channel.registerMessage( - PacketHandlerTurret.class, PacketTurret.class, pktId++, Side.CLIENT - ); - ICBMSentry.channel.registerMessage( - TerminalOutputPacketHandler.class, - TerminalOutputPacket.class, - pktId++, - Side.CLIENT - ); - super.preInit(); - } @Override public void init() { diff --git a/src/main/java/icbm/gangshao/ICBMSentry.java b/src/main/java/icbm/gangshao/ICBMSentry.java index ffb94c2..e901910 100644 --- a/src/main/java/icbm/gangshao/ICBMSentry.java +++ b/src/main/java/icbm/gangshao/ICBMSentry.java @@ -126,16 +126,26 @@ public class ICBMSentry extends MainBase { ICBMTab.itemStack = new ItemStack(ICBMSentry.blockTurret); + ICBMSentry.proxy.preInit(); + channel = NetworkRegistry.INSTANCE.newSimpleChannel("icbm_sentry"); - ICBMSentry.proxy.preInit(); - + int pktId = 0; channel.registerMessage( TerminalCommandPacketHandler.class, TerminalCommandPacket.class, - 0, + pktId++, Side.SERVER ); + ICBMSentry.channel.registerMessage( + PacketHandlerTurret.class, PacketTurret.class, pktId++, Side.CLIENT + ); + ICBMSentry.channel.registerMessage( + TerminalOutputPacketHandler.class, + TerminalOutputPacket.class, + pktId++, + Side.CLIENT + ); } @Mod.EventHandler diff --git a/src/main/java/icbm/gangshao/packet/PacketHandlerTurret.java b/src/main/java/icbm/gangshao/packet/PacketHandlerTurret.java index 0b75c7f..c9918bd 100644 --- a/src/main/java/icbm/gangshao/packet/PacketHandlerTurret.java +++ b/src/main/java/icbm/gangshao/packet/PacketHandlerTurret.java @@ -4,12 +4,15 @@ import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import icbm.gangshao.turret.TTurretBase; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class PacketHandlerTurret implements IMessageHandler { @Override + @SideOnly(Side.CLIENT) public IMessage onMessage(PacketTurret message, MessageContext ctx) { World world = FMLClientHandler.instance().getWorldClient(); diff --git a/src/main/java/icbm/gangshao/terminal/TerminalCommandPacket.java b/src/main/java/icbm/gangshao/terminal/TerminalCommandPacket.java index f57da85..f1c8ab7 100644 --- a/src/main/java/icbm/gangshao/terminal/TerminalCommandPacket.java +++ b/src/main/java/icbm/gangshao/terminal/TerminalCommandPacket.java @@ -1,5 +1,6 @@ package icbm.gangshao.terminal; +import cpw.mods.fml.common.network.ByteBufUtils; import cpw.mods.fml.common.network.simpleimpl.IMessage; import io.netty.buffer.ByteBuf; import universalelectricity.core.vector.Vector3; @@ -18,10 +19,7 @@ public class TerminalCommandPacket implements IMessage { @Override public void fromBytes(ByteBuf buf) { this.pos = new Vector3(buf.readInt(), buf.readInt(), buf.readInt()); - int len = buf.readInt(); - byte[] data = new byte[len]; - buf.readBytes(data); - this.cmd = new String(data); + this.cmd = ByteBufUtils.readUTF8String(buf); } @Override @@ -30,7 +28,6 @@ public class TerminalCommandPacket implements IMessage { buf.writeInt(this.pos.intY()); buf.writeInt(this.pos.intZ()); - buf.writeInt(this.cmd.getBytes().length); - buf.writeBytes(this.cmd.getBytes()); + ByteBufUtils.writeUTF8String(buf, this.cmd); } } diff --git a/src/main/java/icbm/gangshao/terminal/TerminalOutputPacket.java b/src/main/java/icbm/gangshao/terminal/TerminalOutputPacket.java index 93b33d1..66b9a50 100644 --- a/src/main/java/icbm/gangshao/terminal/TerminalOutputPacket.java +++ b/src/main/java/icbm/gangshao/terminal/TerminalOutputPacket.java @@ -3,6 +3,7 @@ package icbm.gangshao.terminal; import java.util.ArrayList; import java.util.List; +import cpw.mods.fml.common.network.ByteBufUtils; import cpw.mods.fml.common.network.simpleimpl.IMessage; import io.netty.buffer.ByteBuf; import universalelectricity.core.vector.Vector3; @@ -25,10 +26,7 @@ public class TerminalOutputPacket implements IMessage { this.pos = new Vector3(buf.readInt(), buf.readInt(), buf.readInt()); int c = buf.readInt(); for (int i = 0; i < c; i++) { - int slen = buf.readInt(); - byte[] out = new byte[slen]; - buf.readBytes(out); - output.add(new String(out)); + output.add(ByteBufUtils.readUTF8String(buf)); } } @@ -40,8 +38,7 @@ public class TerminalOutputPacket implements IMessage { buf.writeInt(this.output.size()); for (String s : this.output) { - buf.writeInt(s.getBytes().length); - buf.writeBytes(s.getBytes()); + ByteBufUtils.writeUTF8String(buf, s); } } } diff --git a/src/main/java/icbm/gangshao/terminal/TerminalOutputPacketHandler.java b/src/main/java/icbm/gangshao/terminal/TerminalOutputPacketHandler.java index fe36010..1ee15b2 100644 --- a/src/main/java/icbm/gangshao/terminal/TerminalOutputPacketHandler.java +++ b/src/main/java/icbm/gangshao/terminal/TerminalOutputPacketHandler.java @@ -4,12 +4,15 @@ import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class TerminalOutputPacketHandler implements IMessageHandler { @Override + @SideOnly(Side.CLIENT) public IMessage onMessage(TerminalOutputPacket message, MessageContext ctx) { World world = FMLClientHandler.instance().getWorldClient();