CBMultipart Rescaled
A port of CBMultipart / Forge Multipart for Minecraft 1.12.2, built for Cleanroom with Java 25 and Scala 3.
It lets multiple functional parts share a single block space. This includes microblocks and multipart versions of vanilla torches, levers and buttons.
Changes
- Rebuilt for Cleanroom, Java 25 and Scala 3.
- Added optional Demonica support so shaders can identify each microblock's original material.
- Fixed Scala 3 trait handling, including nested traits, field initialization and lazy values.
- Fixed scheduled ticks after tile replacement and chunk loading, including worlds with missing part types.
- Fixed block conversion, redstone connections and hopper access to inventory parts.
- Fixed part and material synchronization, including singleplayer registry handling and outdated client block data.
- Preserved missing material names in saves, item drops and pick-block results. Missing-material placeholders cannot be used in recipes.
- Fixed crashes involving detached parts and empty multipart tiles, and released world references after rendering.
- Includes fixes adapted from GTNH's ForgeMultipart fork and regression tests.
Requirements
- Java 25 (OpenJDK)
- Cleanroom 0.7.14 or newer
- Scalar 3.9.0 or newer within the 3.9.x series
- CodeChicken Lib CRE 3.3.10 or newer
Optional shader integration: Demonica.
For developers
Available from Sumire Labs Maven:
codechicken:CBMultipart-Rescaled:<version>
Credits
- TheCBProject/CBMultipart: Original CBMultipart / Forge Multipart code.
- kappa-maintainer/CBMultipart: Cleanroom and Scala 3 port.
- ACGaming/CBMultipart: Control-key handler memory leak fix.
- GTNewHorizons/ForgeMultipart: Multipart and microblock bug fixes adapted for Minecraft 1.12.2.

