Skip to content

Commit

Permalink
Allow player and NPC tags in inventory scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
Morphan1 committed Dec 30, 2014
1 parent c916b55 commit 0aea3f0
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
Expand Up @@ -38,15 +38,17 @@ else if (!scriptEntry.hasObject("origin")
&& arg.matchesPrefix("origin", "o", "source", "items", "item", "i", "from", "f")
&& (arg.matchesArgumentTypes(dInventory.class, dEntity.class, dLocation.class)
|| arg.matchesArgumentList(dItem.class))) {
scriptEntry.addObject("origin", Conversion.getInventory(arg));
BukkitScriptEntryData data = (BukkitScriptEntryData) scriptEntry.entryData;
scriptEntry.addObject("origin", Conversion.getInventory(arg, data.getPlayer(), data.getNPC()));
}

// Check for a destination, which can be a dInventory, dEntity
// or dLocation
else if (!scriptEntry.hasObject("destination")
&& arg.matchesPrefix("destination", "dest", "d", "target", "to", "t")
&& arg.matchesArgumentTypes(dInventory.class, dEntity.class, dLocation.class)) {
scriptEntry.addObject("destination", Conversion.getInventory(arg));
BukkitScriptEntryData data = (BukkitScriptEntryData) scriptEntry.entryData;
scriptEntry.addObject("destination", Conversion.getInventory(arg, data.getPlayer(), data.getNPC()));
}

// Check for specified slot number
Expand Down
11 changes: 3 additions & 8 deletions src/main/java/net/aufdemrand/denizen/utilities/Conversion.java
Expand Up @@ -3,13 +3,8 @@
import java.util.ArrayList;
import java.util.List;

import net.aufdemrand.denizen.objects.*;
import net.aufdemrand.denizen.objects.aH.Argument;
import net.aufdemrand.denizen.objects.dColor;
import net.aufdemrand.denizen.objects.dEntity;
import net.aufdemrand.denizen.objects.dInventory;
import net.aufdemrand.denizen.objects.dItem;
import net.aufdemrand.denizen.objects.dList;
import net.aufdemrand.denizen.objects.dLocation;

import org.bukkit.Color;
import org.bukkit.entity.Entity;
Expand Down Expand Up @@ -76,11 +71,11 @@ public static List<Entity> convertEntities(List<dEntity> entities) {
* @return The dInventory retrieved by parsing the argument
*/

public static dInventory getInventory(Argument arg) {
public static dInventory getInventory(Argument arg, dPlayer player, dNPC npc) {
String string = arg.getValue();

if (dInventory.matches(string)) {
return dInventory.valueOf(string);
return dInventory.valueOf(string, player, npc);
}
else if (arg.matchesArgumentList(dItem.class)) {
List<dItem> list = dList.valueOf(string).filter(dItem.class);
Expand Down

0 comments on commit 0aea3f0

Please sign in to comment.