Minecraft 1.13 modding with Forge – 1 – Setting up a dev environment

Hello everyone,

Forge for Minecraft 1.13 has been released, so here is the first part of the tutorial! Warning: the way I structured my code and the way I wrote the code may not be the ideal way!

Before I get started:
You should have an IDE installed. I will be using IntelliJ IDEA, but it is also possible to use Eclipse. I will not be teaching Java so you should do a Java tutorial first if you don’t have any experience. Most steps are the same on different operating systems, but some steps may differ (like opening a command prompt).

Well, let’s get started!

  1. First, you should download the latest version of Forge (This tutorial will be for Minecraft 1.13). At the time of writing, this is version 25.0.10. Go to the Forge download site and download the MDK (Mod Development Kit).
  2.  Extract the downloaded file to an empty folder. You should see a lot of files:
    You don’t need all of these files to get started.
    You only need:

    • the gradle folder
    • The .gitignore file (Not technically needed but very useful!)
    • build.gradle
    • gradle.properties
    • gradlew
    • gradlew.bat
  3. Copy these files in a new folder. I called my folder: “ForgeTutorial”. I will be referring to this folder as the root folder.
  4. Now import the project in your IDE of choice, I’ll be using (and explaining it for) IntelliJ IDEA.
    1. Click on Import Project, or File –> new –> project from existing sources
    2. Browse to your root folder and select the build.gradle
    3. Make sure you have “Use auto-import” and “Create directories for empty content roots automatically” are both checked.
    4. IntelliJ should automatically make gradle initialize everything needed. (This may take a couple of minutes, for me it took about 5 minutes)
  5. In IntelliJ you need to run genIntellijRuns, you can do this by either running the command:
    ./gradlew genIntellijRuns

    or by opening the gradle menu and under “Tasks/other” double clicking genIntellijRuns. After running this you’ll get a client and server run task, the first time you run it’ll ask you to fix an error, you fix this by selecting the main module in the “Use classpath of module:” selection list.

  6. Now you are ready to start modding!

You probably also want to set up a git repository so you can share your code and people can help you. If you know how to do this you can just skip to the next part.

I’ll explain how to put the repository on GitHub, there are other websites where you can put it but I am familiar with GitHub.
To create a repository and upload your code follow the following steps:

  1. Create an account at github.com
  2. Create a repository by clicking the plus button at the top right.
  3. Copy the URL it gives you, the URL should be in the following format: https://github.com/USERNAME/REPONAME.git
  4. Download git and install it
  5. Open a PowerShell/command prompt/terminal. If you are on Windows you can hold shift and right click in the root folder.
  6. run:
    1. git init      This will initialize the git repository
    2. git remote add origin URL FROM STEP 3       This will tell git where to upload the code
    3. git add .     This will add all of the files in the current repository to your git repo. Make sure you add the “.”!
    4. git commit -m “My first commit!”    This will tell git to remember the state of all your files at this point in time
    5. git push origin master     This will upload your code to the repository you made earlier!
  7. Now when you made changes you only need to run:
    1. git add .
    2. git commit -m “Message explaining changes”
    3. git push origin master

I hope that was easy to follow! If you have any question, don’t hesitate to ask in the comments! Also, if you saw any errors in the tutorial please let me know so I can fix it!
Next time we will start setting up the MainMod file.

Also thanks to R3tromanCZ for checking this tutorial before release!

Till next time!


Posted in Forge tutorial, Forge Tutorial 1.13.

Leave a Reply

Your email address will not be published. Required fields are marked *