From 1101815f183d3049bb399627fbb92828acf97cfb Mon Sep 17 00:00:00 2001 From: nossr50 Date: Fri, 28 Feb 2020 16:44:37 -0800 Subject: [PATCH] 1.16 Support part 2 --- .../com/gmail/nossr50/util/ItemUtils.java | 12 +++++++-- .../gmail/nossr50/util/MaterialMapStore.java | 26 +++++++++++++++++++ .../com/gmail/nossr50/util/MaterialUtils.java | 4 +++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/util/ItemUtils.java b/src/main/java/com/gmail/nossr50/util/ItemUtils.java index a635f3155..becd23cfc 100644 --- a/src/main/java/com/gmail/nossr50/util/ItemUtils.java +++ b/src/main/java/com/gmail/nossr50/util/ItemUtils.java @@ -266,7 +266,7 @@ public final class ItemUtils { * @return true if the item is armor, false otherwise */ public static boolean isMinecraftArmor(ItemStack item) { - return isLeatherArmor(item) || isGoldArmor(item) || isIronArmor(item) || isDiamondArmor(item) || isChainmailArmor(item); + return isLeatherArmor(item) || isGoldArmor(item) || isIronArmor(item) || isDiamondArmor(item) || isNetherriteTool(item) || isChainmailArmor(item); } /** @@ -345,6 +345,14 @@ public final class ItemUtils { } } + public static boolean isNetherriteArmor(ItemStack itemStack) { + return mcMMO.getMaterialMapStore().isNetherriteArmor(itemStack.getType()); + } + + public static boolean isNetherriteTool(ItemStack itemStack) { + return mcMMO.getMaterialMapStore().isNetherriteTool(itemStack.getType()); + } + /** * Checks to see if an item is a chainmail armor piece. * @@ -371,7 +379,7 @@ public final class ItemUtils { * @return true if the item is a tool, false otherwise */ public static boolean isMinecraftTool(ItemStack item) { - return isStoneTool(item) || isWoodTool(item) || isGoldTool(item) || isIronTool(item) || isDiamondTool(item) || isStringTool(item) || item.getType() == Material.TRIDENT; + return isStoneTool(item) || isWoodTool(item) || isGoldTool(item) || isIronTool(item) || isDiamondTool(item) || isNetherriteTool(item) || isStringTool(item) || item.getType() == Material.TRIDENT; } /** diff --git a/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java b/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java index ee9b39296..1dec55fa0 100644 --- a/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java +++ b/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java @@ -24,6 +24,8 @@ public class MaterialMapStore { private HashSet multiBlockPlant; private HashSet foodItemWhiteList; private HashSet glassBlocks; + private HashSet netherriteArmor; + private HashSet netherriteTools; public MaterialMapStore() { @@ -37,6 +39,8 @@ public class MaterialMapStore { multiBlockPlant = new HashSet<>(); foodItemWhiteList = new HashSet<>(); glassBlocks = new HashSet<>(); + netherriteArmor = new HashSet<>(); + netherriteTools = new HashSet<>(); fillHardcodedHashSets(); } @@ -93,6 +97,20 @@ public class MaterialMapStore { fillMultiBlockPlantSet(); fillFoodWhiteList(); fillGlassBlockWhiteList(); + fillNetherriteWhiteList(); + } + + private void fillNetherriteWhiteList() { + netherriteTools.add("netherrite_sword"); + netherriteTools.add("netherrite_axe"); + netherriteTools.add("netherrite_hoe"); + netherriteTools.add("netherrite_pickaxe"); + netherriteTools.add("netherrite_shovel"); + + netherriteArmor.add("netherrite_helmet"); + netherriteArmor.add("netherrite_chestplate"); + netherriteArmor.add("netherrite_leggings"); + netherriteArmor.add("netherrite_boots"); } private void fillGlassBlockWhiteList() { @@ -171,6 +189,14 @@ public class MaterialMapStore { foodItemWhiteList.add("tropical_fish"); } + public boolean isNetherriteArmor(Material material) { + return netherriteArmor.contains(material.getKey().getKey()); + } + + public boolean isNetherriteTool(Material material) { + return netherriteTools.contains(material.getKey().getKey()); + } + public boolean isGlass(Material material) { return glassBlocks.contains(material.getKey().getKey()); } diff --git a/src/main/java/com/gmail/nossr50/util/MaterialUtils.java b/src/main/java/com/gmail/nossr50/util/MaterialUtils.java index 8951a098a..0d7233222 100644 --- a/src/main/java/com/gmail/nossr50/util/MaterialUtils.java +++ b/src/main/java/com/gmail/nossr50/util/MaterialUtils.java @@ -7,6 +7,10 @@ public final class MaterialUtils { private MaterialUtils() {} protected static boolean isOre(Material data) { + //Netherrite Ore (Kind of) + if(data.getKey().getKey().equalsIgnoreCase("ancient_debris")) + return true; + switch (data) { case COAL_ORE: case DIAMOND_ORE: