#[Multiloader project] Dependency Mixins crashing at runtime?

21 messages · Page 1 of 1 (latest)

copper trout
#

i've been Porting one of my mod projects to Multiloader, but i've hit a problem with Fabric runtime, i've got NeoForge working just fine though.

i am compiling against the NeoForge version of the main dependency mod, but it's also a Multiloader project (in Kotlin), and i don't think the API is any different between them, so my best is something with the mixins.
main dependency in question https://gitlab.com/cable-mc/cobblemon/-/tree/main

code https://github.com/anabsolutesloth/cobblemonboxlink-multiloader
this is the template my project is based off https://github.com/jaredlll08/MultiLoader-Template/tree/1.21.1

log snippet attached, can provide other info at request.

if it's not appropriate to ask for help about this here, ping me and let me know so i can take it elsewhere.

hexed bear
#

looks like you have neoforge dependencies set in common, which will cause issues

copper trout
#

yeah i do, but i can't figure out how to get the mod's common mod dependency to work

#

it's having some errors with mapping stuff after i change it in basically any way

        if(PlayerExtensionsKt.isInBattle(player)) {
                             ^
  class file for net.minecraft.class_3222 not found
\IdeaProjects\cobblemonboxlink-multiloader\common\src\main\java\com\emperdog\boxlink\BoxLinkCommon.java:48: error: incompatible types: ServerPlayer cannot be converted to class_3222
        PCStore pc = Cobblemon.INSTANCE.getStorage().getPC(player);
                                                           ^
\IdeaProjects\cobblemonboxlink-multiloader\common\src\main\java\com\emperdog\boxlink\BoxLinkCommon.java:50: error: cannot access class_3414
        player.level().playSound(null, player.blockPosition(), CobblemonSounds.PC_ON, SoundSource.NEUTRAL, 0.5f, 1.0f);
                                                                              ^
  class file for net.minecraft.class_3414 not found
\IdeaProjects\cobblemonboxlink-multiloader\common\src\main\java\com\emperdog\boxlink\BoxLinkCommon.java:51: error: cannot access class_8710
        new OpenPCPacket(pc.getUuid()).sendToPlayer(player);
                                      ^
  class file for net.minecraft.class_8710 not found```
hexed bear
#

does cobblemon provide a platform agnostic release? if not, you cant reference it in your common either

#

you can create an agnostic interface that is implemented on the platforms and interact with your own interface

copper trout
#

on their maven mod is basically their common package to my understanding, they don't have a multiloader-same-jar release or anything

hexed bear
#

it appears to be intermediary,

class file for net.minecraft.class_3222 not found
is common remapping its dependencies?

copper trout
#

uh i don't think so

#

not too sure how to tell it to

copper trout
#

well, figured the former issue out, had to include fabric-language-kotlin in deps and then it worked
new problem that seems similar to the second batch though
https://paste.gemwire.uk/view/6a781ce0

#

updated the public repo with all the changes i made

surreal gust
#

I started getting the same issue yesterday, very weird

surreal gust
#

Which version of IntelliJ are you running? I updated the IDE yesterday to 2024.3.2, which may or may not have relation to the errors. I downgraded to 2024.2.5 put the obfuscated references continues even after refreshing dependencies, invalidating caches, etc...

copper trout
#

running 2024.3 myself currently

surreal gust
#

Im still having Cannot access class 'net.minecraft.class_3222'. Check your module classpath for missing or conflicting dependencies, what did you do to fix this? Just modImplementation fabric-kotlin?

copper trout
#

what's the full error

surreal gust
#

My IDE is basically not recognizing the mappings through the Cobblemon mod. Outside of the Cobblemon, i'm using the mappings normally

#

Is this what was happening to you?

copper trout
#

that happened to me when i was making my first mod, i resolved it by not using the "common" (mod for cobblemon) package

#

and just using the loader specific instead