Skip to content

IntelliJ setup

github-actions[bot] edited this page Jan 26, 2026 · 1 revision

Part 1

Install IntelliJ

IntelliJ comes in two versions:

  • Community Edition: Free to download and sufficient for this project (it is not a trial version that expires).
  • Ultimate Edition: Paid version that has support for various frameworks (which we don't need).

You can find versions for Windows, Linux, and macOS on the official website.

No additional plugins are required for this project.

  • start IntelliJ

01-01-initial-prompt

  • select Do not import settings
  • click OK

01-02-ui-theme-selection

  • select Theme
  • click Skip Remaining and Set Defaults

01-03-checkout-from-git

  • select Check out from Version Control
  • select Git

01-04-fill-in-the-form

  • enter your repository/branch details

  • click Test

  • click Clone

  • -- wait ---

You will receive a prompt indicating that your checkout from version control contained a project file. In my experience, attempting to open this file fails to do anything useful.

01-05-do-not-open-it

  • click No

01-06-click-open

  • click Open

01-07-open-the-pom

Browse to the folder you specified for the parent and inside the folder you specified for the git checkout. You should see a pom.xml file.

  • select the pom.xml file
  • click OK

01-08-open-as-project

  • select Open as Project

At this point IntelliJ should be open with the Forge project. However, it will take a while for IntelliJ to download all the project dependencies. This is reflected in the bottom status bar by default.

Part 2

  • select File
  • select Project Structure...

02-01-project-settings

  • select New
  • select JDK

02-02-new-jdk

02-03-jdk-homedirectory

If necessary browse to the JDK directory.

  • click OK

02-04-after-jdk-setup

  • click OK

  • select Run from the top menu

  • select Debug... from the drop down

02-05-edit-configurations

  • select Edit Configurations...

  • click the + in the upper left

02-06-application

  • select "Application"

02-07-debug-setup

  • set the Name to: Forge

  • set the Main class to: forge.view.Main

  • Latest IntelliJ Versions: click Modify options and check Add VM Options

  • set the VM options to:

    • (JAVA 17 and above)

      -Xms768m -XX:+UseParallelGC -Dsun.java2d.xrender=false --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.desktop/javax.swing=ALL-UNNAMED --add-opens java.desktop/java.beans=ALL-UNNAMED --add-opens java.desktop/javax.swing.border=ALL-UNNAMED -Dio.netty.tryReflectionSetAccessible=true

  • set the Working directory to %MODULE_WORKING_DIR%

  • set Use classpath of module to: forge-gui-desktop

  • click Debug

  • -- wait --

If all goes well, you should eventually see the Forge splash screen followed by the main UI.

Adventure Mode debugging on Desktop

Follow the same steps to create a Run Configuration, but use forge-gui-mobile-dev as the module and forge.app.Main for the main class.

How to find & fix card errors

When you have no initial lead a good idea is setting a breakpoint at AbilityUtils.resolve. From there you can step towards the individual effects (unless something is seriously broken): 02-08-debugger

Another approach if you can't quickly find any obvious errors in the code:

  • compare scripts with the same effect variants (ideally newer ones)
  • use git blame to check if the script was recently updated - sometimes the cause is from a typo introduced

Clone this wiki locally