diff --git a/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/ModifiedTestableItem.java b/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/ModifiedTestableItem.java index ef237cb8..c4cbb48c 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/ModifiedTestableItem.java +++ b/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/ModifiedTestableItem.java @@ -17,6 +17,7 @@ public class ModifiedTestableItem implements TestableItem { /** * The item. */ + @Getter private final TestableItem handle; /** diff --git a/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java b/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java index 9a1509fe..79d3baf0 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java +++ b/eco-api/src/main/java/com/willfp/eco/core/recipe/parts/TestableStack.java @@ -19,6 +19,7 @@ public class TestableStack implements TestableItem { /** * The item. */ + @Getter private final TestableItem handle; /** diff --git a/eco-core/core-plugin/src/main/java/com/willfp/eco/spigot/recipes/ShapedRecipeListener.java b/eco-core/core-plugin/src/main/java/com/willfp/eco/spigot/recipes/ShapedRecipeListener.java index c89dd7cb..4ce82a03 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/eco/spigot/recipes/ShapedRecipeListener.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/eco/spigot/recipes/ShapedRecipeListener.java @@ -6,6 +6,7 @@ import com.willfp.eco.core.items.Items; import com.willfp.eco.core.items.TestableItem; import com.willfp.eco.core.recipe.Recipes; import com.willfp.eco.core.recipe.parts.MaterialTestableItem; +import com.willfp.eco.core.recipe.parts.ModifiedTestableItem; import com.willfp.eco.core.recipe.parts.TestableStack; import com.willfp.eco.core.recipe.recipes.CraftingRecipe; import com.willfp.eco.core.recipe.recipes.ShapedCraftingRecipe; @@ -130,6 +131,22 @@ public class ShapedRecipeListener extends PluginDependent implements return; } } + if (part instanceof ModifiedTestableItem modified) { + if (modified.getHandle() instanceof MaterialTestableItem) { + if (Items.isCustomItem(itemStack)) { + event.getInventory().setResult(new ItemStack(Material.AIR)); + return; + } + } + } + if (part instanceof TestableStack modified) { + if (modified.getHandle() instanceof MaterialTestableItem) { + if (Items.isCustomItem(itemStack)) { + event.getInventory().setResult(new ItemStack(Material.AIR)); + return; + } + } + } } } @@ -156,6 +173,24 @@ public class ShapedRecipeListener extends PluginDependent implements return; } } + if (part instanceof ModifiedTestableItem modified) { + if (modified.getHandle() instanceof MaterialTestableItem) { + if (Items.isCustomItem(itemStack)) { + event.getInventory().setResult(new ItemStack(Material.AIR)); + event.setResult(Event.Result.DENY); + event.setCancelled(true); + return; + } + } + } + if (part instanceof TestableStack modified) { + if (modified.getHandle() instanceof MaterialTestableItem) { + if (Items.isCustomItem(itemStack)) { + event.getInventory().setResult(new ItemStack(Material.AIR)); + return; + } + } + } } } diff --git a/gradle.properties b/gradle.properties index d91aa660..d2697285 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version = 6.5.0 +version = 6.5.1 plugin-name = eco \ No newline at end of file