Skip to content

Cucumber

BonsUnleashed edited this page Oct 7, 2026 · 3 revisions

Cucumber

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 Cucumber 7.0.16 (mod id cucumber): a block entity's update packet is built only when a player is in range to receive it. 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
cucumber_tile_dispatch_range_first Cucumber 7.0.16 BOTH 1.0.28 opt

cucumber_tile_dispatch_range_first

Since: 1.0.28 · Target: Cucumber 7.0.16 · Side: BOTH · Kind: opt

Mixin: TileEntityHelperDispatchMixin

Cucumber block entity updates built only for someone. Cucumber sends a block entity's update by first building the packet (its whole saved data: inventory, energy, progress) and then sending it to each player within 64 blocks. Mystical Agriculture's machines do this every tick they run, so an unattended machine wrote its data every tick for nobody. The switch asks Cucumber's own range question first and builds the packet only when someone is in range; the players, their order and the packet are unchanged. Block entities whose class builds its own update packet keep the original order.

Measured: 782 ns and 3,664 B -> 3 ns and 0 B per dispatch with nobody in range, on real classes; 117,093 checks identical.

Bons and Furious

Minecraft 1.20.1 / Forge 1.0.34

Compatibility

Controls by mod

Links

Clone this wiki locally