Posted October 6, 20204 yr 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 October 6, 20204 yr by Kevadroz
October 7, 20204 yr 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 October 7, 20204 yr by ChampionAsh5357
October 7, 20204 yr Author 6 hours ago, ChampionAsh5357 said: Extend the configuration of the api to include your mod compile. I'm having trouble to interpret that sentence.
October 7, 20204 yr Sorry, I just reread your question and realized it wasn't your api. Use 'implementation' instead of 'compile', refresh gradle, regen runs, and then try again.
October 7, 20204 yr Author 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)
October 7, 20204 yr 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).
October 7, 20204 yr Author https://gist.github.com/Kevadroz/01d07e6bfb50eb8028a250e48a058659/revisions#diff-c197962302397baf3a4cc36463dce5ea Still not loading, probably i did something wrong... or ¿maybe IntelliJ's fault? I saw a post where someone said that IntelliJ had problems with something like this.
October 7, 20204 yr 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.
October 7, 20204 yr Author 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.
October 7, 20204 yr 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: See settings.gradle. 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.
October 7, 20204 yr Author 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.
October 7, 20204 yr I'm sorry then, that's all I can think of at the current moment. Would you mind posting the debug.log as well and I'll see if I can come up with anything else.
October 7, 20204 yr Author 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.
October 7, 20204 yr 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.