- Clone MCPConfig from the GitHub repository.
- In the root project directory, run
gradlew :1.13:projectClientApplyPatchesif you want to make a client side mod, orgradlew :1.13:projectServerApplyPatchesif you want to make a server side mod. - Naviage into
versions/1.13/projects/server(orclient). There are a couple of fixes necessary to get the code to compile:- There is a missing class
mcp.MethodsReturnNonnullByDefaultwhich you will have to manually add. A copy can be found here. - If you're making a server-only mod, the anonymous classes in
net.minecraft.item.ItemClockandnet.minecraft.item.ItemCompassneed to be modified to override the method innet.minecraft.item.IItemPropertyGetter. This is never actually called on the server so you can make a dummy implementation.
- There is a missing class
- Copy
versions/1.13/projects/server(orclient) into a separate project folder so you still have a clean copy of 1.13. - TODO: convert mappings from SRG to MCP (optional).
- Inside the new project folder you created, run
gradle eclipseto work in Eclipse, orgradle ideato work in intellij. For this you need to have Gradle installed.
Import this project into your IDE and start modding. To test out your mod you only need to launch in the normal way the IDE provides.
- Once you're done, run
gradle buildinside your modded project directory. This produces a JAR insidebuild/libs. - Also run
gradlew buildin the unmodified project directory (versions/1.13/projects/server) and note the produced JAR insidebuild/libs. - Get a SpecialSource JAR if you haven't already
- Clone SpecialSource from its GitHub repository.
- In the SpecialSource directory run
mvn package. This requires you to have Maven installed. - You will find the built SpecialSource JAR in
target/SpecialSource-1.8.5-SNAPSHOT-shaded.jar.
- Create reverse mappings using my python script in the same directory as
joined.tsrg. This will create a new file calledreversed.tsrg. - Run SpecialSource on each of the unmodded and the modded server JARs, using the following command:
java -jar SpecialSource.jar --in-jar path/to/server.jar --out-jar path/to/obf.jar --srg-in path/to/reversed.tsrg - Filter out only the modified classes using my python script. It takes three arguments, the unmodified obfuscated JAR, the modified obfuscated JAR and the output JAR that will contain only the modified classes.
- Rename the output JAR to something more presentable, and you're ready to distribute!
@sqbi-q hi, the method in this gist is very outdated and there are automated methods now. Your best bet is to check out an old 1.13 revision of my repository https://github.com/Earthcomputer/jarmod-buildsystem-2.