Repository navigation
L2 Library
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 L2 Library (mod id l2library; tested with the 2.5.1 builds that ship inside Ars Delight 1.2.2): the effect-icon pass returns at once for entities without client effects, and a fix keeps the other players' effect icons when one player stops seeing a mob. 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 |
|---|---|---|---|---|
l2library_effect_icon_fast_path |
L2 Library 2.5.1-slim (inside Ars Delight 1.2.2) | CLIENT | 1.0.30 | opt |
l2library_stop_tracking_noop |
L2 Library 2.5.1 (inside Ars Delight 1.2.2) | BOTH | 1.0.30 | fix |
Since: 1.0.30 · Target: L2 Library 2.5.1-slim (inside Ars Delight 1.2.2) · Side: CLIENT · Kind: opt
Mixin: EffectIconFastPathMixin
L2 Library: the effect-icon pass returns at once for entities without client effects. After every living entity is drawn, every frame (GeckoLib entities included), L2 Library looked the entity's client effect capability up, checked its "ClientOnly" tag, looked the same capability up a second time and went through its effect map, and only then found that there was nothing to draw. The map only fills when the server sends a tracked effect, which this pack never does. Now the first lookup also checks the map, and when it is empty the pass ends there: nothing was going to be drawn in that case, so the result is the same. An entity with effects goes through L2's code as before. The one difference inside the game is that the second, identical capability lookup is not made for such an entity; capability lookups only read (all 443 in this pack were checked), so nothing can notice. -Dbons_and_furious.l2libraryEffectIconFastPath.shadow=true lets L2's code run every time and checks that the second lookup gives the same capability with an empty map (for testing).
Measured: offline on L2's own classes and Forge's capability dispatcher, 6,000 entity states with and without the capability, effects, client render effects and the ClientOnly tag: the same icons, outcome and provider calls, except the skipped second lookup; 24.5 -> 16.3 ns per drawn entity with no other capabilities, 74 -> 50 ns to 102 -> 45 ns with eight other capabilities attached, 0 bytes either way (median of 9 rounds).
Since: 1.0.30 · Target: L2 Library 2.5.1 (inside Ars Delight 1.2.2) · Side: BOTH · Kind: fix
Mixin: StopTrackingNoopMixin
L2 Library: when one player stops seeing a mob, the other players no longer lose its effect icons. L2 Library shows some mob effects to nearby players. When a player stopped tracking a mob, it sent "this effect ended" for each such effect to the mob's viewers, but Forge has already taken the leaving player off that list by then, so the message only reached the players who still see the mob, and their game wrongly dropped the effect. The message is no longer sent: the leaving player never received it anyway, the others keep the correct state, and a player who comes back into range still gets the effects. In this pack no mod marks effects for L2 Library to show, so nothing changes here; it matters for packs with L2 content mods.
Measured: offline on L2 Library's own class: with a shown effect the original goes on to send the message and the fixed handler returns; without one both do nothing; Forge's order (player removed, then the event) is pinned by the switch's fingerprints.
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