From dfd6d372cd54a935cad7fb02dafd0bf12925750a Mon Sep 17 00:00:00 2001 From: ybw0014 Date: Mon, 2 Aug 2021 12:20:13 +0800 Subject: [PATCH] use slimefun tag --- .../listeners/EnhancedFurnaceListener.java | 6 ++++-- .../slimefun4/utils/tags/SlimefunTag.java | 5 +++++ src/main/resources/tags/raw_metals.json | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/tags/raw_metals.json 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 + } + ] +}