Skip to content

Commit

Permalink
work towards 0.9 Denizen -- object/tag/argument update.
Browse files Browse the repository at this point in the history
  • Loading branch information
aufdemrand committed May 20, 2013
1 parent 07287f5 commit 03bbbb3
Show file tree
Hide file tree
Showing 131 changed files with 509 additions and 402 deletions.
4 changes: 2 additions & 2 deletions src/main/java/net/aufdemrand/denizen/CommandHandler.java
Expand Up @@ -12,8 +12,8 @@
import net.aufdemrand.denizen.utilities.DenizenAPI;
import net.aufdemrand.denizen.utilities.ScriptRepo;
import net.aufdemrand.denizen.utilities.Utilities;
import net.aufdemrand.denizen.utilities.arguments.dLocation;
import net.aufdemrand.denizen.utilities.arguments.aH;
import net.aufdemrand.denizen.arguments.dLocation;
import net.aufdemrand.denizen.arguments.aH;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.citizensnpcs.Citizens;
import net.citizensnpcs.api.command.Command;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/aufdemrand/denizen/Denizen.java
Expand Up @@ -20,7 +20,7 @@
import net.aufdemrand.denizen.scripts.triggers.TriggerRegistry;
import net.aufdemrand.denizen.tags.TagManager;
import net.aufdemrand.denizen.utilities.RuntimeCompiler;
import net.aufdemrand.denizen.utilities.arguments.dLocation;
import net.aufdemrand.denizen.arguments.dLocation;
import net.aufdemrand.denizen.utilities.debugging.dB;
import net.aufdemrand.denizen.utilities.debugging.dB.DebugElement;
import net.aufdemrand.denizen.utilities.depends.Depends;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/aufdemrand/denizen/Settings.java
@@ -1,7 +1,7 @@
package net.aufdemrand.denizen;

import net.aufdemrand.denizen.utilities.DenizenAPI;
import net.aufdemrand.denizen.utilities.arguments.Duration;
import net.aufdemrand.denizen.arguments.Duration;

public class Settings {

Expand Down
@@ -1,4 +1,4 @@
package net.aufdemrand.denizen.utilities.arguments;
package net.aufdemrand.denizen.arguments;

import com.google.common.primitives.Ints;
import net.aufdemrand.denizen.interfaces.dScriptArgument;
Expand Down Expand Up @@ -207,8 +207,7 @@ else return new Element(seconds + "s")
.getAttribute(attribute.fulfill(1));
}

return new Element(dScriptArgValue())
.getAttribute(attribute);
return new Element(identify()).getAttribute(attribute.fulfill(0));
}


Expand Down
@@ -1,14 +1,12 @@
package net.aufdemrand.denizen.utilities.arguments;
package net.aufdemrand.denizen.arguments;

import net.aufdemrand.denizen.interfaces.dScriptArgument;
import net.aufdemrand.denizen.tags.Attribute;
import net.aufdemrand.denizen.utilities.debugging.dB;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.util.StringUtil;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;

