Skip to content

Commit

Permalink
Update to functionality!
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jan 12, 2015
1 parent 6604f53 commit 60fcf15
Show file tree
Hide file tree
Showing 15 changed files with 107 additions and 17 deletions.
15 changes: 15 additions & 0 deletions src/main/java/net/aufdemrand/denizen/Denizen.java
Expand Up @@ -388,6 +388,21 @@ public void onEnable() {

// Register Core dObjects with the ObjectFetcher
ObjectFetcher._registerCoreObjects();

ObjectFetcher.registerWithObjectFetcher(dItem.class); // i@
ObjectFetcher.registerWithObjectFetcher(dCuboid.class); // cu@
ObjectFetcher.registerWithObjectFetcher(dEntity.class); // e@
ObjectFetcher.registerWithObjectFetcher(dInventory.class); // in@
ObjectFetcher.registerWithObjectFetcher(dColor.class); // co@
ObjectFetcher.registerWithObjectFetcher(dLocation.class); // l@
ObjectFetcher.registerWithObjectFetcher(dMaterial.class); // m@
if (Depends.citizens != null)
ObjectFetcher.registerWithObjectFetcher(dNPC.class); // n@
ObjectFetcher.registerWithObjectFetcher(dPlayer.class); // p@
ObjectFetcher.registerWithObjectFetcher(dWorld.class); // w@
ObjectFetcher.registerWithObjectFetcher(dChunk.class); // ch@
ObjectFetcher.registerWithObjectFetcher(dPlugin.class); // pl@
ObjectFetcher.registerWithObjectFetcher(dEllipsoid.class); // ellipsoid@
}
catch (Exception e) {
dB.echoError(e);
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dChunk.java
Expand Up @@ -6,6 +6,7 @@
import net.aufdemrand.denizencore.tags.Attribute;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizen.utilities.depends.Depends;
import net.aufdemrand.denizencore.tags.TagContext;
import net.citizensnpcs.api.CitizensAPI;
import org.bukkit.*;
import org.bukkit.craftbukkit.v1_8_R1.CraftChunk;
Expand All @@ -21,6 +22,10 @@ public class dChunk implements dObject, Adjustable {
// OBJECT FETCHER
////////////////

public static dChunk valueOf(String string) {
return valueOf(string, null);
}

/**
* Gets a Chunk Object from a string form of x,z,world.
* This is not to be confused with the 'x,y,z,world' of a
Expand All @@ -31,7 +36,7 @@ public class dChunk implements dObject, Adjustable {
*
*/
@Fetchable("ch")
public static dChunk valueOf(String string) {
public static dChunk valueOf(String string, TagContext context) {
if (string == null) return null;

string = string.toLowerCase().replace("ch@", "");
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dColor.java
Expand Up @@ -10,6 +10,7 @@
import net.aufdemrand.denizencore.objects.dObject;
import net.aufdemrand.denizencore.objects.properties.Property;
import net.aufdemrand.denizencore.objects.properties.PropertyParser;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import org.bukkit.Color;

Expand All @@ -25,6 +26,10 @@ public class dColor implements dObject {
// OBJECT FETCHER
////////////////

public static dColor valueOf(String string) {
return valueOf(string, null);
}

/**
* Gets a Color Object from a string form.
*
Expand All @@ -33,7 +38,7 @@ public class dColor implements dObject {
*
*/
@Fetchable("co")
public static dColor valueOf(String string) {
public static dColor valueOf(String string, TagContext context) {

string = string.toUpperCase().replace("CO@", "");

Expand Down
7 changes: 6 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dCuboid.java
Expand Up @@ -20,6 +20,7 @@
import net.aufdemrand.denizen.utilities.debugging.dB;

import net.aufdemrand.denizen.utilities.depends.Depends;
import net.aufdemrand.denizencore.tags.TagContext;
import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.npc.NPC;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -55,6 +56,10 @@ public static List<dCuboid> getNotableCuboidsContaining(Location location) {
// OBJECT FETCHER
////////////////

public static dCuboid valueOf(String string) {
return valueOf(string, null);
}

final static Pattern cuboid_by_saved = Pattern.compile("(cu@)?(.+)");
/**
* Gets a Location Object from a string form of id,x,y,z,world
Expand All @@ -66,7 +71,7 @@ public static List<dCuboid> getNotableCuboidsContaining(Location location) {
*
*/
@Fetchable("cu")
public static dCuboid valueOf(String string) {
public static dCuboid valueOf(String string, TagContext context) {
if (string == null) return null;

////////
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dEllipsoid.java
Expand Up @@ -7,6 +7,7 @@
import net.aufdemrand.denizencore.objects.properties.Property;
import net.aufdemrand.denizencore.objects.properties.PropertyParser;
import net.aufdemrand.denizencore.tags.Attribute;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import org.bukkit.Location;

Expand All @@ -19,14 +20,18 @@ public class dEllipsoid implements dObject, Notable {
// OBJECT FETCHER
////////////////

public static dEllipsoid valueOf(String string) {
return valueOf(string, null);
}

/**
* Gets an Ellipsoid Object from a string form.
*
* @param string the string
*
*/
@Fetchable("ellipsoid")
public static dEllipsoid valueOf(String string) {
public static dEllipsoid valueOf(String string, TagContext context) {

if (string.startsWith("ellipsoid@"))
string = string.substring(10);
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dEntity.java
Expand Up @@ -15,6 +15,7 @@
import net.aufdemrand.denizen.utilities.depends.Depends;
import net.aufdemrand.denizen.utilities.entity.Rotation;
import net.aufdemrand.denizen.utilities.nbt.CustomNBT;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import net.minecraft.server.v1_8_R1.*;
import org.bukkit.*;
Expand Down Expand Up @@ -49,6 +50,10 @@ public class dEntity implements dObject, Adjustable {
////////////////


public static dEntity valueOf(String string) {
return valueOf(string, null);
}

/**
* Gets a dEntity Object from a string form. </br>
* </br>
Expand All @@ -66,7 +71,7 @@ public class dEntity implements dObject, Adjustable {
* @return a dEntity, or null
*/
@Fetchable("e")
public static dEntity valueOf(String string) {
public static dEntity valueOf(String string, TagContext context) {
if (string == null) return null;

Matcher m;
Expand Down
10 changes: 8 additions & 2 deletions src/main/java/net/aufdemrand/denizen/objects/dInventory.java
Expand Up @@ -17,6 +17,7 @@
import net.aufdemrand.denizen.utilities.Utilities;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizen.utilities.nbt.ImprovedOfflinePlayer;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import org.bukkit.Bukkit;
import org.bukkit.Material;
Expand Down Expand Up @@ -126,9 +127,14 @@ public void forget() {
// OBJECT FETCHER
////////////////

@Fetchable("in")

public static dInventory valueOf(String string) {
return valueOf(string, null, null);
return valueOf(string, null);
}

@Fetchable("in")
public static dInventory valueOf(String string, TagContext context) {
return valueOf(string, ((BukkitTagContext)context).player, ((BukkitTagContext)context).npc);
}

/**
Expand Down
10 changes: 8 additions & 2 deletions src/main/java/net/aufdemrand/denizen/objects/dItem.java
Expand Up @@ -14,6 +14,7 @@
import net.aufdemrand.denizencore.tags.Attribute;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizencore.objects.notable.Notable;
import net.aufdemrand.denizencore.tags.TagContext;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftItemStack;
Expand Down Expand Up @@ -48,9 +49,14 @@ public class dItem implements dObject, Notable, Adjustable {
// OBJECT FETCHER
////////////////

@Fetchable("i")

public static dItem valueOf(String string) {
return valueOf(string, null, null);
return valueOf(string, null);
}

@Fetchable("i")
public static dItem valueOf(String string, TagContext context) {
return valueOf(string, ((BukkitTagContext)context).player, ((BukkitTagContext) context).npc);
}

/**
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dLocation.java
Expand Up @@ -8,6 +8,7 @@
import net.aufdemrand.denizencore.objects.properties.Property;
import net.aufdemrand.denizencore.objects.properties.PropertyParser;
import net.aufdemrand.denizencore.tags.Attribute;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.tags.core.EscapeTags;
import net.aufdemrand.denizen.utilities.DenizenAPI;
import net.aufdemrand.denizen.utilities.PathFinder;
Expand Down Expand Up @@ -91,6 +92,11 @@ public static void _recallLocations() {
// OBJECT FETCHER
////////////////


public static dLocation valueOf(String string) {
return valueOf(string, null);
}

final static Pattern item_by_saved = Pattern.compile("(l@)(.+)");
/**
* Gets a Location Object from a string form of id,x,y,z,world
Expand All @@ -102,7 +108,7 @@ public static void _recallLocations() {
*
*/
@Fetchable("l")
public static dLocation valueOf(String string) {
public static dLocation valueOf(String string, TagContext context) {
if (string == null) return null;

////////
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dMaterial.java
Expand Up @@ -14,6 +14,7 @@
import net.aufdemrand.denizencore.objects.properties.PropertyParser;
import net.aufdemrand.denizen.utilities.blocks.SafeBlock;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import org.bukkit.Material;
import org.bukkit.material.MaterialData;
Expand Down Expand Up @@ -483,6 +484,11 @@ public static dMaterial getMaterialFrom(Material material, int data) {
// OBJECT FETCHER
////////////////


public static dMaterial valueOf(String string) {
return valueOf(string, null);
}

/**
* Gets a Material Object from a string form.
*
Expand All @@ -491,7 +497,7 @@ public static dMaterial getMaterialFrom(Material material, int data) {
*
*/
@Fetchable("m")
public static dMaterial valueOf(String string) {
public static dMaterial valueOf(String string, TagContext context) {

if (string.toLowerCase().matches("random")
|| string.toLowerCase().matches("m@random")) {
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dNPC.java
Expand Up @@ -15,6 +15,7 @@
import net.aufdemrand.denizen.tags.core.NPCTags;
import net.aufdemrand.denizen.utilities.DenizenAPI;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizencore.tags.TagContext;
import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.ai.Navigator;
import net.citizensnpcs.api.ai.TeleportStuckAction;
Expand Down Expand Up @@ -60,8 +61,13 @@ public static dNPC fromEntity(Entity entity) {
return mirrorCitizensNPC(CitizensAPI.getNPCRegistry().getNPC(entity));
}

@Fetchable("n")

public static dNPC valueOf(String string) {
return valueOf(string, null);
}

@Fetchable("n")
public static dNPC valueOf(String string, TagContext context) {
if (string == null) return null;

////////
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dPlayer.java
Expand Up @@ -13,6 +13,7 @@
import net.aufdemrand.denizen.utilities.depends.Depends;
import net.aufdemrand.denizen.utilities.nbt.ImprovedOfflinePlayer;
import net.aufdemrand.denizen.utilities.packets.*;
import net.aufdemrand.denizencore.tags.TagContext;
import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.npc.NPC;
import net.minecraft.server.v1_8_R1.PacketPlayOutGameStateChange;
Expand Down Expand Up @@ -84,8 +85,13 @@ public static Map<String, UUID> getAllPlayers() {
// are case insensitive.
// -->

@Fetchable("p")

public static dPlayer valueOf(String string) {
return valueOf(string, null);
}

@Fetchable("p")
public static dPlayer valueOf(String string, TagContext context) {
return valueOfInternal(string, true);
}

Expand Down
8 changes: 7 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dPlugin.java
Expand Up @@ -4,6 +4,7 @@
import net.aufdemrand.denizencore.objects.Fetchable;
import net.aufdemrand.denizencore.objects.dList;
import net.aufdemrand.denizencore.objects.dObject;
import net.aufdemrand.denizencore.tags.TagContext;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;

Expand All @@ -19,6 +20,11 @@ public class dPlugin implements dObject {
// Object Fetcher
////////////////


public static dPlugin valueOf(String string) {
return valueOf(string, null);
}

/**
*
* Gets a dPlugin from a string format.
Expand All @@ -31,7 +37,7 @@ public class dPlugin implements dObject {
*
*/
@Fetchable("pl")
public static dPlugin valueOf(String string) {
public static dPlugin valueOf(String string, TagContext context) {

if (string == null) return null;

Expand Down
8 changes: 7 additions & 1 deletion src/main/java/net/aufdemrand/denizen/objects/dWorld.java
Expand Up @@ -6,6 +6,7 @@
import net.aufdemrand.denizencore.tags.Attribute;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizen.utilities.depends.Depends;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import net.citizensnpcs.api.CitizensAPI;

Expand Down Expand Up @@ -52,8 +53,13 @@ public static dWorld mirrorBukkitWorld(World world) {
// World names are case insensitive.
// -->

@Fetchable("w")

public static dWorld valueOf(String string) {
return valueOf(string, null);
}

@Fetchable("w")
public static dWorld valueOf(String string, TagContext context) {
return valueOf(string, true);
}

Expand Down
Expand Up @@ -236,7 +236,8 @@ else if (source != null && source.getLastEntryExecuted() != null && source.getLa
if (script != null)
events.add(script.identifySimple() + " generates error");
ScriptEntry entry = (source != null ? source.getLastEntryExecuted(): null);
List<String> Determinations = OldEventManager.doEvents(events, entry.entryData, context, true);
List<String> Determinations = OldEventManager.doEvents(events,
entry != null ? entry.entryData: new BukkitScriptEntryData(null, null), context, true);
ThrowErrorEvent = true;
for (String Determination: Determinations) {
if (Determination.equalsIgnoreCase("CANCELLED"))
Expand Down Expand Up @@ -280,7 +281,8 @@ public static void echoError(ScriptQueue source, Throwable ex) {
context.put("type", new Element(thrown.getClass().getSimpleName()));
context.put("queue", source);
ScriptEntry entry = (source != null ? source.getLastEntryExecuted(): null);
List<String> Determinations = OldEventManager.doEvents(Arrays.asList("server generates exception"), entry.entryData, context);
List<String> Determinations = OldEventManager.doEvents(Arrays.asList("server generates exception"),
entry == null ? new BukkitScriptEntryData(null, null): entry.entryData, context);
ThrowErrorEvent = true;
for (String Determination: Determinations) {
if (Determination.equalsIgnoreCase("CANCELLED"))
Expand Down

0 comments on commit 60fcf15

Please sign in to comment.