Posted May 22, 20169 yr Hi, I am trying to develop an addon for a mod but I do not quite understand the dependencies part of the @Mod Annotation. Can someone clarify this for me? This is my @Mod Annotation as of now: @Mod(modid="addon", version="0.1", name="Tree Generation Addon", dependencies="required-after:[1.7.10]Mac's Utilities v2.0.1.jar") What is the exact format for this?
May 22, 20169 yr "required-after:ModID@[1.0,);required-after:ModID2@[1.0];required-after:ModID3" Which translates to require ModID with version 1.0 or higher, ModID2 with version 1.0, ModID3 of any version. http://mcforge.readthedocs.io/en/latest/conventions/versioning/ 1.7.10 is no longer supported by forge, you are on your own.
May 22, 20169 yr You don't put the name of the jar! The name of the jar is meaningless, and players can rename them to anything they want (as long as it ends in .jar) Each mod instead has a unique MODID that is used to refer internally to each mod. Yours is "addon" (I recommend changing that to something unique). My mod has a dependency on DrCyano's Base Metals mod. But I don't put "BaseMetals_1.9-2.2.2.jar", I use the modid, "basemetals" - if I want any version. If I want specifically version 2.2.2 , i put "basemetals@[2.2.2]", and if I want 2.2.2 OR LATER I put "basemetals@[2.2.2,)" - yes a square bracket and a round one, it's set notation. I'm pretty sure you can find the modid in the Mods menu.
May 22, 20169 yr Author You don't put the name of the jar! The name of the jar is meaningless, and players can rename them to anything they want (as long as it ends in .jar) Each mod instead has a unique MODID that is used to refer internally to each mod. Yours is "addon" (I recommend changing that to something unique). My mod has a dependency on DrCyano's Base Metals mod. But I don't put "BaseMetals_1.9-2.2.2.jar", I use the modid, "basemetals" - if I want any version. If I want specifically version 2.2.2 , i put "basemetals@[2.2.2]", and if I want 2.2.2 OR LATER I put "basemetals@[2.2.2,)" - yes a square bracket and a round one, it's set notation. I'm pretty sure you can find the modid in the Mods menu. Now that I have it formatted as such, @Mod(modid="macutiladdon", version="0.1", name="Tree Generation Addon", dependencies="required-after:macid@[2.1.0]") Is there anything else I need to do? Because I tried running it, with the correct jar in the mods folder and it doesn't work. it just come up with a screen that says, "Forge Mod Loader has found a problem with you minecraft installation You have mod sources that are duplicate within your system Mod Id : File name macid : [1.7.10]Mac's Utilities v2.1.0..jar macid : [1.7.10]Mac's utilities v2.1.0..jar" The only other place I have the jar is as a referenced library in eclipse.
May 22, 20169 yr That's curious. Unzip your JAR file and have a poke around - has the referenced JAR ended up inside it? If it has, delete it from inside your JAR and figure out what's up with your build process that it's doing that. It shouldn't, for reference.
May 22, 20169 yr Author That's curious. Unzip your JAR file and have a poke around - has the referenced JAR ended up inside it? If it has, delete it from inside your JAR and figure out what's up with your build process that it's doing that. It shouldn't, for reference. I can't run the gradlew build command in the command line. this is all in eclipse. Would it help if I provided a list of how I set up the project? My setup process was 1. Download src from forge site 2. unzip and place files in a folder. 3. run gradlew setupDecompWorkspace eclipse 4. open eclipse and right click project > Properties > Java Build Path > Libraries > Add External Jar > Select Jar > Open > Apply
May 22, 20169 yr If the library you are adding is a mod, it cannot be in /mods/. Doing so will cause it to be loaded by both eclipse (as library) and forge itself (as mod). Have it elsewhere. As to other "required things" - remember to have deobfuscated jar and attach source. 1.7.10 is no longer supported by forge, you are on your own.
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.