Skip to content

Particular

BonsUnleashed edited this page Oct 10, 2026 · 5 revisions

Particular

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

One control for Particular 1.2.7 (mod id particular), client-side: chests remember whether their block state is waterlogged. 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
particular_chest_waterlogged_memo Particular 1.2.7 CLIENT 1.0.30 opt

particular_chest_waterlogged_memo

Since: 1.0.30 · Target: Particular 1.2.7 · Side: CLIENT · Kind: opt

Mixins: ChestBubbleWaterloggedMixin, EnderChestBubbleWaterloggedMixin

Particular: chests remember whether their block state is waterlogged. Particular's soul-sand bubbles check every chest and ender chest in loaded chunks on every client tick, and the first thing they ask is whether the chest's block state is waterlogged. Nearly every chest is dry, so that one question is the whole cost, and with FerriteCore it goes through a hash lookup of the state's properties each time. A block state never changes, so the answer is now remembered per state (the few chest states in use) and the remembered answer is the very value the state gives. Everything else Particular does is unchanged.

Idea: our own (found in our own 1.0.26 profile: Particular's chest handler, 0.20-0.48% of the client main thread).

Measured: offline on the real classes with FerriteCore's state map and Particular's handlers: 9.6 -> 4.7 ns per chest (2.0x), 254 -> 238 ns when other block-state work runs in between (1.06x), no allocation; 3.7 million answers identical over every block state of the game, also from six threads at once and for states without the property.

Bons and Furious

Minecraft 1.20.1 / Forge 1.0.39

Compatibility

Controls by mod

Links

Clone this wiki locally