From 45464da22a6be0d2172a890799051f6c0c2e864d Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Mon, 14 Jul 2025 17:03:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../item/recipe/BukkitRecipeManager.java | 5 ++-- .../bukkit/item/recipe/PredicateChoice.java | 29 ------------------- 2 files changed, 3 insertions(+), 31 deletions(-) delete mode 100644 bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/PredicateChoice.java diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java index 6058717f7..975c2a42d 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java @@ -371,13 +371,14 @@ public class BukkitRecipeManager extends AbstractRecipeManager { @Override protected void registerPlatformRecipe(Key id, Recipe recipe) { if (recipe instanceof CustomBrewingRecipe brewingRecipe) { + if (!VersionHelper.isOrAbove1_20_2()) return; PotionMix potionMix = new PotionMix(new NamespacedKey(id.namespace(), id.value()), brewingRecipe.result(ItemBuildContext.EMPTY), - new PredicateChoice(container -> { + PotionMix.createPredicateChoice(container -> { Item wrapped = this.plugin.itemManager().wrap(container); return brewingRecipe.container().test(new UniqueIdItem<>(wrapped.recipeIngredientId(), wrapped)); }), - new PredicateChoice(ingredient -> { + PotionMix.createPredicateChoice(ingredient -> { Item wrapped = this.plugin.itemManager().wrap(ingredient); return brewingRecipe.ingredient().test(new UniqueIdItem<>(wrapped.recipeIngredientId(), wrapped)); }) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/PredicateChoice.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/PredicateChoice.java deleted file mode 100644 index f2cfa6c20..000000000 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/PredicateChoice.java +++ /dev/null @@ -1,29 +0,0 @@ -package net.momirealms.craftengine.bukkit.item.recipe; - -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.RecipeChoice; -import org.jetbrains.annotations.NotNull; - -import java.util.function.Predicate; - -public record PredicateChoice(Predicate predicate) implements RecipeChoice { - - @Override - public @NotNull RecipeChoice clone() { - try { - return (PredicateChoice) super.clone(); - } catch (final CloneNotSupportedException ex) { - throw new AssertionError(ex); - } - } - - @Override - public @NotNull ItemStack getItemStack() { - throw new UnsupportedOperationException("PredicateChoice doesn't support getItemStack()"); - } - - @Override - public boolean test(@NotNull ItemStack itemStack) { - return this.predicate.test(itemStack); - } -}