Skip to content

Commit 12bc1f2

Browse files
committed
Try calling getSource
1 parent 6a04554 commit 12bc1f2

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

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

+13-13
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public class CondChange extends Condition {
2020
private static final Patterns<ChangeMode> PATTERNS = new Patterns<>(new Object[][] {
2121
{"%classinfo% can be added to %expressions%", ChangeMode.ADD},
2222
{"%classinfo% (can't|cannot) be added to %expressions%", ChangeMode.ADD},
23-
{"%expressions% can be set to %*classinfo%", ChangeMode.SET},
24-
{"%expressions% (can't|cannot) be set to %*classinfo%", ChangeMode.SET},
23+
{"%expressions% can be set to %classinfo%", ChangeMode.SET},
24+
{"%expressions% (can't|cannot) be set to %classinfo%", ChangeMode.SET},
2525
{"%classinfo% can be removed from %expressions%", ChangeMode.REMOVE},
2626
{"%classinfo% (can't|cannot) be removed from %expressions%", ChangeMode.REMOVE},
2727
{"all %classinfo% can be removed from %expressions%", ChangeMode.REMOVE_ALL},
@@ -37,7 +37,7 @@ public class CondChange extends Condition {
3737
}
3838

3939
private ChangeMode desiredChangeMode;
40-
private boolean typeIsPlural;
40+
private boolean desiredTypeIsPlural;
4141
private Expression<ClassInfo<?>> desiredType;
4242
private Expression<Expression<?>> expressions;
4343
private String rawForm;
@@ -65,15 +65,15 @@ public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelaye
6565
case DELETE:
6666
expressions = (Expression<Expression<?>>) exprs[0];
6767
}
68-
if (desiredType instanceof UnparsedLiteral) {
69-
wasUnparsed = true;
70-
UnparsedLiteral unparsedDesiredType = (UnparsedLiteral) desiredType;
71-
desiredType = unparsedDesiredType.getConvertedExpression(ClassInfo.class);
72-
if (desiredType == null)
73-
return false;
74-
typeIsPlural = Utils.getEnglishPlural(unparsedDesiredType.getData()).getSecond();
68+
if (desiredType != null) {
69+
Expression<?> desiredTypeSource = desiredType.getSource();
70+
if (desiredTypeSource instanceof UnparsedLiteral) {
71+
wasUnparsed = true;
72+
UnparsedLiteral unparsedDesiredType = (UnparsedLiteral) desiredTypeSource;
73+
desiredTypeIsPlural = Utils.getEnglishPlural(unparsedDesiredType.getData()).getSecond();
74+
}
75+
this.desiredType = (Expression<ClassInfo<?>>) desiredType;
7576
}
76-
this.desiredType = (Expression<ClassInfo<?>>) desiredType;
7777
return true;
7878
}
7979

@@ -88,10 +88,10 @@ public boolean check(Event event) {
8888
Bukkit.getConsoleSender().sendMessage(toString(event, true));
8989
Bukkit.getConsoleSender().sendMessage("- raw: " + rawForm);
9090
Bukkit.getConsoleSender().sendMessage("- was unparsed: " + wasUnparsed);
91-
Bukkit.getConsoleSender().sendMessage("- plural: " + typeIsPlural);
91+
Bukkit.getConsoleSender().sendMessage("- plural: " + desiredTypeIsPlural);
9292
Bukkit.getConsoleSender().sendMessage("- change mode: " + desiredChangeMode.name());
9393
Bukkit.getConsoleSender().sendMessage("- desired type: " + desiredType.getC().getCanonicalName());
94-
return expressions.check(event, expression -> acceptsChange(expression, desiredChangeMode, desiredType.getC(), typeIsPlural), isNegated());
94+
return expressions.check(event, expression -> acceptsChange(expression, desiredChangeMode, desiredType.getC(), desiredTypeIsPlural), isNegated());
9595
}
9696

9797
@Override

0 commit comments

Comments
 (0)