From f4a8ecd21c70b8c3bb9a9f675ea562f1aa80e1ab Mon Sep 17 00:00:00 2001 From: PretzelJohn <58197328+PretzelJohn@users.noreply.github.com> Date: Sat, 22 Jan 2022 05:05:06 -0500 Subject: [PATCH] Version 1.5.1: * Fixed an NBT error and missing items when config.yml had uppercase material names To-do: * Add enchantments, data, etc. to ingredients and result * Add config editor GUI in-game --- .../dev/villagertradelimiter/listeners/PlayerListener.java | 2 +- .../pretzel/dev/villagertradelimiter/settings/Settings.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java b/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java index 3c1df16..f775247 100644 --- a/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java +++ b/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java @@ -234,7 +234,7 @@ public class PlayerListener implements Listener { */ private void setIngredient(final ConfigurationSection item, final IngredientWrapper ingredient) { if(item == null) return; - ingredient.setMaterialId("minecraft:"+item.getString("Material", ingredient.getMaterialId()).replace("minecraft:","")); + ingredient.setMaterialId("minecraft:"+item.getString("Material", ingredient.getMaterialId()).toLowerCase().replace("minecraft:","")); ingredient.setAmount(item.getInt("Amount", ingredient.getAmount())); } } diff --git a/src/com/pretzel/dev/villagertradelimiter/settings/Settings.java b/src/com/pretzel/dev/villagertradelimiter/settings/Settings.java index 3072205..c9b4e0b 100644 --- a/src/com/pretzel/dev/villagertradelimiter/settings/Settings.java +++ b/src/com/pretzel/dev/villagertradelimiter/settings/Settings.java @@ -168,6 +168,9 @@ public class Settings { * @return True if a recipe matches an override section, false otherwise */ private boolean verify(final ItemStack buy, final ItemStack sell, final Material material) { + if(buy == null && sell == null) return false; + if(buy == null) return sell.getType() == material; + if(sell == null) return buy.getType() == material; return ((buy.getType() == material) || (sell.getType() == material)); } }