From e3d7b0d5af6579caefe9766bf4926ede14e53d53 Mon Sep 17 00:00:00 2001 From: Christian Koop Date: Tue, 17 Oct 2023 17:25:12 +0200 Subject: [PATCH] refactor: `CompatibleMaterial#getFurnaceResult(XMaterial)` --- .../compatibility/CompatibleMaterial.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Compatibility/src/main/java/com/craftaro/core/compatibility/CompatibleMaterial.java b/Compatibility/src/main/java/com/craftaro/core/compatibility/CompatibleMaterial.java index 3382f5d9..fd13bde0 100644 --- a/Compatibility/src/main/java/com/craftaro/core/compatibility/CompatibleMaterial.java +++ b/Compatibility/src/main/java/com/craftaro/core/compatibility/CompatibleMaterial.java @@ -16,6 +16,8 @@ import java.util.Map; import java.util.Optional; public class CompatibleMaterial { + private static final Map FURNACE_RESULT_CACHE = new HashMap<>(); + public static Optional getMaterial(@NotNull Material material) { return getMaterial(material.name()); } @@ -326,23 +328,22 @@ public class CompatibleMaterial { } } - private static final Map RECIPE_CACHE = new HashMap<>(); - public static @Nullable ItemStack getFurnaceResult(XMaterial material) { - if (RECIPE_CACHE.containsKey(material)) { - return RECIPE_CACHE.get(material); + if (FURNACE_RESULT_CACHE.containsKey(material)) { + return FURNACE_RESULT_CACHE.get(material); } Iterator recipes = Bukkit.recipeIterator(); - while(recipes.hasNext()) { - Recipe recipe = (Recipe)recipes.next(); - if (recipe instanceof FurnaceRecipe) { - FurnaceRecipe furnaceRecipe = (FurnaceRecipe)recipe; - if (material.isSimilar(furnaceRecipe.getInput())) { - RECIPE_CACHE.put(material, furnaceRecipe.getResult()); - return furnaceRecipe.getResult(); - } + while (recipes.hasNext()) { + Recipe recipe = recipes.next(); + if (!(recipe instanceof FurnaceRecipe)) { + continue; + } + + if (material.isSimilar(((FurnaceRecipe) recipe).getInput())) { + FURNACE_RESULT_CACHE.put(material, recipe.getResult()); + return recipe.getResult(); } }