Skip to content

Commit b287809

Browse files
authored
Merge pull request #82 from SkriptLang/skript-2.7
Merge 2.7 changes into default branch
2 parents 13930ec + ce67cac commit b287809

File tree

72 files changed

+1416
-1889
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1416
-1889
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import org.apache.tools.ant.filters.ReplaceTokens
22

33
group 'com.btk5h.skript-mirror'
4-
version '2.3'
4+
version '2.4-dev1'
55

66
apply plugin: 'java'
77

@@ -35,6 +35,6 @@ compileJava {
3535

3636
dependencies {
3737
implementation 'org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT'
38-
implementation 'com.github.SkriptLang:Skript:2.6.4'
38+
implementation 'com.github.SkriptLang:Skript:2.8.0-pre1'
3939
implementation 'org.eclipse.jdt:org.eclipse.jdt.annotation:1.1.0'
4040
}

src/main/java/com/btk5h/skriptmirror/Descriptor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.btk5h.skriptmirror;
22

3-
import com.btk5h.skriptmirror.skript.custom.CustomImport;
3+
import org.skriptlang.reflect.java.elements.structures.StructImport;
44
import com.btk5h.skriptmirror.util.JavaUtil;
55
import com.btk5h.skriptmirror.util.SkriptMirrorUtil;
6+
import org.skriptlang.skript.lang.script.Script;
67

7-
import java.io.File;
88
import java.util.Objects;
99
import java.util.regex.Matcher;
1010
import java.util.regex.Pattern;
@@ -102,7 +102,7 @@ public Descriptor orDefaultClass(Class<?> cls) {
102102
/**
103103
* Parses the given {@link String} as a {@link Descriptor}. The script parameter is to get the imports.
104104
*/
105-
public static Descriptor parse(String desc, File script) throws ImportNotFoundException {
105+
public static Descriptor parse(String desc, Script script) throws ImportNotFoundException {
106106
Matcher m = DESCRIPTOR.matcher(desc);
107107

108108
if (m.matches()) {
@@ -123,7 +123,7 @@ public static Descriptor parse(String desc, File script) throws ImportNotFoundEx
123123
/**
124124
* Parses a list of imported names, returning a class array containing the classes in the given string.
125125
*/
126-
private static Class<?>[] parseParams(String args, File script) throws ImportNotFoundException {
126+
private static Class<?>[] parseParams(String args, Script script) throws ImportNotFoundException {
127127
String[] rawClasses = args.split(",");
128128

129129
Class<?>[] parsedClasses = new Class<?>[rawClasses.length];
@@ -160,8 +160,8 @@ private static Class<?>[] parseParams(String args, File script) throws ImportNot
160160
/**
161161
* Looks up a class from its imported name in the given file.
162162
*/
163-
private static Class<?> lookupClass(File script, String userType) throws ImportNotFoundException {
164-
JavaType customImport = CustomImport.lookup(script, userType);
163+
private static Class<?> lookupClass(Script script, String userType) throws ImportNotFoundException {
164+
JavaType customImport = StructImport.lookup(script, userType);
165165
if (customImport == null)
166166
throw new ImportNotFoundException(userType);
167167

src/main/java/com/btk5h/skriptmirror/FunctionWrapper.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import ch.njol.skript.lang.function.Function;
44
import ch.njol.skript.lang.function.Functions;
5+
import ch.njol.skript.lang.parser.ParserInstance;
56
import org.eclipse.jdt.annotation.Nullable;
67

78
public class FunctionWrapper {
@@ -24,7 +25,14 @@ public Object[] getArguments() {
2425

2526
@Nullable
2627
public Function<?> getFunction() {
27-
return Functions.getFunction(name);
28+
// Get current script file name
29+
String script = null;
30+
ParserInstance parserInstance = ParserInstance.get();
31+
if (parserInstance.isActive()) {
32+
script = parserInstance.getCurrentScript().getConfig().getFileName();
33+
}
34+
35+
return Functions.getFunction(name, script);
2836
}
2937

3038
}

src/main/java/com/btk5h/skriptmirror/JavaType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.Objects;
44

55
public final class JavaType {
6+
67
private final Class<?> javaClass;
78

89
public JavaType(Class<?> javaClass) {
@@ -25,4 +26,5 @@ public boolean equals(Object o) {
2526
public int hashCode() {
2627
return Objects.hash(javaClass);
2728
}
29+
2830
}

src/main/java/com/btk5h/skriptmirror/ParseOrderWorkarounds.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import ch.njol.skript.Skript;
44
import ch.njol.skript.effects.EffReturn;
55
import ch.njol.util.Checker;
6+
import org.skriptlang.reflect.syntax.condition.elements.CustomCondition;
7+
import org.skriptlang.reflect.syntax.effect.elements.CustomEffect;
8+
import org.skriptlang.reflect.syntax.expression.elements.CustomExpression;
69
import com.btk5h.skriptmirror.skript.EffExpressionStatement;
710
import com.btk5h.skriptmirror.skript.custom.ExprMatchedPattern;
8-
import com.btk5h.skriptmirror.skript.custom.condition.CustomCondition;
9-
import com.btk5h.skriptmirror.skript.custom.effect.CustomEffect;
10-
import com.btk5h.skriptmirror.skript.custom.expression.CustomExpression;
1111
import com.btk5h.skriptmirror.util.SkriptReflection;
1212

1313
import java.util.Collection;
@@ -38,11 +38,11 @@ public class ParseOrderWorkarounds {
3838

3939
public static void reorderSyntax() {
4040
for (String c : PARSE_ORDER) {
41-
ensureLast(Skript.getStatements(), o -> o.c.getName().equals(c));
42-
ensureLast(Skript.getConditions(), o -> o.c.getName().equals(c));
43-
ensureLast(Skript.getEffects(), o -> o.c.toString().equals(c));
44-
ensureLast(SkriptReflection.getExpressions(), o -> o.c.getName().equals(c));
45-
ensureLast(Skript.getEvents(), o -> o.c.getName().equals(c));
41+
ensureLast(Skript.getStatements(), o -> o.getElementClass().getName().equals(c));
42+
ensureLast(Skript.getConditions(), o -> o.getElementClass().getName().equals(c));
43+
ensureLast(Skript.getEffects(), o -> o.getElementClass().toString().equals(c));
44+
ensureLast(SkriptReflection.getExpressions(), o -> o.getElementClass().getName().equals(c));
45+
ensureLast(Skript.getEvents(), o -> o.getElementClass().getName().equals(c));
4646
}
4747
}
4848

src/main/java/com/btk5h/skriptmirror/ParserInstanceState.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

src/main/java/com/btk5h/skriptmirror/SkriptMirror.java

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
import ch.njol.skript.SkriptAddon;
55
import ch.njol.skript.lang.parser.ParserInstance;
66
import ch.njol.skript.util.Version;
7-
import com.btk5h.skriptmirror.skript.CondParseLater;
8-
import com.btk5h.skriptmirror.skript.custom.condition.CustomConditionSection;
9-
import com.btk5h.skriptmirror.skript.custom.effect.CustomEffectSection;
10-
import com.btk5h.skriptmirror.skript.custom.event.CustomEventSection;
11-
import com.btk5h.skriptmirror.skript.custom.expression.CustomExpressionSection;
7+
import org.skriptlang.reflect.syntax.condition.elements.StructCustomCondition;
8+
import org.skriptlang.reflect.syntax.effect.elements.StructCustomEffect;
9+
import org.skriptlang.reflect.syntax.event.elements.StructCustomEvent;
10+
import org.skriptlang.reflect.syntax.expression.elements.StructCustomExpression;
1211
import com.btk5h.skriptmirror.skript.reflect.ExprJavaCall;
1312
import com.btk5h.skriptmirror.skript.reflect.ExprProxy;
1413
import com.btk5h.skriptmirror.skript.reflect.sections.SecSection;
@@ -22,6 +21,7 @@
2221
import java.util.Map;
2322

2423
public class SkriptMirror extends JavaPlugin {
24+
2525
private static SkriptMirror instance;
2626
private static SkriptAddon addonInstance;
2727

@@ -41,10 +41,9 @@ public void onEnable() {
4141
return;
4242
}
4343

44-
if (!Skript.classExists("ch.njol.skript.lang.parser.ParserInstance") || !Skript.methodExists(ParserInstance.class, "get")) {
44+
if (Skript.getVersion().isSmallerThan(new Version(2, 7))) {
4545
getLogger().severe("");
46-
getLogger().severe("Your version of Skript (" + Skript.getVersion() + ") is not supported, at least Skript 2.6 is required to run this version of skript-reflect.");
47-
getLogger().severe("If you want to use a version of Skript below 2.6, use skript-reflect 2.2.3: https://github.com/TPGamesNL/skript-reflect/releases/tag/v2.2.3");
46+
getLogger().severe("Your version of Skript (" + Skript.getVersion() + ") is not supported, at least Skript 2.7 is required to run this version of skript-reflect.");
4847
getLogger().severe("");
4948
Bukkit.getPluginManager().disablePlugin(this);
5049
return;
@@ -54,10 +53,10 @@ public void onEnable() {
5453
getLogger().warning("You shouldn't have both skript-mirror and skript-reflect enabled, it will probably cause issues");
5554
}
5655

57-
saveDefaultConfig();
58-
5956
try {
60-
getAddonInstance().loadClasses("com.btk5h.skriptmirror.skript");
57+
getAddonInstance()
58+
.loadClasses("com.btk5h.skriptmirror.skript")
59+
.loadClasses("org.skriptlang.reflect", "syntax", "java.elements");
6160

6261
Path dataFolder = SkriptMirror.getInstance().getDataFolder().toPath();
6362
LibraryLoader.loadLibraries(dataFolder);
@@ -84,25 +83,20 @@ public void onEnable() {
8483
return map;
8584
}));
8685

87-
metrics.addCustomChart(new Metrics.SimplePie("preload_enabled",
88-
() -> "" + getConfig().getBoolean("enable-preloading")));
89-
metrics.addCustomChart(new Metrics.SimplePie("deferred_parsing_used",
90-
() -> "" + CondParseLater.deferredParsingUsed));
91-
9286
metrics.addCustomChart(new Metrics.SingleLineChart("java_calls_made", () -> {
9387
int i = ExprJavaCall.javaCallsMade;
9488
ExprJavaCall.javaCallsMade = 0;
9589
return i;
9690
}));
9791

9892
metrics.addCustomChart(new Metrics.SimplePie("custom_conditions_used",
99-
() -> "" + CustomConditionSection.customConditionsUsed));
93+
() -> "" + StructCustomCondition.customConditionsUsed));
10094
metrics.addCustomChart(new Metrics.SimplePie("custom_effects_used",
101-
() -> "" + CustomEffectSection.customEffectsUsed));
95+
() -> "" + StructCustomEffect.customEffectsUsed));
10296
metrics.addCustomChart(new Metrics.SimplePie("custom_events_used",
103-
() -> "" + CustomEventSection.customEventsUsed));
97+
() -> "" + StructCustomEvent.customEventsUsed));
10498
metrics.addCustomChart(new Metrics.SimplePie("custom_expressions_used",
105-
() -> "" + CustomExpressionSection.customExpressionsUsed));
99+
() -> "" + StructCustomExpression.customExpressionsUsed));
106100

107101
metrics.addCustomChart(new Metrics.SimplePie("proxies_used",
108102
() -> "" + ExprProxy.proxiesUsed));

src/main/java/com/btk5h/skriptmirror/skript/CondParseLater.java

Lines changed: 0 additions & 100 deletions
This file was deleted.

0 commit comments

Comments
 (0)