Description
PistonCompression — Modernized
MC 1.12.x • CLEANROOM • JAVA 25
What is this?
This is basically a fixed/modernized version of PistonCompression by Joseph C. Sible.
The mod lets you use six pistons to compress blocks into other blocks or items using the same basic replacement system as the original. The core compression logic and config format remain basically unchanged.
The important fix
Fixed cascading chunk/world generation from the original mod.
The original event handling could trigger compression checks while blocks were being updated, which could cause cascading chunk generation. This version queues the checks and processes them once per server tick, with loaded-chunk checks before accessing blocks.
Piston compatibility
This mod is not compatible with Quark's custom piston behaviour. The original PistonCompression had the same limitation, so this isn't a new issue introduced by this version.
This also applies to Quark: RotN Edition.
If you need custom piston interactions that are compatible, check out Piston API.
The slightly stupid part
I'm sorry, but I redid this on a Cleanroom mod template I had lying around. So this version requires Cleanroom + Java 25 and will not boot on a normal Forge setup.
Completely unnecessary for a tiny 1.12 mod, but it is what it is. ¯\_(ツ)_/¯
Build / tech stuff
- ForgeGradle 2.3 / Java 8 → Cleanroom / Unimined / Java 25
- Compression is now processed at the end of the server tick
Original mod
All credit for the original PistonCompression mod goes to Joseph C. Sible. This project is based on his original work and is intended as a modernized/fixed version for people who still want to mess around with the mod on newer Java setups.
// if you read this, have a great day idk


