promotional bannermobile promotional banner

Bons and Furious

Push your optimized modpack further: Faster terrain, shorter waits and smoother busy scenes on top of best performance mods. 300+ optimization achieves 9x worldgen, -56% launch time and up to +17% FPS.
Back to Files

Bons and Furious 1.0.23

File namebons_and_furious-1.0.23.jar
Uploaded
Oct 1, 2026
Downloads
39
Size
1.2 MB
Mod Loaders
Forge
File ID
9029397
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:bons-and-furious-1715359:9029397")

Learn more about Curse Maven

What's new

Bons and Furious 1.0.23

Twenty-three more controls since 1.0.21, in two groups: five that give Radium, ModernFix and ImmediatelyFast optimizations back that another mod had switched off (1.0.22, never published on its own), and eighteen new optimizations in vanilla world generation, the client, Forge and six mods. 107 controls (91 optimizations, 4 deliberate changes, 12 fixes), vanilla plus Forge and 40 optional mod targets, every one with its own switch.

Options given back (1.0.22)

Radium and ModernFix switch some of their optimizations off whenever C2ME is installed, even when the C2ME module that would clash with them is turned off in c2me.toml, so neither version ran. A small plugin now flips the option back on when C2ME was the only reason, that module really is off, your own Radium or ModernFix config does not set the option, and the guarded methods match the tested builds. With another C2ME version, or without C2ME, nothing changes.

  • radium_c2me_chunk_access: Radium's fast chunk access (mixin.world.chunk_access) back on while C2ME's chunk-access module is off. A chunk status that still has to be scheduled goes through vanilla's ChunkHolder.getOrScheduleFuture, so C2ME's locks and ordering still apply. In game with C2ME: getChunk on a loaded chunk 81 → 46 ns, getBlockState 133 → 73 ns.
  • radium_c2me_player_chunk_tick: Radium's player chunk tracking back on while C2ME's no-tick view distance is off. Crossing 26 chunk borders called updateChunkTracking 1,458 times instead of 75,000 to 86,000.
  • radium_untrack_chunk_hooks (fix): Radium drops chunks that leave a player's view with ServerPlayer.untrackChunk directly and skips ChunkMap.updateChunkTracking, which SecurityCraft hooks to keep camera chunks loaded. The drop now goes through updateChunkTracking, which calls untrackChunk exactly as before unless a mod cancels it. Applies whenever Radium's player chunk tracking applies, with or without C2ME.
  • modernfix_c2me_cache_strongholds: ModernFix's stronghold position cache back on with C2ME 0.2.0+alpha.12, which does not touch ring placement. About 5 s of ring search saved per 128-position set at world load.
  • immediatelyfast_known_core_shaders: ImmediatelyFast switched HUD batching off in every session because Call of Yucutan replaces one blacklisted core shader through Forge's combined mod_resources pack. That one file, vanilla's shader plus one emissive branch and recognised by its SHA-256, no longer counts. Every other blacklisted shader is decided by ImmediatelyFast as before.

Eighteen new optimizations (all on by default, same results)

Vanilla world generation, both sides:

  • vanilla_noise_column_cache: repeated ground-height queries from structure placement are answered from a bounded table per world generator. The first 256 reuses of every world, then one in 4,096, are recomputed and compared. Pregenerating 512 chunks served 968 of 16,220 overworld queries, each skipping 3.5 to 4.7 ms.
  • vanilla_climate_sample_repeat: a climate sample repeated at the same position by the same thread returns the previous result (32.8% of samples in the pack this was built in). 6.8 → 2.3 µs per repeat; 3.5 million served in that pregen.
  • vanilla_climate_search_repeat: a biome tree search repeated with the same target returns the previous result and leaves the thread's remembered leaf exactly as the search would. 3.2 million served in the same pregen.
  • vanilla_climate_rtree_flat_bounds: each climate tree node keeps its fourteen bounds in one array. 9.6-10.3 → 7.6-8.5 ns per node, every distance equal to Parameter.distance.

