diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesEnchantScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesEnchantScriptEvent.java index af97ebd94b..af4caeb5eb 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesEnchantScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPreparesEnchantScriptEvent.java @@ -77,6 +77,10 @@ public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) { } for (int i = 0; i < offers.size(); i++) { MapTag map = MapTag.getMapFor(offers.getObject(i), getTagContext(path)); + if (map.isEmpty()){ + event.getOffers()[i] = null; + continue; + } event.getOffers()[i].setCost(map.getElement("cost").asInt()); EnchantmentTag enchantment = map.getObjectAs("enchantment_type", EnchantmentTag.class, getTagContext(path)); if (enchantment == null) { @@ -108,6 +112,10 @@ public ObjectTag getContext(String name) { case "offers": ListTag output = new ListTag(); for (EnchantmentOffer offer : event.getOffers()) { + if (offer == null) { + output.addObject(new MapTag()); + continue; + } MapTag map = new MapTag(); map.putObject("cost", new ElementTag(offer.getCost())); map.putObject("enchantment", new ElementTag(offer.getEnchantment().getKey().getKey()));