diff options
author | Raven Szewczyk <git@eigenraven.me> | 2024-08-04 22:42:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-04 22:42:41 +0100 |
commit | 88912be409e3ee6eb460726af03dc3e69dbdc1e7 (patch) | |
tree | afb35bcb44d423686097704b7b2d35bb05f80d94 /src/main/java/gregtech/api/net | |
parent | bab2cbe2d7300cf5f95f4608db44290d18a734f9 (diff) | |
download | GT5-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')
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 |