diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/CustomRecipeConfigGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/CustomRecipeConfigGui.java index ba094126..aafb87f8 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/CustomRecipeConfigGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/global/CustomRecipeConfigGui.java @@ -1,6 +1,7 @@ package xyz.alexcrea.cuanvil.gui.config.global; import com.github.stefvanschie.inventoryframework.gui.GuiItem; +import com.github.stefvanschie.inventoryframework.gui.type.util.Gui; import org.bukkit.Material; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; @@ -40,6 +41,10 @@ public class CustomRecipeConfigGui extends MappedGuiListConfigGui @@ -107,7 +109,7 @@ public class ItemConfigGui extends ChestGui { return enchantConflictGui; } - private GroupConfigGui getGroupConfigGui(NamespacedKey material) { + private GroupConfigGui getGroupConfigGui(@NotNull NamespacedKey material) { if (groupConfigGui == null) { groupConfigGui = new GroupConfigGui(this); groupConfigGui.setFilter(group -> @@ -119,7 +121,7 @@ public class ItemConfigGui extends ChestGui { return groupConfigGui; } - private UnitRepairConfigGui getUnitRepairConfigGui(NamespacedKey material) { + private UnitRepairConfigGui getUnitRepairConfigGui(@NotNull NamespacedKey material) { if (unitRepairConfigGui == null) { unitRepairConfigGui = new UnitRepairConfigGui(this); unitRepairConfigGui.setFilter(otherMat -> @@ -132,4 +134,25 @@ public class ItemConfigGui extends ChestGui { return unitRepairConfigGui; } + private CustomRecipeConfigGui getCustomRecipeConfigGui(@NotNull NamespacedKey material) { + if (customRecipeConfigGui == null) { + customRecipeConfigGui = new CustomRecipeConfigGui(this); + customRecipeConfigGui.setFilter(recipe -> { + if(isMaterial(recipe.getLeftItem(), material)) return true; + if(isMaterial(recipe.getRightItem(), material)) return true; + return isMaterial(recipe.getResultItem(), material); + } + ); + customRecipeConfigGui.init(); + } + + return customRecipeConfigGui; + } + + private boolean isMaterial(@Nullable ItemStack item, @NotNull NamespacedKey material) { + if(item == null) return false; + + return material.equals(MaterialUtil.INSTANCE.getCustomType(item)); + } + }