Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

To set up a repository, we recommend installing IntelliJ IDEA Community Edition and the Java 8 JDK (which IntelliJ can help you install). Once you do this, you can create a new IDEA project by cloning one of our repositories. In fact, there is an option for this on the IDEA launch page.

Which repository do I clone?

If you want to tweak the configurations of mods or recipes, you'll want to use our main repository, SymmetricDevs/Supersymmetry. If you instead want to work with creating new multiblocks or other more complex features, you'll want to work on the core mod, which is found at SymmetricDevs/Susy-Core. You can learn more about the various repositories that Supersymmetry developers work on in Supersymmetry Projects

In order to actually clone it, you will want to select "Project from Version Control" in IDEA.

image

You can then navigate to the repository you want to clone in your browser and copy this URL found under the "Code" button:

image

Inserting that into the URL field in IDEA and then setting the main repository folder will start the process of downloading it onto your computer.

Working with SymmetricDevs/Supersymmetry

The modpack development cycle primarily works around building the modpack through a program called packwiz. Packwiz creates the ZIP files that can be imported into modpack launchers like PrismLauncher or ATLauncher. The Supersymmetry repository wraps packwiz using Python, which you'll need if you want to use packwiz most efficiently. You may download Python here.

Once you've downloaded Python, you may now build the pack. Open any command terminal to the directory in which the Supersymmetry repository is copied, and then run the following command:

Windows: python3 build\main.py -c

Linux: python3 build/main.py -c

(You may need to modify the above command based on what your Python command is named. Common names include python, python3, and python3.x.)

Once you've performed this command, look in the buildOut folder to see your client.zip! You may now import this into the modpack launcher of your choice. If you want a server instance, remove the -c argument in the command.

Working with SymmetricDevs/Susy-Core

Susy-Core also has a build system known as Gradle (as is used for the majority of Minecraft mods).

Once you've cloned and entered the repository in IntelliJ IDEA, look for a notification in the bottom right that tells you to "Load Gradle Project." Once you click it, it will configure a set of commands you can use to test Susy-Core in a minimal environment. You can look for some particularly common ones in the top-right corner:

image

Selecting any of these will override the selected top-line command "Setup Workspace," allowing you to work more efficiently. Below are some important Gradle "run configurations" for you to know.

2. Run Client

This particular command starts a client instance of Minecraft including Susy-Core and a few other mods required to load it (including GregTech and JEI). If you want to debug Susy-Core, you can click the green bug icon you see here:

image

Careful tracing of the code in debugging mode, involving setting breakpoints, going step-by-step through each line, and looking for points before the glitch has necessarily occurred are essential for finding and fixing bugs.

6. Build Jars

This command builds a set of JAR files in the build/libs folder. After navigating there, you'll notice quite a few files:

image

However, the only one that can be brought into your modpack's mods folder without issue is the one that does NOT have dev at the end of the name (the first one in the picture above). The others are deobfuscated files that only work with IntelliJ IDEA, and they will crash your game if you try to use them in a real modpack instance. (Also, I recommend clearing out this folder before running the command as to not get confused about which version to pick.)