Skip to content

Commit

Permalink
track inventorytag valueof context better
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Mar 22, 2020
1 parent c5d7f8c commit 49aa095
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 14 deletions.
Expand Up @@ -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);
Expand Down
Expand Up @@ -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;
Expand All @@ -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) {
Expand All @@ -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);
Expand All @@ -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;
Expand Down

0 comments on commit 49aa095

Please sign in to comment.