From 0b44e1293e7d983671b57338624b19c57f8dc67b Mon Sep 17 00:00:00 2001 From: Mari023 <38946771+Mari023@users.noreply.github.com> Date: Sat, 25 May 2024 15:06:32 +0200 Subject: [PATCH] reduce usage of WTDefinition#of(String) --- .../recipeviewer/AE2wtlibEmiPlugin.java | 4 ++-- .../ae2wtlib/recipeviewer/JEIPlugin.java | 4 ++-- .../ae2wtlib/recipeviewer/REIPlugin.java | 4 ++-- .../ae2wtlib/wct/CraftingTerminalHandler.java | 6 +++--- .../de/mari_023/ae2wtlib/wut/WTDefinition.java | 17 ++++++----------- .../de/mari_023/ae2wtlib/wut/WTDefinitions.java | 10 ++++++++++ 6 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 src/main/java/de/mari_023/ae2wtlib/wut/WTDefinitions.java diff --git a/src/main/java/de/mari_023/ae2wtlib/recipeviewer/AE2wtlibEmiPlugin.java b/src/main/java/de/mari_023/ae2wtlib/recipeviewer/AE2wtlibEmiPlugin.java index c99258d1..dbdc0a67 100644 --- a/src/main/java/de/mari_023/ae2wtlib/recipeviewer/AE2wtlibEmiPlugin.java +++ b/src/main/java/de/mari_023/ae2wtlib/recipeviewer/AE2wtlibEmiPlugin.java @@ -11,7 +11,7 @@ import de.mari_023.ae2wtlib.wct.WCTMenu; import de.mari_023.ae2wtlib.wet.WETMenu; -import de.mari_023.ae2wtlib.wut.WTDefinition; +import de.mari_023.ae2wtlib.wut.WTDefinitions; @EmiEntrypoint public class AE2wtlibEmiPlugin implements EmiPlugin { @@ -22,6 +22,6 @@ public void register(EmiRegistry registry) { registry.addRecipeHandler(WCTMenu.TYPE, new EmiUseCraftingRecipeHandler<>(WCTMenu.class)); registry.addWorkstation(VanillaEmiRecipeCategories.CRAFTING, - EmiStack.of(WTDefinition.of("crafting").universalTerminal())); + EmiStack.of(WTDefinitions.CRAFTING.universalTerminal())); } } diff --git a/src/main/java/de/mari_023/ae2wtlib/recipeviewer/JEIPlugin.java b/src/main/java/de/mari_023/ae2wtlib/recipeviewer/JEIPlugin.java index 164ee49a..82070867 100644 --- a/src/main/java/de/mari_023/ae2wtlib/recipeviewer/JEIPlugin.java +++ b/src/main/java/de/mari_023/ae2wtlib/recipeviewer/JEIPlugin.java @@ -9,7 +9,7 @@ import mezz.jei.api.registration.IRecipeTransferRegistration; import de.mari_023.ae2wtlib.AE2wtlib; -import de.mari_023.ae2wtlib.wut.WTDefinition; +import de.mari_023.ae2wtlib.wut.WTDefinitions; @JeiPlugin public class JEIPlugin implements IModPlugin { @@ -27,7 +27,7 @@ public void registerRecipeTransferHandlers(IRecipeTransferRegistration registrat @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registry) { - registry.addRecipeCatalyst(WTDefinition.of("crafting").universalTerminal(), + registry.addRecipeCatalyst(WTDefinitions.CRAFTING.universalTerminal(), RecipeTypes.CRAFTING); } } diff --git a/src/main/java/de/mari_023/ae2wtlib/recipeviewer/REIPlugin.java b/src/main/java/de/mari_023/ae2wtlib/recipeviewer/REIPlugin.java index 8949728a..a07b6ebb 100644 --- a/src/main/java/de/mari_023/ae2wtlib/recipeviewer/REIPlugin.java +++ b/src/main/java/de/mari_023/ae2wtlib/recipeviewer/REIPlugin.java @@ -7,7 +7,7 @@ import me.shedaniel.rei.plugin.common.BuiltinPlugin; import de.mari_023.ae2wtlib.AE2wtlib; -import de.mari_023.ae2wtlib.wut.WTDefinition; +import de.mari_023.ae2wtlib.wut.WTDefinitions; @REIPluginClient public class REIPlugin implements REIClientPlugin { @@ -19,6 +19,6 @@ public String getPluginProviderName() { @Override public void registerCategories(CategoryRegistry registry) { registry.addWorkstations(BuiltinPlugin.CRAFTING, - EntryStacks.of(WTDefinition.of("crafting").universalTerminal())); + EntryStacks.of(WTDefinitions.CRAFTING.universalTerminal())); } } diff --git a/src/main/java/de/mari_023/ae2wtlib/wct/CraftingTerminalHandler.java b/src/main/java/de/mari_023/ae2wtlib/wct/CraftingTerminalHandler.java index d2755ba9..6a7a44bf 100644 --- a/src/main/java/de/mari_023/ae2wtlib/wct/CraftingTerminalHandler.java +++ b/src/main/java/de/mari_023/ae2wtlib/wct/CraftingTerminalHandler.java @@ -17,7 +17,7 @@ import de.mari_023.ae2wtlib.terminal.WTMenuHost; import de.mari_023.ae2wtlib.wct.magnet_card.MagnetHost; -import de.mari_023.ae2wtlib.wut.WTDefinition; +import de.mari_023.ae2wtlib.wut.WTDefinitions; import de.mari_023.ae2wtlib.wut.WUTHandler; public class CraftingTerminalHandler { @@ -96,10 +96,10 @@ private WTMenuHost getMenuHost() { @Nullable public ItemMenuHostLocator getLocator() { - if (locator != null && WUTHandler.hasTerminal(locator.locateItem(player), WTDefinition.of("crafting"))) + if (locator != null && WUTHandler.hasTerminal(locator.locateItem(player), WTDefinitions.CRAFTING)) return locator; boolean locatorWasNotNull = locator != null; - locator = WUTHandler.findTerminal(player, WTDefinition.of("crafting")); + locator = WUTHandler.findTerminal(player, WTDefinitions.CRAFTING); if (locator == null) { invalidateCache(); diff --git a/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinition.java b/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinition.java index 10459816..c2c35a19 100644 --- a/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinition.java +++ b/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinition.java @@ -40,8 +40,11 @@ WTMenuHost create(ItemWT item, Player player, ItemMenuHostLocator locator, BiConsumer returnToMainMenu); } + private static final Map wirelessTerminals = new HashMap<>(); + static final List wirelessTerminalList = new ArrayList<>(); + public static final Codec CODEC = Codec.STRING.comapFlatMap(s -> { - var terminal = ofOrNull(s); + var terminal = wirelessTerminals.get(s); if (terminal == null) return DataResult.error(() -> "WTDefinition " + s + " does not exist"); return DataResult.success(terminal); @@ -49,9 +52,6 @@ WTMenuHost create(ItemWT item, Player player, ItemMenuHostLocator locator, public static final StreamCodec STREAM_CODEC = ByteBufCodecs.STRING_UTF8 .map(WTDefinition::of, WTDefinition::terminalName); - private static final Map wirelessTerminals = new HashMap<>(); - static final List wirelessTerminalList = new ArrayList<>(); - static void add(String terminalName, WTDefinition definition) { wirelessTerminals.put(terminalName, definition); wirelessTerminalList.add(definition); @@ -65,13 +65,8 @@ public static Collection wirelessTerminals() { return wirelessTerminals.values(); } - public static WTDefinition of(String name) { - return Objects.requireNonNull(ofOrNull(name)); - } - - @Nullable - public static WTDefinition ofOrNull(String name) { - return wirelessTerminals.get(name); + static WTDefinition of(String name) { + return Objects.requireNonNull(wirelessTerminals.get(name)); } public static WTDefinition of(ItemStack stack) { diff --git a/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinitions.java b/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinitions.java new file mode 100644 index 00000000..12bc872d --- /dev/null +++ b/src/main/java/de/mari_023/ae2wtlib/wut/WTDefinitions.java @@ -0,0 +1,10 @@ +package de.mari_023.ae2wtlib.wut; + +public class WTDefinitions { + private WTDefinitions() { + } + + public static WTDefinition CRAFTING = WTDefinition.of("crafting"); + public static WTDefinition PATTERN_ENCODING = WTDefinition.of("pattern_encoding"); + public static WTDefinition PATTERN_ACCESS = WTDefinition.of("pattern_access"); +}