diff --git a/gradle.properties b/gradle.properties index 72e1d3adf5c..beee8e410c7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ groupid=ch.njol name=skript -version=2.2-dev20b \ No newline at end of file +version=2.2-dev21 \ No newline at end of file diff --git a/src/main/java/ch/njol/skript/ScriptLoader.java b/src/main/java/ch/njol/skript/ScriptLoader.java index a07ff66a620..e5bab37db4b 100644 --- a/src/main/java/ch/njol/skript/ScriptLoader.java +++ b/src/main/java/ch/njol/skript/ScriptLoader.java @@ -260,6 +260,7 @@ public final static ScriptInfo enableScripts(final List parsed) @SuppressWarnings("null") private final static void enableScript(ParserInstance pi, ScriptInfo i) { final CountingLogHandler numErrors = SkriptLogger.startLogHandler(new CountingLogHandler(SkriptLogger.SEVERE)); + Skript.debug("Enabling script " + pi.config.getFileName()); try { for (ScriptCommand cmd : pi.commands) { // Register commands i.commands++; @@ -328,6 +329,7 @@ final static ScriptInfo unloadScript(final File script) { } public final static ScriptInfo unloadScripts(final File[] files) { + Skript.debug("Unloading (some) scripts..."); ScriptInfo i = new ScriptInfo(); for (File f : files) { assert f != null; diff --git a/src/main/java/ch/njol/skript/conditions/CondCompare.java b/src/main/java/ch/njol/skript/conditions/CondCompare.java index 7b28090b2ce..08bf563af04 100644 --- a/src/main/java/ch/njol/skript/conditions/CondCompare.java +++ b/src/main/java/ch/njol/skript/conditions/CondCompare.java @@ -21,6 +21,8 @@ package ch.njol.skript.conditions; +import java.util.Arrays; + import org.bukkit.entity.Entity; import org.bukkit.event.Event; import org.eclipse.jdt.annotation.Nullable; @@ -112,7 +114,6 @@ public class CondCompare extends Condition { @SuppressWarnings("null") @Override public boolean init(final Expression[] vars, final int matchedPattern, final Kleenean isDelayed, final ParseResult parser) { - first = vars[0]; second = vars[1]; if (vars.length == 3) diff --git a/src/main/java/ch/njol/skript/lang/SkriptParser.java b/src/main/java/ch/njol/skript/lang/SkriptParser.java index 2a9980c3351..dde68124c12 100644 --- a/src/main/java/ch/njol/skript/lang/SkriptParser.java +++ b/src/main/java/ch/njol/skript/lang/SkriptParser.java @@ -408,20 +408,20 @@ public final Expression parseExpression(final Class c : new Class[] {Number.class, Time.class, ItemType.class, ItemStack.class}) { - final Expression e = p.parseExpression(c); - if (e != null) { - log.printLog(); - return (Expression) e; - } - log.clear(); - } - } - } +// if (isObject){ +// if ((flags & PARSE_LITERALS) != 0) { +// // Hack as items use '..., ... and ...' for enchantments. Numbers and times are parsed beforehand as they use the same (deprecated) id[:data] syntax. +// final SkriptParser p = new SkriptParser(pi, expr, PARSE_LITERALS, context); +// for (final Class c : new Class[] {Number.class, Time.class, ItemType.class, ItemStack.class}) { +// final Expression e = p.parseExpression(c); // Wow this breaks stuff -bensku, 21.10.2016 +// if (e != null) { +// log.printLog(); +// return (Expression) e; +// } +// log.clear(); +// } +// } +// } //Mirre final Expression r = parseSingleExpr(false, null, types); if (r != null) { diff --git a/src/main/java/ch/njol/skript/lang/function/FunctionReference.java b/src/main/java/ch/njol/skript/lang/function/FunctionReference.java index 4609a162fa7..8c72b39b4ec 100644 --- a/src/main/java/ch/njol/skript/lang/function/FunctionReference.java +++ b/src/main/java/ch/njol/skript/lang/function/FunctionReference.java @@ -198,7 +198,8 @@ public boolean isSingle() { @SuppressWarnings("unchecked") public Class getReturnType() { if (signature == null) { - throw new SkriptAPIException("Signature of function is null when return type is asked!"); + //throw new SkriptAPIException("Signature of function is null when return type is asked!"); + return (Class) Unknown.class; } assert signature != null; @SuppressWarnings("null") // Wait what, Eclipse? Already asserted this... diff --git a/src/main/java/ch/njol/skript/lang/parser/ParserInstance.java b/src/main/java/ch/njol/skript/lang/parser/ParserInstance.java index 25c43151ef7..607a726ee02 100644 --- a/src/main/java/ch/njol/skript/lang/parser/ParserInstance.java +++ b/src/main/java/ch/njol/skript/lang/parser/ParserInstance.java @@ -523,6 +523,8 @@ public String run(final Matcher m) { numTriggers++; } + + manager.parseReady(this); } @Override diff --git a/src/main/java/ch/njol/skript/lang/parser/ScriptManager.java b/src/main/java/ch/njol/skript/lang/parser/ScriptManager.java index 0a19cb29e4a..9ae6425c086 100644 --- a/src/main/java/ch/njol/skript/lang/parser/ScriptManager.java +++ b/src/main/java/ch/njol/skript/lang/parser/ScriptManager.java @@ -85,6 +85,7 @@ public void loadAndEnable(File[] files) { public void run() { Skript.debug("Trying to load scripts asynchronously..."); List parsed = load(files); // Parsed scripts; this is blocking operation + Skript.debug("Done parsing scripts"); new BukkitRunnable() { // This needs to be done synchronously @Override