In step 1, we added RL4J core dependencies to bring in RL4J DQN libraries in our application. RL4J Malmo dependencies are added in step 2 to construct the Malmo environment and build missions in RL4J.
We need to add CPU/GPU-specific ND4J backend dependencies as well (step 3). Finally, in step 4, we added dependencies for MalmoJavaJar (step 4), which acts as a communication interface for the Java program to interact with Malmo.