mirror of
https://github.com/GTNewHorizons/ForgeMultipart.git
synced 2026-11-13 00:47:52 +00:00
e2122ad822fb33412a31676582b85e1c58e4e89b
The convention plugin's jvmDowngrader mode forces a project wide Java 25 toolchain and Scala 2.11.5 cannot run above Java 8, so compileScala fails outright. forceToolchainVersion cannot bridge it because the mode refuses a toolchain below its multi release maximum and that list refuses entries below 9. Also note why the modern helpers cannot simply move to src/main/java.
ForgeMultipart
An API for dynamically handling different functional parts in the one block space.
Requirements:
- The latest version of CCL (files.minecraftforge.net/CodeChickenLib/)
- Forge
- JDK 8 and JDK 25. The mod targets Java 8, but a small set of helpers is compiled at Java 21 by the
compileModernJavatask and downgraded to Java 8, so both toolchains must be resolvable to build. - A scala compatible IDE and project (For eclipse, download the scala eclipse plugin and right click on the project -> Add Scala Nature).
Most of the codebase is Java now; the Java sources live under
src/main/scalaso they can be joint-compiled with the Scala files that remain.
If you only want to use the API and not modify it:
- Download the latest dev version from files.minecraftforge.net/ForgeMultipart/
- Download the latest dev version of CCL.
- Place both mods in your /libs/ folder and link them as libraries in your IDE.
Implementation of all parts of the API should be clean and easy in Java. The minecraft multipart mod is implemented in java as a test case.
See the Java API index for supported entry points, compiling examples, ownership/lifecycle contracts and migration status. It links to factory registration, material enumeration, part traversal, tile loading and occlusion guides.
Languages
Scala
85.4%
Java
14.6%