public class Element implements dScriptArgument {
Expand All @@ -19,8 +17,8 @@ public class Element implements dScriptArgument {
* @return a dScript dList
*
*/
@ObjectFetcher("l")
public static Element valueOf(String string) {
@ObjectFetcher("el")
public static dScriptArgument valueOf(String string) {
if (string == null) return null;

String prefix = null;
Expand All @@ -33,7 +31,9 @@ public static Element valueOf(String string) {
return new Element(prefix, string);
}

private String prefix;



private String element;

public Element(String string) {
Expand All @@ -47,19 +47,39 @@ public Element(String prefix, String string) {
this.element = string;
}

@Override
public String getDefaultPrefix() {
return prefix;
public double asDouble() {
return Double.valueOf(element);
}

public float asFloat() {
return Float.valueOf(element);
}

public int asInt() {
return Integer.valueOf(element);
}

public boolean asBoolean() {
return Boolean.valueOf(element);
}

public String asString() {
return element;
}




private String prefix;

@Override
public String debug() {
return (prefix + "='<A>" + element + "<G>' ");
public String getType() {
return "element";
}

@Override
public String as_dScriptArg() {
return prefix + ":" + element;
public String getPrefix() {
return prefix;
}

@Override
Expand All @@ -68,6 +88,21 @@ public dScriptArgument setPrefix(String prefix) {
return this;
}

@Override
public String debug() {
return (prefix + "='<A>" + identify() + "<G>' ");
}

@Override
public String identify() {
return element;
}

@Override
public boolean isUnique() {
return false;
}

@Override
public String getAttribute(Attribute attribute) {

Expand Down Expand Up @@ -110,7 +145,7 @@ public String getAttribute(Attribute attribute) {

if (attribute.startsWith("aslist")
|| attribute.startsWith("as_list"))
return new dList("List", element).getAttribute(attribute.fulfill(1));
return new dList(element).getAttribute(attribute.fulfill(1));

if (attribute.startsWith("substring")) { // substring[2,8]
int beginning_index = Integer.valueOf(attribute.getContext(1).split(",")[0]) - 1;
Expand All @@ -122,6 +157,22 @@ public String getAttribute(Attribute attribute) {
if (attribute.startsWith("last_color"))
return new Element(String.valueOf(ChatColor.getLastColors(element))).getAttribute(attribute.fulfill(1));

if (attribute.startsWith("split") && attribute.startsWith("limit", 2)) {
String split_string = (attribute.hasContext(1) ? attribute.getContext(1) : " ");
Integer limit = (attribute.hasContext(2) ? attribute.getIntContext(2) : 1);
if (split_string.toUpperCase().startsWith("regex:"))
return new dList(Arrays.asList(element.split(split_string.split(":", 2)[1], limit))).getAttribute(attribute.fulfill(1));
else
return new dList(Arrays.asList(StringUtils.split(element, split_string, limit))).getAttribute(attribute.fulfill(1)); }

if (attribute.startsWith("split")) {
String split_string = (attribute.hasContext(1) ? attribute.getContext(1) : " ");
if (split_string.toUpperCase().startsWith("regex:"))
return new dList(Arrays.asList(element.split(split_string.split(":", 2)[1]))).getAttribute(attribute.fulfill(1));
else
return new dList(Arrays.asList(StringUtils.split(element, split_string))).getAttribute(attribute.fulfill(1));
}

if (attribute.startsWith("prefix"))
return new Element(prefix)
.getAttribute(attribute.fulfill(1));
Expand All @@ -142,22 +193,6 @@ public String getAttribute(Attribute attribute) {
.getAttribute(attribute.fulfill(1));
}

if (attribute.startsWith("split") && attribute.startsWith("limit", 2)) {
String split_string = (attribute.hasContext(1) ? attribute.getContext(1) : " ");
Integer limit = (attribute.hasContext(2) ? attribute.getIntContext(2) : 1);
if (split_string.toUpperCase().startsWith("regex:"))
return new dList(Arrays.asList(element.split(split_string.split(":", 2)[1], limit))).getAttribute(attribute.fulfill(1));
else
return new dList(Arrays.asList(StringUtils.split(element, split_string, limit))).getAttribute(attribute.fulfill(1)); }

if (attribute.startsWith("split")) {
String split_string = (attribute.hasContext(1) ? attribute.getContext(1) : " ");
if (split_string.toUpperCase().startsWith("regex:"))
return new dList(Arrays.asList(element.split(split_string.split(":", 2)[1]))).getAttribute(attribute.fulfill(1));
else
return new dList(Arrays.asList(StringUtils.split(element, split_string))).getAttribute(attribute.fulfill(1));
}

return element;
}

Expand Down
@@ -1,4 +1,4 @@
package net.aufdemrand.denizen.utilities.arguments;
package net.aufdemrand.denizen.arguments;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
@@ -1,4 +1,4 @@
package net.aufdemrand.denizen.utilities.arguments;
package net.aufdemrand.denizen.arguments;

import net.aufdemrand.denizen.interfaces.dScriptArgument;
import net.aufdemrand.denizen.scripts.ScriptRegistry;
Expand Down Expand Up @@ -114,7 +114,8 @@ public dScriptArgument setPrefix(String prefix) {
@Override
public String getAttribute(Attribute attribute) {
if (attribute == null) return as_dScriptArg();
return null;

return new Element(identify()).getAttribute(attribute.fulfill(0));
}


Expand Down

0 comments on commit 03bbbb3

Please sign in to comment.