aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/net
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 /src/main/java/gregtech/api/net
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)
Diffstat (limited to 'src/main/java/gregtech/api/net')
-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
18 files changed, 88 insertions, 17 deletions
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