mirror of
https://github.com/GTNewHorizons/ForgeMultipart.git
synced 2026-11-12 08:27:50 +00:00
ff380ee3bc9d48f4e0d2f75683be7ccb48274d3a
Splits the characterization across both layers, because part registration needs FML's active mod container and throws without one, so it cannot run headless at all. Plain JVM covers what is reachable: converters are dispatched per block, a converter returning null does not stop the scan, converters registered for another block are never consulted, a converter claiming several blocks is registered for each, and an unknown mod container throws rather than returning null. The Forge server suite covers registration itself, and deliberately exercises both overloads downstream depends on. Content registers through the deprecated IPartFactory array form that seven jars use, and each microblock class registers through the IPartFactory2 varargs form that ProjRed uses, so resolving mc_torch and mcr_face proves both paths. Part ids also round trip through the shared IDWriter carrier. 78 plain-JVM tests and 5 server tests, all passing against the untouched Scala.
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
- A scala compatible IDE and project (For eclipse, download the scala eclipse plugin and right click on the project -> Add Scala Nature)
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.
Languages
Scala
85.4%
Java
14.6%