Skip to content

Commit 8d7c635

Browse files
committed
Add ItemType -> ItemStack converter for java calls
1 parent dff48ec commit 8d7c635

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/main/java/com/btk5h/skriptmirror/skript/reflect/ExprJavaCall.java

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

33
import ch.njol.skript.Skript;
4+
import ch.njol.skript.aliases.ItemType;
45
import ch.njol.skript.classes.Changer;
56
import ch.njol.skript.classes.ClassInfo;
67
import ch.njol.skript.lang.Expression;
@@ -20,6 +21,7 @@
2021
import com.btk5h.skriptmirror.util.SkriptUtil;
2122
import com.btk5h.skriptmirror.util.StringSimilarity;
2223
import org.bukkit.event.Event;
24+
import org.bukkit.inventory.ItemStack;
2325

2426
import java.io.File;
2527
import java.io.PrintWriter;
@@ -591,6 +593,11 @@ private static boolean canCoerceType(Object o, Class<?> to) {
591593
return true;
592594
}
593595

596+
// coerce a Skript ItemType to an ItemStack
597+
if (o instanceof ItemType && to == ItemStack.class) {
598+
return true;
599+
}
600+
594601
// coerce javaclasses and classinfos into classes
595602
if (to == Class.class && (o instanceof JavaType || o instanceof ClassInfo)) {
596603
return true;
@@ -659,6 +666,11 @@ private static Object[] convertTypes(MethodHandle mh, Object[] args) {
659666
args[i] = ((String) args[i]).charAt(0);
660667
}
661668

669+
// coerce a Skript ItemType to an ItemStack
670+
if (args[i] instanceof ItemType && param == ItemStack.class) {
671+
args[i] = ((ItemType) args[i]).getRandom();
672+
}
673+
662674
// coerce javatypes and classinfos into classes
663675
if (param == Class.class) {
664676
if (args[i] instanceof JavaType) {

0 commit comments

Comments
 (0)