senseiwells / EssentialClient

EssentialClient is a client side mod originally forked from Carpet Client for 1.15.2 that implements new client side features
MIT License
77 stars 14 forks source link

Script Crashes via NoClassDefFoundError: net/fabricmc/mapping/reader/v2/TinyVisitor #126

Closed Leialoha closed 9 months ago

Leialoha commented 9 months ago

Minecraft Version: 1.20.2

Essential Client Version: 1.4.0

Arucas Version: 2.3.0

Script:

// temp
import MinecraftClient from Minecraft;
import Java from util.Internal;

Class = Java.classOf("java.lang.Class");

hold();

StackTrace:

FatalError: An unexpected error was thrown
> File: temp, Line: 4, Column: 14, In: Java.classOf::1
4 | Class = Java.classOf("java.lang.Clas ...
  |              ^
  |              net/fabricmc/mapping/reader/v2/TinyVisitor
StackTrace (most recent call last)
Caused by: NoClassDefFoundError - net/fabricmc/mapping/reader/v2/TinyVisitor

Crash:

me.senseiwells.arucas.exceptions.FatalError: An unexpected error was thrown
Caused by: java.lang.NoClassDefFoundError: net/fabricmc/mapping/reader/v2/TinyVisitor
    at me.senseiwells.essentialclient.clientscript.core.ClientScriptObfuscator.obfuscateClassName(ClientScriptObfuscator.java:19)
    at me.senseiwells.arucas.utils.ReflectionUtils.getClass(ReflectionUtils.kt:83)
    at me.senseiwells.arucas.extensions.JavaDef.classOf(JavaDef.kt:226)
    at me.senseiwells.arucas.extensions.JavaDef.access$classOf(JavaDef.kt:29)
    at me.senseiwells.arucas.extensions.JavaDef$defineStaticMethods$1.invoke(JavaDef.kt:178)
    at me.senseiwells.arucas.extensions.JavaDef$defineStaticMethods$1.invoke(JavaDef.kt:178)
    at me.senseiwells.arucas.functions.builtin.BuiltInFunction.invoke(BuiltInFunction.kt:77)
    at me.senseiwells.arucas.builtin.FunctionDef.call$Arucas(FunctionDef.kt:26)
    at me.senseiwells.arucas.classes.instance.ClassInstance.call$Arucas(ClassInstance.kt:34)
    at me.senseiwells.arucas.interpreter.Interpreter.call(Interpreter.kt:585)
    at me.senseiwells.arucas.classes.ClassDefinition.staticFunctionCall$Arucas(ClassDefinition.kt:713)
    at me.senseiwells.arucas.interpreter.Interpreter.visitMemberCall(Interpreter.kt:1243)
    at me.senseiwells.arucas.interpreter.Interpreter.visitMemberCall(Interpreter.kt:69)
    at me.senseiwells.arucas.nodes.expressions.MemberCallExpression.visit(MemberCallExpression.kt:20)
    at me.senseiwells.arucas.interpreter.Interpreter.evaluate(Interpreter.kt:667)
    at me.senseiwells.arucas.interpreter.Interpreter.visitAssign(Interpreter.kt:1169)
    at me.senseiwells.arucas.interpreter.Interpreter.visitAssign(Interpreter.kt:69)
    at me.senseiwells.arucas.nodes.expressions.AssignExpression.visit(AssignExpression.kt:19)
    at me.senseiwells.arucas.interpreter.Interpreter.evaluate(Interpreter.kt:667)
    at me.senseiwells.arucas.interpreter.Interpreter.visitExpression(Interpreter.kt:842)
    at me.senseiwells.arucas.interpreter.Interpreter.visitExpression(Interpreter.kt:69)
    at me.senseiwells.arucas.nodes.statements.ExpressionStatement.visit(ExpressionStatement.kt:14)
    at me.senseiwells.arucas.interpreter.Interpreter.execute(Interpreter.kt:659)
    at me.senseiwells.arucas.interpreter.Interpreter.interpret$Arucas(Interpreter.kt:244)
    at me.senseiwells.arucas.interpreter.ThreadHandler.execute$Arucas(ThreadHandler.kt:28)
    at me.senseiwells.arucas.interpreter.Interpreter$Mother.execute(Interpreter.kt:1310)
    at me.senseiwells.arucas.interpreter.Interpreter$executeAsync$1.invoke(Interpreter.kt:202)
    at me.senseiwells.arucas.interpreter.Interpreter$executeAsync$1.invoke(Interpreter.kt:202)
    at me.senseiwells.arucas.interpreter.ThreadHandler.async$lambda-0(ThreadHandler.kt:44)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.ClassNotFoundException: net.fabricmc.mapping.reader.v2.TinyVisitor
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226)
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    ... 33 more
Leialoha commented 9 months ago

If you are using Fabric, make sure to install the latest version OR backport the Fabric Loader to 0.14.25

senseiwells commented 9 months ago

For version 1.20.2 I have updated EC to support fabric loader 0.15+