Skip to content

Commit

Permalink
Fix definition parsing in procedural items (#2468)
Browse files Browse the repository at this point in the history
  • Loading branch information
tal5 committed Apr 24, 2023
1 parent 32be8ce commit d320e2b
Showing 1 changed file with 8 additions and 5 deletions.
@@ -1,6 +1,5 @@
package com.denizenscript.denizen.scripts.containers.core;

import com.denizenscript.denizencore.utilities.debugging.Debug;
import com.denizenscript.denizen.objects.InventoryTag;
import com.denizenscript.denizen.objects.ItemTag;
import com.denizenscript.denizencore.objects.ArgumentHelper;
Expand All @@ -13,6 +12,7 @@
import com.denizenscript.denizencore.tags.TagManager;
import com.denizenscript.denizencore.utilities.CoreUtilities;
import com.denizenscript.denizencore.utilities.YamlConfiguration;
import com.denizenscript.denizencore.utilities.debugging.Debug;
import com.denizenscript.denizencore.utilities.text.StringHolder;
import org.bukkit.Material;
import org.bukkit.event.inventory.InventoryType;
Expand Down Expand Up @@ -254,10 +254,13 @@ else if (InventoryScriptHelper.isPersonalSpecialInv(type)) {
InstantQueue queue = new InstantQueue(getName());
queue.addEntries(entries);
if (contains("definitions", Map.class)) {
YamlConfiguration section = getConfigurationSection("definitions");
for (StringHolder string : section.getKeys(false)) {
String definition = string.str;
queue.addDefinition(definition, section.getString(definition));
for (Map.Entry<StringHolder, Object> entry : getConfigurationSection("definitions").getMap().entrySet()) {
ItemTag definitionValue = ItemTag.valueOf(TagManager.tag(entry.getValue().toString(), context), context);
if (definitionValue == null) {
Debug.echoError(this, "Invalid item '" + entry.getValue() + "' for definition '" + entry.getKey().str + "'");
continue;
}
queue.addDefinition(entry.getKey().low, definitionValue);
}
}
queue.procedural = true;
Expand Down

0 comments on commit d320e2b

Please sign in to comment.