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.
Sorry, I completely forgot about it.
First of all, there is a problem in your recipes. You load a property "result" from your recipes in the Serialiser, but in the recipe you specify "ouput". (Read your logs!)
Secondly, you have two ItemStackHandlers in your BlockEntity, you should use the one from the Capability.
Remove the ItemStackHandler named 'itemHandler' and the problem should be fixed.
It worked for me.
You must use implementation for mods or files to include a mods as dependecy.
See: https://docs.gradle.org/current/userguide/declaring_dependencies.html