You have to move the method call #registerExtensionPoint into a separate class, because the Function within the Supplier accepts a Screen object, whereby you load the Screen class, which then causes the error.
ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, () -> (mc, screen) -> new ModConfig());
First of all i do not recommend you to include you mod as a jar file, it's recommend to publish it to a local maven repository which you then include in your other projects.
Secondly, I don't recommend you use native code with Minecraft. I have already tried this but have found that this can lead to terrible errors.
I have tested the whole thing myself in my IDE and it works for me in IntelliJ:
repositories {
// ...
flatDir {
dirs("libs") // jar file must be in "<project_root>/libs"
}
// ...
}
dependencies {
// ...
implementation fg.deobf("blank:MC-AStar:1.20:1.0") // File pattern must be <name>-<mc_version>-<dependency_version>
// ...
}
When using vanille you have to lerp the model part using partialTicks and two calculated values. In GeckoLib I don't know.
You have to use a dynamic model based on some properties like from a player capability
The only thing I noticed when debugging is that you use System.out for logging.
I would recommend you to use the logger from the mdk because you get information like time, thread or the file directly to the output.