aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-08-04 22:42:41 +0100
committerGitHub <noreply@github.com>2024-08-04 22:42:41 +0100
commit88912be409e3ee6eb460726af03dc3e69dbdc1e7 (patch)
treeafb35bcb44d423686097704b7b2d35bb05f80d94
parentbab2cbe2d7300cf5f95f4608db44290d18a734f9 (diff)
downloadGT5-Unofficial-88912be409e3ee6eb460726af03dc3e69dbdc1e7.tar.gz
GT5-Unofficial-88912be409e3ee6eb460726af03dc3e69dbdc1e7.tar.bz2
GT5-Unofficial-88912be409e3ee6eb460726af03dc3e69dbdc1e7.zip
Packet cleanup: avoid duplicating IDs across multiple files using an enum (#2822)
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java3
-rw-r--r--src/main/java/gregtech/api/net/GT_PacketTypes.java71
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_Block_Event.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_Pollution.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_SendCoverData.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_SendOregenPattern.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_Sound.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_TileEntity.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_TileEntityCover.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverNew.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_ToolSwitchMode.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_UpdateItem.java2
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java2
-rw-r--r--src/main/java/gregtech/common/GT_Network.java48
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Packet_Ores.java3
-rw-r--r--src/main/java/gregtech/common/net/MessageSetFlaskCapacity.java3
22 files changed, 98 insertions, 64 deletions
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index e82c5952ee..a65f9eedb5 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -152,7 +152,8 @@ public class GregTech_API {
* 14001 - 14100 are reserved for glowredman.
* 14101 - 14200 are reserved for MuXiu1997.
* 14201 - 14300 are reserved for kuba6000.
- * 14301 - 14999 are currently free.
+ * 14301 - 14400 are reserved for eigenraven.
+ * 14401 - 14999 are currently free.
* 15000 - 16999 are reserved for TecTech.
* 17000 - 29999 are currently free.
* 30000 - 31999 are reserved for Alkalus.
diff --git a/src/main/java/gregtech/api/net/GT_PacketTypes.java b/src/main/java/gregtech/api/net/GT_PacketTypes.java
new file mode 100644
index 0000000000..18fc5134ba
--- /dev/null
+++ b/src/main/java/gregtech/api/net/GT_PacketTypes.java
@@ -0,0 +1,71 @@
+package gregtech.api.net;
+
+import java.util.Arrays;
+
+import gregtech.common.blocks.GT_Packet_Ores;
+import gregtech.common.net.MessageSetFlaskCapacity;
+import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
+
+/**
+ * Centralized place to keep all the GT packet ID constants
+ */
+public enum GT_PacketTypes {
+
+ TILE_ENTITY(0, new GT_Packet_TileEntity()),
+ SOUND(1, new GT_Packet_Sound()),
+ BLOCK_EVENT(2, new GT_Packet_Block_Event()),
+ ORES(3, new GT_Packet_Ores()),
+ POLLUTION(4, new GT_Packet_Pollution()),
+ @SuppressWarnings("deprecation")
+ SET_FLASK_CAPACITY(5, new MessageSetFlaskCapacity()),
+ COVER(6, new GT_Packet_TileEntityCover()),
+ COVER_GUI(7, new GT_Packet_TileEntityCoverGUI()),
+ CLIENT_PREFERENCE(9, new GT_Packet_ClientPreference()),
+ WIRELESS_REDSTONE_COVER(10, new GT_Packet_WirelessRedstoneCover()),
+ COVER_NEW(11, new GT_Packet_TileEntityCoverNew()),
+ SET_CONFIGURATION_CIRCUIT(12, new GT_Packet_SetConfigurationCircuit()),
+ UPDATE_ITEM(13, new GT_Packet_UpdateItem()),
+ TILE_ENTITY_GUI_REQUEST(15, new GT_Packet_GtTileEntityGuiRequest()),
+ SEND_COVER_DATA(16, new GT_Packet_SendCoverData()),
+ REQUEST_COVER_DATA(17, new GT_Packet_RequestCoverData()),
+ MULTI_TILE_ENTITY(18, new GT_Packet_MultiTileEntity(true)),
+ SEND_OREGEN_PATTERN(19, new GT_Packet_SendOregenPattern()),
+ TOOL_SWITCH_MODE(20, new GT_Packet_ToolSwitchMode()),
+ // merge conflict prevention comment, keep a trailing comma above
+ ;
+
+ static {
+ // Validate no duplicate IDs
+ final GT_PacketTypes[] types = values();
+ final Int2ObjectOpenHashMap<GT_Packet_New> foundIds = new Int2ObjectOpenHashMap<>(types.length);
+ for (GT_PacketTypes type : types) {
+ final GT_Packet_New previous = foundIds.get(type.id);
+ if (previous != null) {
+ throw new IllegalStateException(
+ "Duplicate packet IDs defined: " + type.id
+ + " for "
+ + type.getClass()
+ + " and "
+ + previous.getClass());
+ }
+ foundIds.put(type.id, type.referencePacket);
+ }
+ }
+
+ public final byte id;
+ public final GT_Packet_New referencePacket;
+
+ GT_PacketTypes(int id, GT_Packet_New referencePacket) {
+ if (((int) (byte) id) != id) {
+ throw new IllegalArgumentException("Value outside of byte normal range: " + id);
+ }
+ this.id = (byte) id;
+ this.referencePacket = referencePacket;
+ }
+
+ public static GT_Packet_New[] referencePackets() {
+ return Arrays.stream(values())
+ .map(p -> p.referencePacket)
+ .toArray(GT_Packet_New[]::new);
+ }
+}
diff --git a/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java b/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java
index 98dc8a5c4f..9adf583698 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_Block_Event.java
@@ -58,6 +58,6 @@ public class GT_Packet_Block_Event extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 2;
+ return GT_PacketTypes.BLOCK_EVENT.id;
}
}
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 0835676c6f..a5fd8a2e08 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_ClientPreference.java
@@ -27,7 +27,7 @@ public class GT_Packet_ClientPreference extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 9;
+ return GT_PacketTypes.CLIENT_PREFERENCE.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java b/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java
index dc2f88316d..8fe680e96b 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java
@@ -81,7 +81,7 @@ public class GT_Packet_GtTileEntityGuiRequest extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 15;
+ return GT_PacketTypes.TILE_ENTITY_GUI_REQUEST.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java b/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java
index 096f21df29..33cb4f2dcf 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java
@@ -237,7 +237,7 @@ public class GT_Packet_MultiTileEntity extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 18;
+ return GT_PacketTypes.MULTI_TILE_ENTITY.id;
}
public void clearData() {
diff --git a/src/main/java/gregtech/api/net/GT_Packet_Pollution.java b/src/main/java/gregtech/api/net/GT_Packet_Pollution.java
index c298af2db4..9b4a367dc4 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_Pollution.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_Pollution.java
@@ -42,6 +42,6 @@ public class GT_Packet_Pollution extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 4;
+ return GT_PacketTypes.POLLUTION.id;
}
}
diff --git a/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java b/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java
index 94ae86c2d9..bca97b69a5 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java
@@ -66,7 +66,7 @@ public class GT_Packet_RequestCoverData extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 17;
+ return GT_PacketTypes.REQUEST_COVER_DATA.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_SendCoverData.java b/src/main/java/gregtech/api/net/GT_Packet_SendCoverData.java
index 47f549b5b4..268aaab803 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_SendCoverData.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_SendCoverData.java
@@ -67,7 +67,7 @@ public class GT_Packet_SendCoverData extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 16;
+ return GT_PacketTypes.SEND_COVER_DATA.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_SendOregenPattern.java b/src/main/java/gregtech/api/net/GT_Packet_SendOregenPattern.java
index d03fd1d7f0..8213ee9c71 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_SendOregenPattern.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_SendOregenPattern.java
@@ -45,7 +45,7 @@ public class GT_Packet_SendOregenPattern extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 19;
+ return GT_PacketTypes.SEND_OREGEN_PATTERN.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java b/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java
index b2d9a59438..2bfdbca9d2 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_SetConfigurationCircuit.java
@@ -55,7 +55,7 @@ public class GT_Packet_SetConfigurationCircuit extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 12;
+ return GT_PacketTypes.SET_CONFIGURATION_CIRCUIT.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_Sound.java b/src/main/java/gregtech/api/net/GT_Packet_Sound.java
index fdaf5b3979..04d7f8ac72 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_Sound.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_Sound.java
@@ -65,6 +65,6 @@ public class GT_Packet_Sound extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 1;
+ return GT_PacketTypes.SOUND.id;
}
}
diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java
index 29562e9b4d..b07277dc00 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java
@@ -152,6 +152,6 @@ public class GT_Packet_TileEntity extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 0;
+ return GT_PacketTypes.TILE_ENTITY.id;
}
}
diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCover.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCover.java
index d3642b62e8..4b4ef5d50d 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCover.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCover.java
@@ -57,7 +57,7 @@ public class GT_Packet_TileEntityCover extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 6;
+ return GT_PacketTypes.COVER.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java
index 1b61f87541..95b1bbac99 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java
@@ -151,7 +151,7 @@ public class GT_Packet_TileEntityCoverGUI extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 7;
+ return GT_PacketTypes.COVER_GUI.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverNew.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverNew.java
index 8fd7348b24..5ba0c3ea64 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverNew.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverNew.java
@@ -66,7 +66,7 @@ public class GT_Packet_TileEntityCoverNew extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 11;
+ return GT_PacketTypes.COVER_NEW.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_ToolSwitchMode.java b/src/main/java/gregtech/api/net/GT_Packet_ToolSwitchMode.java
index 63c1953814..c7984d7434 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_ToolSwitchMode.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_ToolSwitchMode.java
@@ -21,7 +21,7 @@ public class GT_Packet_ToolSwitchMode extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 20;
+ return GT_PacketTypes.TOOL_SWITCH_MODE.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_UpdateItem.java b/src/main/java/gregtech/api/net/GT_Packet_UpdateItem.java
index e8ec9be80b..1b8a453234 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_UpdateItem.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_UpdateItem.java
@@ -33,7 +33,7 @@ public class GT_Packet_UpdateItem extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 13;
+ return GT_PacketTypes.UPDATE_ITEM.id;
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java b/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java
index 08628ace2b..1426a3954c 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_WirelessRedstoneCover.java
@@ -45,7 +45,7 @@ public class GT_Packet_WirelessRedstoneCover extends GT_Packet_TileEntityCover {
@Override
public byte getPacketID() {
- return 10;
+ return GT_PacketTypes.WIRELESS_REDSTONE_COVER.id;
}
@Override
diff --git a/src/main/java/gregtech/common/GT_Network.java b/src/main/java/gregtech/common/GT_Network.java
index 37c7f7df57..95385c92ea 100644
--- a/src/main/java/gregtech/common/GT_Network.java
+++ b/src/main/java/gregtech/common/GT_Network.java
@@ -20,26 +20,9 @@ import cpw.mods.fml.common.network.internal.FMLProxyPacket;
import cpw.mods.fml.relauncher.Side;
import gregtech.api.enums.GT_Values;
import gregtech.api.net.GT_Packet;
-import gregtech.api.net.GT_Packet_Block_Event;
-import gregtech.api.net.GT_Packet_ClientPreference;
-import gregtech.api.net.GT_Packet_GtTileEntityGuiRequest;
-import gregtech.api.net.GT_Packet_MultiTileEntity;
-import gregtech.api.net.GT_Packet_Pollution;
-import gregtech.api.net.GT_Packet_RequestCoverData;
-import gregtech.api.net.GT_Packet_SendCoverData;
-import gregtech.api.net.GT_Packet_SendOregenPattern;
-import gregtech.api.net.GT_Packet_SetConfigurationCircuit;
-import gregtech.api.net.GT_Packet_Sound;
-import gregtech.api.net.GT_Packet_TileEntity;
-import gregtech.api.net.GT_Packet_TileEntityCover;
-import gregtech.api.net.GT_Packet_TileEntityCoverGUI;
-import gregtech.api.net.GT_Packet_TileEntityCoverNew;
-import gregtech.api.net.GT_Packet_ToolSwitchMode;
-import gregtech.api.net.GT_Packet_UpdateItem;
-import gregtech.api.net.GT_Packet_WirelessRedstoneCover;
+import gregtech.api.net.GT_PacketTypes;
+import gregtech.api.net.GT_Packet_New;
import gregtech.api.net.IGT_NetworkHandler;
-import gregtech.common.blocks.GT_Packet_Ores;
-import gregtech.common.net.MessageSetFlaskCapacity;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandler;
@@ -55,33 +38,10 @@ public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
private final GT_Packet[] mSubChannels;
public GT_Network() {
- this(
- "GregTech",
- new GT_Packet_TileEntity(), // 0
- new GT_Packet_Sound(), // 1
- new GT_Packet_Block_Event(), // 2
- new GT_Packet_Ores(), // 3
- new GT_Packet_Pollution(), // 4
- new MessageSetFlaskCapacity(), // 5
- new GT_Packet_TileEntityCover(), // 6
- new GT_Packet_TileEntityCoverGUI(), // 7
- // 8
- new GT_Packet_ClientPreference(), // 9
- new GT_Packet_WirelessRedstoneCover(), // 10
- new GT_Packet_TileEntityCoverNew(), // 11
- new GT_Packet_SetConfigurationCircuit(), // 12
- new GT_Packet_UpdateItem(), // 13
- // 14
- new GT_Packet_GtTileEntityGuiRequest(), // 15
- new GT_Packet_SendCoverData(), // 16
- new GT_Packet_RequestCoverData(), // 17
- new GT_Packet_MultiTileEntity(true), // 18
- new GT_Packet_SendOregenPattern(), // 19
- new GT_Packet_ToolSwitchMode() // 20
- );
+ this("GregTech", GT_PacketTypes.referencePackets());
}
- public GT_Network(String channelName, GT_Packet... packetTypes) {
+ public GT_Network(String channelName, GT_Packet_New... packetTypes) {
this.mChannel = NetworkRegistry.INSTANCE.newChannel(channelName, this, new HandlerShared());
final int lastPId = packetTypes[packetTypes.length - 1].getPacketID();
this.mSubChannels = new GT_Packet[lastPId + 1];
diff --git a/src/main/java/gregtech/common/blocks/GT_Packet_Ores.java b/src/main/java/gregtech/common/blocks/GT_Packet_Ores.java
index d7ab28a19e..a65ac47c44 100644
--- a/src/main/java/gregtech/common/blocks/GT_Packet_Ores.java
+++ b/src/main/java/gregtech/common/blocks/GT_Packet_Ores.java
@@ -6,6 +6,7 @@ import net.minecraft.world.World;
import com.google.common.io.ByteArrayDataInput;
+import gregtech.api.net.GT_PacketTypes;
import gregtech.api.net.GT_Packet_New;
import io.netty.buffer.ByteBuf;
@@ -56,6 +57,6 @@ public class GT_Packet_Ores extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 3;
+ return GT_PacketTypes.ORES.id;
}
}
diff --git a/src/main/java/gregtech/common/net/MessageSetFlaskCapacity.java b/src/main/java/gregtech/common/net/MessageSetFlaskCapacity.java
index 6c51663c47..15e5481224 100644
--- a/src/main/java/gregtech/common/net/MessageSetFlaskCapacity.java
+++ b/src/main/java/gregtech/common/net/MessageSetFlaskCapacity.java
@@ -9,6 +9,7 @@ import net.minecraftforge.common.DimensionManager;
import com.google.common.io.ByteArrayDataInput;
+import gregtech.api.net.GT_PacketTypes;
import gregtech.api.net.GT_Packet_New;
import gregtech.common.items.GT_VolumetricFlask;
import io.netty.buffer.ByteBuf;
@@ -38,7 +39,7 @@ public final class MessageSetFlaskCapacity extends GT_Packet_New {
@Override
public byte getPacketID() {
- return 5;
+ return GT_PacketTypes.SET_FLASK_CAPACITY.id;
}
@Override