FireController1847 Posted June 5, 2018 Share Posted June 5, 2018 (edited) Okay, I may be doing this entirely wrong (and I feel kind of bad for making two topics right after each other right before I go to bed), but I am using the "java-discord-rpc" module. I don't think I'm adding it right to build.gradle, but this is all I've done. buildscript { repositories { jcenter() maven { url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'club.minnced:java-discord-rpc:2.0.0' } } apply plugin: 'net.minecraftforge.gradle.forge' //Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. version = "0.1.0" group = "com.visualfiredev.udp" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "Ultimate Discord Pack" sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. compileJava { sourceCompatibility = targetCompatibility = '1.8' } minecraft { version = "1.12.2-14.23.4.2707" runDir = "run" // the mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD snapshot are built nightly. // stable_# stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not always work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "snapshot_20171003" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } repositories { jcenter() } dependencies { // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" // real examples //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, // except that these dependencies get remapped to your current MCP mappings //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // for more info... // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html compile "club.minnced:java-discord-rpc:2.0.0" } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else except the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } Oh, right, and here's the crash report after I take the JAR from build/libs. ---- Minecraft Crash Report ---- // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~] Time: 6/5/18 12:15 AM Description: There was a severe problem during mod loading that has caused the game to fail net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Ultimate Discord Pack (ultimatediscordpack) Caused by: java.lang.NoClassDefFoundError: com/visualfiredev/udp/RPC/UDPRichPresence at com.visualfiredev.udp.Reference.initiateDimensionNames(Reference.java:35) at com.visualfiredev.udp.UltimateDiscordPack.preInit(UltimateDiscordPack.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:627) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) at com.google.common.eventbus.EventBus.post(EventBus.java:217) at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:218) at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:196) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) at com.google.common.eventbus.EventBus.post(EventBus.java:217) at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135) at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:627) at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:245) at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:466) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377) at net.minecraft.client.main.Main.main(SourceFile:123) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) Caused by: java.lang.ClassNotFoundException: com.visualfiredev.udp.RPC.UDPRichPresence at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 43 more Caused by: java.lang.NoClassDefFoundError: club/minnced/discord/rpc/DiscordRichPresence at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ... 45 more Caused by: java.lang.ClassNotFoundException: club.minnced.discord.rpc.DiscordRichPresence at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 49 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.12.2 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_25, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 151264176 bytes (144 MB) / 369098752 bytes (352 MB) up to 8589934592 bytes (8192 MB) JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP 9.42 Powered by Forge 14.23.4.2707 5 mods loaded, 5 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored | State | ID | Version | Source | Signature | |:----- |:------------------- |:------------ |:------------------------------- |:---------------------------------------- | | UCH | minecraft | 1.12.2 | minecraft.jar | None | | UCH | mcp | 9.42 | minecraft.jar | None | | UCH | FML | 8.0.99.99 | forge-1.12.2-14.23.4.2707.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 | | UCH | forge | 14.23.4.2707 | forge-1.12.2-14.23.4.2707.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 | | UCEE | ultimatediscordpack | 0.1.0 | Ultimate Discord Pack-0.1.0.jar | None | Loaded coremods (and transformers): GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 397.93' Renderer: 'GeForce GTX 960/PCIe/SSE2' Edited June 5, 2018 by FireController1847 Quote I am on my journey of making a remake of matmos, as explained here. Link to comment Share on other sites More sharing options...
MDW01 Posted June 5, 2018 Share Posted June 5, 2018 You probably want to add it using maven. They include information on their Github on how to add it to gradle from maven. dependencies { compile 'club.minnced:java-discord-rpc:%VERSION%' } Quote Link to comment Share on other sites More sharing options...
FireController1847 Posted June 6, 2018 Author Share Posted June 6, 2018 (edited) I'm sorry to have to ask this but, how do I add it using maven? I can't understand a lot of these gradle tutorials as they're not for a pure beginner with gradle like me... Wait, that example you showed is from gradle? Don't I already have that? Edited June 6, 2018 by FireController1847 Quote I am on my journey of making a remake of matmos, as explained here. Link to comment Share on other sites More sharing options...
MDW01 Posted June 6, 2018 Share Posted June 6, 2018 Sorry I could have worded that better. So maven can be used as a build script but it is mainly used as a repository for libraries. The example I gave you is for gradle and it will fetch the library from the maven repository and use it to compile your project. You just have to specify a version. Quote Link to comment Share on other sites More sharing options...
MDW01 Posted June 6, 2018 Share Posted June 6, 2018 Once again I apologize I miss read what you had said. If I understand correctly it works when you run it in your workspace but not when you export the jar. This would be because in your workspace your code has access to the jar but when you export it the Minecraft client can not find the library. To fix this you do what is called shading in dependencies. This copies the library into the jar when you export it so your code can still have access to the library once it has been exported. I recommend you use this Gradle plugin to help you shade in your library. https://github.com/johnrengelman/shadow If you need any help figuring out how to use this let me know. Quote Link to comment Share on other sites More sharing options...
FireController1847 Posted June 7, 2018 Author Share Posted June 7, 2018 (edited) I'm not sure whether I should downgrade shadow or upgrade gadle? What do I do? FAILURE: Build failed with an exception. * Where: Build file 'D:\Users\FireController1847\Development\Git\_CAT Minecraft\_CAT Mods\mc-ultimate-discord-pack\build.gradle' line: 13 * What went wrong: A problem occurred evaluating root project 'mc-ultimate-discord-pack'. > Failed to apply plugin [class 'com.github.jengelman.gradle.plugins.shadow.ShadowBasePlugin'] > This version of Shadow supports Gradle 3.0+ only. Please upgrade. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED This is my build.grade right now buildscript { repositories { jcenter() maven { url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'club.minnced:java-discord-rpc:2.0.0' classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4' } } apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'com.github.johnrengelman.shadow' apply plugin: 'java' //Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. version = "0.1.0" group = "com.visualfiredev.udp" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "Ultimate Discord Pack" sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. compileJava { sourceCompatibility = targetCompatibility = '1.8' } minecraft { version = "1.12.2-14.23.4.2707" runDir = "run" // the mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD snapshot are built nightly. // stable_# stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not always work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "snapshot_20171003" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } repositories { jcenter() } dependencies { // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" // real examples //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, // except that these dependencies get remapped to your current MCP mappings //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // for more info... // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html shadow "club.minnced:java-discord-rpc:2.0.0" } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else except the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } Edited June 7, 2018 by FireController1847 Quote I am on my journey of making a remake of matmos, as explained here. Link to comment Share on other sites More sharing options...
FireController1847 Posted June 7, 2018 Author Share Posted June 7, 2018 How does one do that? Quote I am on my journey of making a remake of matmos, as explained here. Link to comment Share on other sites More sharing options...
FireController1847 Posted June 7, 2018 Author Share Posted June 7, 2018 (edited) Ah, I see. What is the highest version I should go to that is still compatible with ForgeGradle? Edited June 7, 2018 by FireController1847 Quote I am on my journey of making a remake of matmos, as explained here. Link to comment Share on other sites More sharing options...
MDW01 Posted June 9, 2018 Share Posted June 9, 2018 I think the latest version should still be compatible. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.