Skip to content

Citadel

BonsUnleashed edited this page Oct 7, 2026 · 3 revisions

Citadel

Minecraft 1.20.1 / Forge: this page documents that build and its measurements. For the separate 170-control Minecraft 1.21.1 port, see Minecraft 1.21.1 NeoForge.

One control for Citadel 2.6.1 (mod id citadel), client-side: model boxes are drawn without creating new vectors for every vertex. The switch checks the code it would change against the tested build; another build is left untouched with one WARN line (see How the patches are applied).

Key Target Side Since Kind
citadel_model_vertices Citadel 2.6.1 CLIENT 1.0.28 opt

citadel_model_vertices

Since: 1.0.28 · Target: Citadel 2.6.1 · Side: CLIENT · Kind: opt

Mixin: CitadelBoxVerticesMixin

Citadel model boxes without new vectors per vertex. Citadel draws its model boxes (Alex's Mobs, Alex's Caves, Ice and Fire and many more) with a new vector for every quad's normal and every vertex's position. In a full pack the JIT does not remove them: the review-8 profile had 90 MB of these vectors in 90 seconds, 1.2% of the render thread's time. On the render thread both now come from one reused vector set to the same values, and the same matrix math runs on it, so every vertex written is the one Citadel writes. Other threads allocate as before.

Measured: 11,744 -> 800 B per 12-box model render on real classes (5% less time in the bench); 7,480 checks of models compared byte for byte.

Bons and Furious

Minecraft 1.20.1 / Forge 1.0.34

Compatibility

Controls by mod

Links

Clone this wiki locally