Vanilla client and server:

  • vanilla_block_ticking_range_memo (both): the ticking tracker remembers its last chunk lookup together with a version; 84% of the block-entity ticking checks were answered from it.
  • vanilla_animate_tick_uniform_biome (client): ambient-particle biome lookups inside a one-biome section skip the zoom search; 39% of the 1,334 lookups per tick.
  • vanilla_fog_color_sample_memo (client): the 216-biome fog colour sample is computed once per frame instead of up to three times (vanilla, Distant Horizons' fog, Ars Nouveau's sky).

Forge:

  • forge_render_layer_memo (client, with Oculus): every block except leaves remembers its chunk render layers while the shader pack's map and Forge's map are unchanged. 122 → 50 ns per call over 1,109,161 block states, 12-14% of chunk meshing. Oculus's and Embeddium's hooks stay in place, and the memo stays off if another mod hooks that class. An earlier design that replaced the method crashed with Embeddium at startup and was dropped before release.
  • forge_status_ping_channel_groups (both): server-list pings group the network channels once instead of scanning the channel map per mod. 4.2-5.8 → 0.14-0.20 ms per ping with 440 mods; the bytes sent are the same.
  • forge_plain_translation_format (both): translation strings without {, } or an apostrophe skip the message formatter (85,518 of the pack's 88,886 strings).

Mods:

  • distanthorizons_rough_surface_xz_cache (both, Distant Horizons 3.3.2): DH's rough-surface generator probes the terrain density about 35 times per LOD column, and the parts that depend only on x and z are now cached per thread. 3,351 → 494 µs per column, 36,205 parts cached in the overworld. Used only when the density has vanilla function types and 256 probes of the copy match the original.
  • distanthorizons_cloud_pass_invariants (client): the 363 cloud groups share the per-frame level wrapper and colour lookups.
  • structurify_set_data_single_lookup (both, Structurify 2.0.34): one map walk instead of two per structure placement check.
  • chunksending_expiry_queue (both, ChunkSending 3.7): cached chunk packets expire from a deadline queue instead of a walk over every cached packet each tick (2.0-2.5% of the server thread before).
  • entityculling_dirty_cache_reset (client, EntityCulling 1.10.5): the 4 MiB occlusion cache is cleared only where the last pass wrote. 64 → 18 µs per reset, about 100 resets a second.
  • oculus_dh_instance_lookup (client, Oculus 1.8.0): the Distant Horizons shader lookup without Optional chains (3.3 MB/s of allocation before).
  • colorwheel_phase_labels (client, Colorwheel 1.3.0): the 26 render-phase debug labels are built once. 81-141 → 1.5-9 ns per phase change.
  • ambientsounds_dimension_patterns (client, AmbientSounds 6.3.8): dimension name patterns compiled once.

Each figure is the named method in a fixture or an in-game count, not an FPS or TPS number.

Tested

Every mixin applied offline together with every other mod's mixins and access transformers on the same classes, every new patch compared with the original code on the transformed classes, and full 470-mod runs: a client session with shaders and Distant Horizons (121 in-game checks; 74 digests identical with the eighteen switches on and off, covering render layers in five states, all 88,886 translations, and column heights and biomes in 17 dimensions) and dedicated-server runs with 512-chunk pregens, biomes identical on and off. The five 1.0.22 switches ran their own client and server rigs with C2ME on, C2ME off and the switches off.

Updating

Replace the old JAR on client and server; the first start adds the 23 new switches to config/bons_and_furious.properties. From 1.0.15 or earlier, remove bons_pure_optimizations-<version>.jar first (Forge refuses to start with both).

Minecraft 1.20.1 · Forge 47.3.22 or newer · no required dependencies · one JAR for client and server · GPL-3.0-only

Every control is documented on the wiki: https://github.com/BonsUnleashed/bons-and-furious/wiki

This mod has no additional files