Bons and Furious 1.0.33
Curse Maven Snippet
What's new
Bons and Furious 1.0.33
253 controls for Minecraft 1.20.1 Forge, up from 248 in 1.0.30. This release fixes crashes with the c2meforge port, with Biolith and with Generator Accelerator, starts faster than 1.0.30 and adds five controls. Still one JAR for client and server with nothing else required.
It includes 1.0.31 and 1.0.32, which were not published separately.
Fixed
- Crash with the c2meforge port of C2ME: the game crashed while a world was being created or loaded. That port
and three terrain controls (
terrain_density_memo,terrain_final_density_reuse,vanilla_noise_wrap_presize) change the same calls. The three now step aside, with one log line each, when another mod replaces those calls; nothing changes where no other mod does. Tested with c2meforge 0.2.0-forge.9.8: the world generates, with the same terrain as with c2meforge alone. - Crash with Biolith: the game crashed while a world was being generated, with an
IllegalAccessErrorin the log.vanilla_climate_rtree_flat_boundsreplaced a method of the biome search with a protected copy, and Biolith needs that method to be public. The copy is public now and the control stays on. Terrain is the same with the control on and off. - Crash with Generator Accelerator: a dedicated server stopped at the first world load. Generator Accelerator
replaces the world-generation method that
vanilla_beardifier_influence_boundsadjusts, so that control now steps aside while Generator Accelerator is installed. Tested with Generator Accelerator 1.4.10-3.1: the server starts, generates, saves and stops, and the terrain equals a run with Generator Accelerator alone. - Slower start than 1.0.27 (issue #3): before leaving out another mod's mixin, Bons and Furious looks for mods that build on it. The check added in 1.0.30 read far more than it needed, and so did the controls for mods that are not installed. In our 500-mod test pack the mod's own set-up went from 1.9 to 0.6 seconds and mods finished constructing about 1.5 seconds sooner, with every control making the same decision. In a pack where some mod's mixin config holds an empty entry, the check stopped and the controls that replace another mod's mixin turned themselves off. It no longer stops there.
- Three controls that did nothing in 1.0.30:
kiwi_manifest_lookup_index,iceandfire_tabula_lookup_indexanddistanthorizons_sql_script_lookup_indexswitched themselves off at every start, because a version check could not read the version of one of Forge's libraries. They run now. In our test pack their shared index answered about 2,200 file lookups, each with the same answer as the original lookup.
Thanks to the players who reported the c2meforge and Biolith crashes on CurseForge and in issue #2, and the slow start in issue #3.
Five new controls
- World generation: biome lookups made outside chunk generation (Distant Horizons' distant terrain,
structure checks,
/locate, the spawn search) worked out every climate noise again for each height.vanilla_climate_sample_xz_partsworks out the parts that depend only on x and z once per column, with the same results bit for bit. On the dedicated server of our 500-mod test pack these lookups took about 80% less CPU and the server was ready 3 to 5 seconds sooner. Chunk pregeneration speed does not change; it rarely uses these lookups. - Forge (fix): on a client connected to a server, every packet a mod sent through Forge's network channels
left a direct memory buffer behind that was never freed (Forge issue 10861).
forge_custom_payload_heap_copymakes that copy an ordinary heap buffer with the same bytes. Forge 47.4.24 and newer have the same fix, and there the control does not apply. - JEI (client): three controls for the time JEI spends building its recipe list. Brewing recipes are found by their ID instead of by scanning the growing list (10,000 lookups over 5,000 recipes took 0.64 ms instead of 253 ms in a focused test), tooltip search words are read without regex matching, and JEI's hidden anvil and grindstone menus skip synchronization scans that nobody observes. Every generated recipe stays in JEI.
Every new control is on by default.
Known conflict
Pipez Optimizer without Mekanism: with Pipez 1.2.26 and Pipez Optimizer 1.0.7 installed and Mekanism not installed,
the game fails while mods load. This is the same in 1.0.30. Set pipez_empty_filter_fast_path=false or install
Mekanism. Pipez without Pipez Optimizer is not affected.
Install
Replace the older Bons and Furious JAR with bons_and_furious-1.0.33.jar and restart. Minecraft 1.20.1, Forge
47.3.22 or newer within 47.x; tested with 47.4.16. No required dependencies. Existing config choices are kept and
new keys are added with their defaults. Every control has its own switch in config/bons_and_furious.properties,
and a control whose target mod is missing or at another build is skipped.
The whole-pack benchmark on the project page was measured with 1.0.26 and has not been repeated for this release.
SHA-256 dbb479dd0151538c904bec668413b3e71ccc989d9caf33522243ecf3eb2a4683.
This mod has no additional files

