diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java index d173486983..d88eeb2bd9 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java @@ -52,7 +52,7 @@ public boolean couldMatch(ScriptPath path) { @Override public boolean matches(ScriptPath path) { String loc = path.eventArgLowerAt(3); - if (!loc.equals("notable") && !loc.equals(notable)) { + if (!loc.equals("notable") && !equalityCheck(notable, loc, regexHandle(loc))) { return false; } return super.matches(path); diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java index d7e8aac8d0..db00cecb38 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java @@ -273,21 +273,16 @@ public void forget() { // OBJECT FETCHER //////////////// - @Fetchable("in") - public static InventoryTag valueOf(String string, TagContext context) { - if (context == null) { - return valueOf(string, null, null); - } - else { - return valueOf(string, ((BukkitTagContext) context).player, ((BukkitTagContext) context).npc, !context.debug); - } + public static InventoryTag valueOf(String string, PlayerTag player, NPCTag npc, boolean silent) { + return valueOf(string, new BukkitTagContext(player, npc, null, !silent, null)); } public static InventoryTag valueOf(String string, PlayerTag player, NPCTag npc) { return valueOf(string, player, npc, false); } - public static InventoryTag valueOf(String string, PlayerTag player, NPCTag npc, boolean silent) { + @Fetchable("in") + public static InventoryTag valueOf(String string, TagContext context) { if (string == null) { return null; @@ -296,8 +291,7 @@ public static InventoryTag valueOf(String string, PlayerTag player, NPCTag npc, /////// // Handle objects with properties through the object fetcher if (ObjectFetcher.isObjectWithProperties(string)) { - InventoryTag result = ObjectFetcher.getObjectFrom(InventoryTag.class, string, - new BukkitTagContext(player, npc, null, false, null)); + InventoryTag result = ObjectFetcher.getObjectFrom(InventoryTag.class, string, context); if (result != null && result.uniquifier != null) { InventoryTag fixedResult = InventoryTrackerSystem.idTrackedInventories.get(result.uniquifier); if (fixedResult != null) { @@ -314,7 +308,8 @@ public static InventoryTag valueOf(String string, PlayerTag player, NPCTag npc, } if (ScriptRegistry.containsScript(string, InventoryScriptContainer.class)) { - return ScriptRegistry.getScriptContainerAs(string, InventoryScriptContainer.class).getInventoryFrom(player, npc); + return ScriptRegistry.getScriptContainerAs(string, InventoryScriptContainer.class).getInventoryFrom( + context == null ? null : ((BukkitTagContext) context).player, context == null ? null : ((BukkitTagContext) context).npc); } Notable noted = NotableManager.getSavedObject(string); @@ -330,7 +325,7 @@ public static InventoryTag valueOf(String string, PlayerTag player, NPCTag npc, } } - if (!silent) { + if (context == null || context.debug) { Debug.echoError("Value of InventoryTag returning null. Invalid InventoryTag specified: " + string); } return null;