@@ -0,0 +1,1415 @@
+package com.btk5h.skriptmirror.skript;%0A%0Aimport com.btk5h.skriptmirror.JavaType;%0A%0Aimport org.bukkit.event.Event;%0A%0Aimport java.util.Arrays;%0A%0Aimport ch.njol.skript.expressions.base.PropertyExpression;%0Aimport ch.njol.skript.lang.Expression;%0Aimport ch.njol.skript.lang.SkriptParser;%0Aimport ch.njol.skript.lang.UnparsedLiteral;%0Aimport ch.njol.skript.lang.util.SimpleExpression;%0Aimport ch.njol.util.Kleenean;%0A%0Apublic class ExprJavaTypeOf extends SimpleExpression%3CJavaType%3E %7B%0A  static %7B%0A    PropertyExpression.register(ExprJavaTypeOf.class, JavaType.class, %22%5Bjava%5D (class%7Ctype)%22,%0A        %22objects%22);%0A  %7D%0A%0A  private Expression%3CObject%3E target;%0A%0A  @Override%0A  protected JavaType%5B%5D get(Event e) %7B%0A    return Arrays.stream(target.getArray(e))%0A        .map(Object::getClass)%0A        .map(JavaType::new)%0A        .toArray(JavaType%5B%5D::new);%0A  %7D%0A%0A  @Override%0A  public boolean isSingle() %7B%0A    return target.isSingle();%0A  %7D%0A%0A  @Override%0A  public Class%3C? extends JavaType%3E getReturnType() %7B%0A    return JavaType.class;%0A  %7D%0A%0A  @Override%0A  public String toString(Event e, boolean debug) %7B%0A    return %22class of %22 + target.toString(e, debug);%0A  %7D%0A%0A  @SuppressWarnings(%22unchecked%22)%0A  @Override%0A  public boolean init(Expression%3C?%3E%5B%5D exprs, int matchedPattern, Kleenean isDelayed,%0A                      SkriptParser.ParseResult parseResult) %7B%0A    target = (Expression%3CObject%3E) exprs%5B0%5D;%0A%0A    return !(target instanceof UnparsedLiteral);%0A  %7D%0A%7D%0A

Add java type property