From 23d2142084f6bcefa6b8e0cdfb053d487cf5c118 Mon Sep 17 00:00:00 2001 From: boubou19 Date: Mon, 10 Aug 2026 10:01:37 +0200 Subject: [PATCH] Cache enum `.values()` (#457) --- .../com/glodblock/github/client/UltraTerminalButtons.java | 4 ++-- .../github/common/item/ItemBaseWirelessTerminal.java | 2 +- .../github/common/item/ItemWirelessUltraTerminal.java | 2 +- .../com/glodblock/github/inventory/item/WirelessMagnet.java | 6 ++++-- .../com/glodblock/github/network/CPacketSwitchGuis.java | 2 +- .../java/com/glodblock/github/util/UltraTerminalModes.java | 5 ++++- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java b/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java index c16bb0fb..aee36784 100644 --- a/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java +++ b/src/main/java/com/glodblock/github/client/UltraTerminalButtons.java @@ -215,7 +215,7 @@ public class UltraTerminalButtons implements ICustomButtonDataObject { public void readData(NBTTagCompound tag) { this.reStock = tag.getBoolean(restockItems); this.magnetMode = WirelessMagnet.Mode.values()[tag.getInteger(modeKey)]; - this.terminalMode = UltraTerminalModes.values()[tag.getInteger(MODE)]; + this.terminalMode = UltraTerminalModes.VALUES[tag.getInteger(MODE)]; } @Override @@ -229,7 +229,7 @@ public class UltraTerminalButtons implements ICustomButtonDataObject { public void readByte(ByteBuf buf) { this.reStock = buf.readBoolean(); this.magnetMode = WirelessMagnet.Mode.values()[buf.readInt()]; - this.terminalMode = UltraTerminalModes.values()[buf.readInt()]; + this.terminalMode = UltraTerminalModes.VALUES[buf.readInt()]; ItemWirelessUltraTerminal.setMode(this.terminal, this.terminalMode); toggleMagnetButtonsVisibility(); diff --git a/src/main/java/com/glodblock/github/common/item/ItemBaseWirelessTerminal.java b/src/main/java/com/glodblock/github/common/item/ItemBaseWirelessTerminal.java index 3a17ab1b..cf9bfa51 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemBaseWirelessTerminal.java +++ b/src/main/java/com/glodblock/github/common/item/ItemBaseWirelessTerminal.java @@ -103,7 +103,7 @@ public class ItemBaseWirelessTerminal extends ToolWirelessTerminal implements II Item item = is.getItem(); if (item instanceof ItemWirelessUltraTerminal) { if (!is.hasTagCompound()) is.setTagCompound(new NBTTagCompound()); - return UltraTerminalModes.values()[is.getTagCompound().getInteger(MODE)]; + return UltraTerminalModes.VALUES[is.getTagCompound().getInteger(MODE)]; } else if (item instanceof ItemWirelessPatternTerminal) { return UltraTerminalModes.PATTERN; } else if (item instanceof ItemWirelessInterfaceTerminal) { diff --git a/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java b/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java index bb557b4a..cb8a5ce9 100644 --- a/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java +++ b/src/main/java/com/glodblock/github/common/item/ItemWirelessUltraTerminal.java @@ -194,7 +194,7 @@ public class ItemWirelessUltraTerminal extends ItemBaseWirelessTerminal public IGuiItemObject getGuiObject(ItemStack is, World world, EntityPlayer p, int x, int y, int z) { final IWirelessTermHandler wh = AEApi.instance().registries().wireless().getWirelessTerminalHandler(is); if (wh == null) return null; - return switch (y != Integer.MIN_VALUE ? UltraTerminalModes.values()[y] : getMode(is)) { + return switch (y != Integer.MIN_VALUE ? UltraTerminalModes.VALUES[y] : getMode(is)) { case CRAFTING -> new WirelessCraftingTerminalGuiObject(wh, is, p, world, x, y, z); case PATTERN, PATTERN_EX -> new WirelessPatternTerminalGuiObject(wh, is, p, world, x, y, z); case INTERFACE -> new WirelessInterfaceTerminalGuiObject(wh, is, x); diff --git a/src/main/java/com/glodblock/github/inventory/item/WirelessMagnet.java b/src/main/java/com/glodblock/github/inventory/item/WirelessMagnet.java index fbd64079..7c5300ca 100644 --- a/src/main/java/com/glodblock/github/inventory/item/WirelessMagnet.java +++ b/src/main/java/com/glodblock/github/inventory/item/WirelessMagnet.java @@ -29,7 +29,9 @@ public class WirelessMagnet { Off, Inv, - ME + ME; + + public static final Mode[] VALUES = values(); } public enum ListMode { @@ -138,7 +140,7 @@ public class WirelessMagnet { if (is != null && is.getItem() instanceof ItemWirelessUltraTerminal) { NBTTagCompound data = Platform.openNbtData(is); if (data.hasKey(modeKey)) { - return Mode.values()[data.getInteger(modeKey)]; + return Mode.VALUES[data.getInteger(modeKey)]; } setMode(is, Mode.Off); } diff --git a/src/main/java/com/glodblock/github/network/CPacketSwitchGuis.java b/src/main/java/com/glodblock/github/network/CPacketSwitchGuis.java index 6f428359..a2a56e02 100644 --- a/src/main/java/com/glodblock/github/network/CPacketSwitchGuis.java +++ b/src/main/java/com/glodblock/github/network/CPacketSwitchGuis.java @@ -54,7 +54,7 @@ public class CPacketSwitchGuis implements IMessage { @Override public void fromBytes(ByteBuf byteBuf) { final int ord = byteBuf.readInt(); - mode = ord != -1 ? UltraTerminalModes.values()[ord] : null; + mode = ord != -1 ? UltraTerminalModes.VALUES[ord] : null; switchTerminal = byteBuf.readBoolean(); } diff --git a/src/main/java/com/glodblock/github/util/UltraTerminalModes.java b/src/main/java/com/glodblock/github/util/UltraTerminalModes.java index d2581ed8..43a5cc29 100644 --- a/src/main/java/com/glodblock/github/util/UltraTerminalModes.java +++ b/src/main/java/com/glodblock/github/util/UltraTerminalModes.java @@ -1,9 +1,12 @@ package com.glodblock.github.util; public enum UltraTerminalModes { + CRAFTING, PATTERN, PATTERN_EX, INTERFACE, - LEVEL + LEVEL; + + public static final UltraTerminalModes[] VALUES = values(); }