mirror of
https://github.com/GTNewHorizons/ForgeMultipart.git
synced 2026-11-12 16:37:38 +00:00
0fdf9e5e7595f89cf7b3d5ca2f285bbf0018dd8b
Plain-JVM coverage for the half that needs no world: the id guard on createTileFromNBT and the whole of IPartTileConverter. MultipartSaveLoad cannot class-initialize headless, which makes it a usable probe -- returning null rather than raising a LinkageError is what proves the guard short-circuits before the loadingWorld assignment. Forge server coverage for the rest, none of which is reachable headless: createTileFromParts runs the ASM generator, the NBT round trip needs the save/load hooks, registerTileConverter appends to a Scala MutableList, and sendDescPacket needs a loaded chunk. Also pins the two static descriptors other jars link against and the MultipartHelper/MultipartHelper$ names guidenh reflects on, which the ABI diff cannot see. 107 plain-JVM tests, 10 Forge server tests.
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%