Jump to content

Recommended Posts

Posted (edited)

I'm trying to add a dependency on a mod of mine's but when i want to test my code and run the game in IntelliJ the mod "vexAPI" (vanillaExtensionAPI) isn't loaded / detected by forge (like if it was a compileOnly dependency) and if I try to interact with any class the game runs on a Exception (probably ClassDefNotFound, can't remember (too lazy to replicate it now)). Here's the gist with anything i think is relevant: https://gist.github.com/Kevadroz/01d07e6bfb50eb8028a250e48a058659, ask for any other code/file you want. The commented SourceSet just loads yaamcem's sources when i ty to use it, same if i replace the sting with ":vexAPI". What am i doing wrong? What can i do to fix it? Thanks for any given help (if any). Also, if you are gonna say "use a multibuild setup", i already tried, same problem.

EDIT: Just noticed there's a ForgeGradle SubForum, i wish i saw it before posting this
EDIT2: Whould be nice for this to be moved into the correct SubForum

Edited by Kevadroz
Posted (edited)

Isn't compile the old method of doing it? I thought it was implementation now.

 

Also, you probably need to extend the configuration of the api to include your mod compile. Something like this in Example 1.

Edited by ChampionAsh5357
Posted
45 minutes ago, ChampionAsh5357 said:

Sorry, I just reread your question and realized it wasn't your api.

No, i'm the one who's sorry for not specifying that it IS my api (well, the api part of that mod isn't done yet, i need development and testing of the mod itself before doing anything)

Posted
3 minutes ago, Kevadroz said:

No, i'm the one who's sorry for not specifying that it IS my api

Ah, well then you probably need to create a configuration block (e.g. configurations{...}) and having the compile from one classifier to extend from another (e.g. <classifier>Compile.extendsFrom compile).

Posted

Maybe, I might also just be giving you incorrect information as well as gradle tends to be spaghetti when it comes to anything. I'm assuming that you already did the refresh, regen, and then run I mentioned above?

 

I am working off the assumption that the api is part of the current folder structure.

Posted
1 minute ago, ChampionAsh5357 said:

Maybe, I might also just be giving you incorrect information as well as gradle tends to be spaghetti when it comes to anything. I'm assuming that you already did the refresh, regen, and then run I mentioned above?

Yes, tough that "run I mentioned abobe" isn't completely clear to me. I just did a "runClient", the mod didn't load, but the path was detected:

[07oct2020 17:36:16.110] [main/DEBUG] [net.minecraftforge.fml.loading.LibraryFinder/CORE]: Found JAR classpath_mod at path /home/kevin/Documentos/mc-mods/forge/modRoots/vanillaExtensionAPI/build/resources/main
1 minute ago, ChampionAsh5357 said:

I am working off the assumption that the api is part of the current folder structure.

See settings.gradle.

Posted
1 minute ago, Kevadroz said:

tough that "run I mentioned abobe" isn't completely clear to me

Well once you change your build.gradle, you need to tell your client, server, and data start that the information has changed. That's done by refreshing the gradle dependencies, regenning the runs, and then clicking on either runClient, runServer, or runData. Else, it won't recognize anything that has changed.

3 minutes ago, Kevadroz said:

Hmmm, this should work imo with my knowledge in gradle. My only other thought is that the api is not a mod itself. And if that's the case you need to include the one with the mod annotation.

Posted
1 minute ago, ChampionAsh5357 said:

Well once you change your build.gradle, you need to tell your client, server, and data start that the information has changed. That's done by refreshing the gradle dependencies, regenning the runs, and then clicking on either runClient, runServer, or runData. Else, it won't recognize anything that has changed.

That's what i did

1 minute ago, ChampionAsh5357 said:

Hmmm, this should work imo with my knowledge in gradle. My only other thought is that the api is not a mod itself. And if that's the case you need to include the one with the mod annotation.

It is a mod.

Posted

Tough it is not a solution i like, packing a jar without reobfing and putting it in the mods folder works... so it isn't of high priority to me, as i'm coding features completely or almost completly before implementing them on other mods, so i don't need to pack it often at all, but it whould be good to know how to this properly, i wish i could use mavenLocal, but that also doesn't work (doesn't detect te artifact). Well, here's the debug.log.

Posted

So, just as a notice, it recognizes that the resource class path exists; however, it doesn't recognize the actual mod itself. I can see that from this line: 

Quote

[07oct2020 17:36:17.639] [main/DEBUG] [net.minecraftforge.fml.loading.moddiscovery.ModDiscoverer/SCAN]: Found 3 mod files with 3 mods

So it most likely doesn't recognize your mod as a dependency for some reason. Either because it's not compiled onto the build path or something else not recognizing it as an actual jar. That's my final bit of insight.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Add the crash-report or latest.log (logs-folder) with sites like https://mclo.gs/ and paste the link to it here  
    • So i have a forge modded aternos server that worked just fine for a month untill today it suddenly crashes most of the time giving errors and idk which mod is causing the error or its smth else here is the crash log link https://mclo.gs/gGkzGKT
    • Struggling to decipher a crash report I'm getting in a custom modpack I'm tinkering with. The crash happens on startup, but weirdly, only some of the time. It seems to be related to Steves Carts, but weirdly it only started happening recently, and I can't identify if another mod is conflicting, or why it is only happening some of the time:   java.lang.NullPointerException: Cannot invoke "net.minecraft.world.entity.player.Player.m_20202_()" because "player" is null at vswe.stevescarts.events.OverlayEventHandler.onRenderTick(OverlayEventHandler.java:24) ~[stevescarts-1.20.1-1.1.14.jar%23527!/:1.20.1-1.1.14] {re:classloading} at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.5.jar%23127!/:?] {} at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.5.jar%23127!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%23127!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%23127!/:?] {} at net.minecraftforge.event.ForgeEventFactory.onRenderTickEnd(ForgeEventFactory.java:919) ~[forge-1.20.1-47.1.106-universal.jar%23581!/:?] {re:mixin,re:classloading,pl:mixin:APP:modernfix-forge.mixins.json:perf.potential_spawns_alloc.ForgeEventFactoryMixin,pl:mixin:A} at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1148) ~[client-1.20.1-20230612.114412-srg.jar%23576!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23576!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,xf:fml:xaerominimap:xaero_minecraftclient,xf:fml:xaeroworldmap:xaero_wm_minecraftclient,pl:mixin:A,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:218) ~[minecraft-1.20.1-client.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A}     Including some extra info in case any of it is relevant^. Appreciate any ideas/advice!    
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.