Repository navigation
TaCZ
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.
Two controls for Timeless and Classics Zero (TaCZ) 1.20.1-1.1.5 (mod id tacz): the synced-data holder is resolved once per tick, and the sync collections are filled with plain loops instead of stream collectors. Since 1.0.30 the first one applies to TaCZ 1.1.5 to 1.1.7, is skipped on 1.1.8 and steps aside while TaCZ Tweaks is installed; its section has the details. Every 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 | Result |
|---|---|---|---|---|---|
tacz_sync_collections |
TaCZ 1.1.5 | BOTH | 1.0.1 | opt | 77–81 % less allocation |
tacz_sync_scope |
TaCZ 1.1.5 | BOTH | 1.0.0 | opt | 128 → 16 B per tick |
Since: 1.0.0 · Scripts (1.0.19 and earlier): bons_and_furious-SyncedEntityData.js, bons_and_furious-LivingEntityMixin.js · Helper: agentcraft.pure.TaCZScope
Patched: com.tacz.guns.entity.sync.core.SyncedEntityData.getDataHolder and TaCZ's LivingEntityMixin.onTickServerSide
Mixins (since 1.0.20): SyncedEntityDataMixin, TaczLivingEntityMixin
What upstream did. TaCZ's server-side living-entity tick resolved the entity's synced-data capability holder separately for each of eight adjacent state writes, every tick, for every living entity.
What the patch does. Opens a scope around those writes so the holder is resolved once and reused. The handle is checked for validity; a different entity or an absent holder falls back to the original lookup; scopes nest; exceptions clean the scope up.
What stays the same. Every setter, tick, dirty flag, registration check, packet payload and invalidation; no entity is retained after the scope ends. 27,398 native dedicated-server assertions, including 200 randomised update sequences and 4,000 parallel scope iterations.
Measured. Eight holder resolutions: 128 → 16 B and 0.378 → 0.235 µs per tick (medians of eight alternating rounds).
Since 1.0.30. Applies to TaCZ 1.1.5 to 1.1.7 (the same class) and is skipped on TaCZ 1.1.8, which added charged shots to that class. It steps aside, with one log line, while a mod that builds on TaCZ's own version of this code is installed (TaCZ Tweaks); before, that combination stopped the game at start.
Since: 1.0.1 · Scripts (1.0.19 and earlier): bons_and_furious-DataHolder.js, bons_and_furious-SyncedEntityDataEvent.js · Helper: AcCollections
Patched: DataHolder.gatherDirty / gatherAll and SyncedEntityDataEvent.onServerTick
Mixins (since 1.0.20): DataHolderMixin, SyncedEntityDataEventMixin
What upstream did. Built the per-tick dirty-data lists and the packet routing lists with stream collectors.
What the patch does. Ordered ArrayList loops that keep gather, self-send, tracking-send and clean as separate phases in the original order.
What stays the same. Entry identity, collection order, mutable-list behaviour, dirty-state transitions, self/tracking membership and byte-for-byte packet serialisation; equal across 2,000 randomised sequences in the native server fixture.
Measured. Dirty collection 432 → 80 B per call and routing 688 → 160 B per call (77–81 % less allocation).
Bons and Furious is licensed GPL-3.0-only with upstream notices retained. Target mod names identify compatibility targets and do not imply endorsement; their code, assets and licenses remain their authors' property. All measurements on this wiki are focused method, phase or reproduction measurements from the pack the mod was built for, taken on the historical build named in each entry; they are not whole-game FPS or TPS promises and are not additive.
Bons and Furious
Minecraft 1.20.1 / Forge 1.0.34
- Home
- Installation and configuration
- How the patches are applied
- All controls
- Measurements and caveats
- Whole-modpack benchmark
- Troubleshooting and log messages
- Generation context fixes
- Version history
Compatibility
- Compatibility
- Known conflicts and workarounds
- Tested mod list
- Redundant mods
- Compatibility and target versions
Controls by mod
- Minecraft (51)
- Forge (6)
- Ad Astra (1)
- Alex's Caves (4)
- Alex's Mobs (2)
- Almost Unified (1)
- AmbientSounds (3)
- Architectury API (1)
- Ars Nouveau (2)
- Artifacts (1)
- Better Combat (1)
- Bosses of Mass Destruction (1)
- Butterflies (1)
- ChunkSending (1)
- CIT Reforged (1)
- Citadel (1)
- CoFH Core (1)
- Colorwheel (1)
- Cooking for Blockheads (1)
- Create (4)
- Critters and Companions (1)
- Cryptic Foes (2)
- Cucumber (1)
- Curios API (6)
- Distant Horizons (17)
- Dungeons Delight (1)
- Dynamic Trees (2)
- Embeddium (13)
- Entity Model Features (4)
- Entity Texture Features (1)
- EntityCulling (1)
- FancyMenu (1)
- Farmer's Delight (2)
- FD Bosses (2)
- Fowl Play (2)
- Fusion (2)
- GeckoLib (5)
- Goblins Tyranny (2)
- Hostile Villages (2)
- Ice and Fire (6)
- ImmediatelyFast (3)
- Immersive Engineering (1)
- Jaden's Nether Expansion (1)
- JEI (7)
- Kiwi (1)
- L2 Library (2)
- Legendary Monsters (1)
- Lionfish API (2)
- ModernFix (4)
- Mowzie's Mobs (1)
- Mutant Monsters (1)
- Nether Depths Upgrade (1)
- Occult (1)
- Oculus (12)
- Oh The Biomes We've Gone (1)
- Particular (1)
- Pehkui (1)
- Pipez (2)
- Placebo (1)
- Presence Footsteps (1)
- Radium Re-Reforged (8)
- Regions Unexplored (1)
- Relics (2)
- Ribbits (1)
- Ryoamic Lights (2)
- Sake's Structures (1)
- Scorched (1)
- Scuba Gear (1)
- Simply Swords (1)
- SlashBlade: Resharped (1)
- Slice & Dice (1)
- Spawn (4)
- Storage Drawers (2)
- Structure Gel API (1)
- Structurify (3)
- TaCZ (2)
- TerraBlender (2)
- Terramity (1)
- Under the Moon (1)
- Valkyrien Skies (15)
- Trackwork model repair
- Living Engineering (moved out in 1.0.20)
Links