diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/EnhancedFurnaceListener.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/EnhancedFurnaceListener.java index 53aab98bc..030e2fa83 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/EnhancedFurnaceListener.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/EnhancedFurnaceListener.java @@ -18,6 +18,7 @@ import org.bukkit.inventory.ItemStack; import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion; import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin; import io.github.thebusybiscuit.slimefun4.implementation.items.blocks.EnhancedFurnace; +import io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag; import io.papermc.lib.PaperLib; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; import me.mrCookieSlime.Slimefun.api.BlockStorage; @@ -68,10 +69,11 @@ public class EnhancedFurnaceListener implements Listener { if (state instanceof Furnace) { FurnaceInventory inventory = ((Furnace) state).getInventory(); + Material smelting = inventory.getSmelting().getType(); + boolean multiplier = SlimefunTag.ORES.isTagged(smelting); - boolean multiplier = inventory.getSmelting().getType().toString().endsWith("_ORE"); // In 1.17, the raw ores should benefit from luck multiplier - if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_17) && inventory.getSmelting().getType().toString().startsWith("RAW_")) { + if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_17) && SlimefunTag.RAW_METALS.isTagged(smelting)) { multiplier = true; } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java index ccd1106e5..aaa5ca28c 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/SlimefunTag.java @@ -64,6 +64,11 @@ public enum SlimefunTag implements Tag { */ NETHER_ORES, + /** + * All raw metals in 1.17+ + */ + RAW_METALS, + /** * All Shulker boxes, normal and colored. */ diff --git a/src/main/resources/tags/raw_metals.json b/src/main/resources/tags/raw_metals.json new file mode 100644 index 000000000..bfda371df --- /dev/null +++ b/src/main/resources/tags/raw_metals.json @@ -0,0 +1,16 @@ +{ + "values" : [ + { + "id" : "minecraft:raw_iron", + "required" : false + }, + { + "id" : "minecraft:raw_gold", + "required" : false + }, + { + "id" : "minecraft:raw_copper", + "required" : false + } + ] +}