2 | Setting up the workspace
By far one of the most time consuming parts of this tutorial.
Creating a new Project
Open IntelliJ and click "New Project". Follow the instructions posted below.

Name it as your client name, then click finish.
Setting up our build.gradle
Open the build.gradle inside your project, then paste the build.gradle from here into the one in your project.
You get to decide the following things:
Project Name:
The name of your client.
Group Name:
This is a top level layout of your package structure, please read here if you do not understand what it is
Now just replace all the:
GROUP_NAME 's inside the build.gradle with your Group Name you decided earlier.
BASE_NAME 's inside the build.gradle with your Project Name.
PROJECT_NAME 's inside your build.gradle with your Client Name.
An example build.gradle is available here.
Quick Gradle Edit
Open the file gradle-wrapper.properties
project
-> gradle
-> wrapper
-> gradle-wrapper.properties <-- Open this fileIt should look roughly like this
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/distsWhere the line distribution is, change the distributionUrl so the version is 4.7, like so:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/distsThen click the Load Gradle Changes button on the top right.

Are you getting an error that looks similar to this?
Could not find net.minecraft:minecraftBin:1.8.9.
Searched in the following locations:
https://maven.minecraftforge.net/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.pom
https://maven.minecraftforge.net/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.jar
https://repo.maven.apache.org/maven2/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.pom
https://repo.maven.apache.org/maven2/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.jar
https://libraries.minecraft.net/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.pom
https://libraries.minecraft.net/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.jar
https://jitpack.io/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.pom
https://jitpack.io/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.jar
https://repo.spongepowered.org/maven/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.pom
https://repo.spongepowered.org/maven/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.jar
https://jcenter.bintray.com/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.pom
https://jcenter.bintray.com/net/minecraft/minecraftBin/1.8.9/minecraftBin-1.8.9.jarI'm not sure what the exact solution to this error is, but I ended up fixing it by running a bunch of other gradle tasks ¯\_(ツ)_/¯
This will take a bit of time, so just wait for it to download and install gradle
Setting up the Basics
Create the file mixins.PROJECT_NAME.json, with the word PROJECT_NAME replaced with the project name that you decided on earlier, in the folder src/main/resources
project
-> src
-> main
-> resources
-> mixins.PROJECT_NAME.json <-- Create this fileInside mixins.PROJECT_NAME.json add the follow json
{
"required": true,
"compatibilityLevel": "JAVA_8",
"verbose": true,
"package": "GROUP_NAME.PROJECT_NAME.mixins",
"refmap": "mixins.PROJECT_NAME.refmap.json",
"mixins": []
}For example if my GROUP_NAME was me.ddozzi and my PROJECT_NAME was ExampleClient this would be my json:
{
"required": true,
"compatibilityLevel": "JAVA_8",
"verbose": true,
"package": "me.ddozzi.exampleclient.mixins",
"refmap": "mixins.exampleclient.refmap.json",
"mixins": []
}Final Touches
Creating the Skeleton
In the java folder outlined below, create a folder structure separated by dots, with your project name, and a mixins folder
project
-> src
-> java <-- Go hereFor example, if my group ID was me.ddozzi, and my project name was ExampleClient, I would create a folder structure like so
project
-> src
-> java
-> me
-> ddozzi
-> ExampleClient
-> mixinsIf you're missing the src folder, you'll have to delete the current project, and start again from the beginning.
Configuring the Project:
Run the Task :setupDecompWorkspace which can be found here:

Next, run the task :genIntellijRuns, this should be very quick.

Click on the dropdown next to the run icon, and select Edit Configurations

You'll see that Minecraft Client is errored, but that's totally normal. Once you're in the Edit Configurations Menu, change the -cp to PROJECT_NAME.main , click apply, then exit.

Congrats! You've set up the workspace! In the following tutorials, we can actually start making things!
You won't be able to run your client just yet, as we haven't created a tweaker. But, we'll get to that in the next tutorial
Last updated
Was this helpful?