promotional bannermobile promotional banner

WorldWeaver: Remastered

WorldWeaver Remastered is a powerful modern API and world generation library! As the successor to BCLib, it provides the essential framework for BetterEnd and BetterNether, fixing core terrain bugs and unlocking advanced data-driven dimensions!

File Details

WorldWeaverRemastered-30.4.0.jar

  • R
  • May 9, 2026
  • 2.28 MB
  • 964
  • 1.21.1
  • Fabric

File Name

WorldWeaverRemastered-30.4.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:worldweaver-remastered-1501729:8063601"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Remastered Mod Suite Update - 30.4.0

Supported Version

  • Minecraft 1.21.1 (Fabric)

Mods Updated

  • BCLibRemastered 30.4.0
  • BetterEndRemastered 30.4.0
  • BetterNetherRemastered 30.4.0
  • WorldWeaverRemastered 30.4.0

Major Changes

Configurable BetterEnd and BetterNether Core Worldgen Rates

  • Added config-backed multiplier overrides for BetterEnd and BetterNether core worldgen behavior.
  • New files are generated automatically when missing:
    • config/betterend/worldgen_rates.json
    • config/betternether/worldgen_rates.json
  • Default generated entries use 1.0, preserving existing worldgen behavior.
  • 0.0 disables an entry, 0.5 roughly halves it, and 2.0 roughly doubles it (sliders in-game clamp to 0.010.0).
  • Malformed, negative, or missing values are normalized safely when configs are loaded and saved.
  • Every supported entry is now exposed in the BetterEnd and BetterNether ModMenu config screens (Biomes, Structure Sets, Placed Features, Mob Spawns groups), so multipliers can be tweaked in-game without editing JSON.
  • JSON entries are now generated for every discovered biome, structure set, placed feature, and biome spawner – including modded/datapack additions – instead of only the legacy hardcoded list.
  • Custom keys added by the user to the JSON file are preserved on save and remain visible in the ModMenu UI on next launch.

Supported Rate Categories

  • Added biome generation chance multipliers for BetterEnd and BetterNether biomes.
  • Added structure-set frequency multipliers for BetterEnd and BetterNether core structures.
  • Added placed-feature multipliers for generated BetterEnd and BetterNether features.
  • Added mob spawn weight multipliers for generated BetterEnd and BetterNether biome spawns.
  • Added BetterNether vanilla Nether biome spawn override support for biome-modification spawns.

WorldWeaver Integration

  • Added a shared WorldWeaver worldgen-rate override API used by both mods.
  • Applied biome multipliers in Wover biome picker rebuilds, sub-biome selection, and Fabric End biome registration.
  • Applied structure multipliers to RandomSpreadStructurePlacement from original registry values before level generation.
  • Applied placed-feature multipliers from original registry placement values.
  • Applied mob-spawn multipliers both during biome construction and biome-modification application.

Worldgen Stability and Correctness Fixes

  • Fixed WoverNetherConfig equality/repair checks so changes to biome_size, biome_size_vertical, and use_vertical_biomes are detected correctly for existing worlds.
  • Fixed MapStack.getChunk() returning null (now returns a sensible chunk view instead of violating the BiomeMap contract).
  • Made surface-rule injection idempotent by preserving the true original NoiseGeneratorSettings.surfaceRule.
  • Fixed Nether surface-rule merge logic so WoVer additional rules are inserted once (no duplication at each biome test).
  • Hardened biome modification application so generation/mob settings are always re-frozen even if a modification throws.
  • Fixed early biome-source binding: biome sources no longer mark themselves “bound” when registry access is missing (they retry later instead of sticking to an empty biome set).
  • Fixed biome-source merging so foreign biomes are not force-tagged into Nether/End defaults when they don’t match any accepted tag.
  • Hardened WoverBiomePicker against use-before-rebuild (lazy rebuild + explicit error if still uninitialized).
  • Made ThresholdConditionImpl deterministic and thread-safe by removing shared mutable per-seed caching and using position-derived randomness.
  • Isolated optional TerraBlender bridge sources so missing/incorrect TerraBlender artifacts can’t break the main build.

Additional Bug Fixes

  • BCLibRemastered

    • Fixed IronBars-style runtime multipart rendering (Fabric CustomModelBakery path): the center post is shown consistently so bars don’t look “stuck” when neighboring connections update. This applies to blocks that extend BaseBarsBlock and do not ship a disk blockstates/*.json.
    • Fixed BaseBarsBlock programmatic multipart to match vanilla iron_bars geometry pairing (north/east → _side at y 0° / 90°, south/west → _side_alt at 0° / 90°, instead of reusing one side mesh everywhere). Nested bar pieces load reliably via resourceId() in modifyModelOnLoad, and registerBlockModel keys patterns off the resolved target model id (_post / _side / _side_alt).
  • BetterEndRemastered

    • Fixed Terminite and Thallasium metal bars rendering with wrong orientation (stuck east–west): they now bundle multipart blockstates plus models/block (_post, _side, _side_alt). The multipart wiring matches vanilla iron bars (north/east _side, south/west _side_alt, rotations). Model geometry and texture slots match BCLib’s bars_post / bars_side / bars_side_alt patterns (the same look upstream BetterEnd used via runtime models), not BetterNether’s thinner Cincinnasite bar meshes. Disk assets skip the BCLib runtime bakery for these blocks; BaseBarsBlock.Metal and hardness are unchanged (models/item for inventory).
    • Fixed respawn-obelisk safety checks using the wrong position when evaluating collision shapes.
    • Fixed a Sodium compatibility crash risk: water-color sampling now falls back safely when client.level is null.
    • Fixed a client crash risk in ritual-update packet handling by ignoring updates when the client world is not available.
    • Fixed a crash/compatibility risk in NoiseChunk init by replacing an unsafe cast with an instanceof guard.
    • Fixed EndBiomeKey bootstrapping exception message referencing the wrong biome-key type.
    • Fixed EndPortals.getColor potentially crashing on invalid portal ids or missing portal state (now returns a safe default).
    • Fixed CrystaliteArmorRenderer returning null models for unsupported slots (now returns a safe default model).
    • Fixed a divide-by-zero / NaN risk in HelixTreeFeature spline interpolation for degenerate segments.
    • Fixed a null return in TunelCaveFeature.generate(..., radius, ...) (now returns an empty set).
    • Fixed /be tpnext potentially crashing if no matching biome is found (null-safe closest-biome lookup).
    • Replaced System.out.println debug output in /be locate_portal* commands with proper debug logging.
    • Fixed /locate structure betterend:giant_ice_star causing a critical lockup/crash: Ice Star pieces are now generated lazily (voxel buffer isn’t built during locate probing), preventing the world from “breaking” until restart.
    • Improved Ice Starfield placement stability: ice-star structures/features now pick their Y level relative to the local surface (with a controlled offset) instead of using a raw random 32–128 range, reducing odd “too low / intersecting / too high” floating placements.
    • Fixed structure piece NBT robustness:
      • Fixed NBTPiece clamping using boundingBox.maxX as a Y coordinate (now correctly uses maxY).
      • Hardened NBTPiece rotation/mirror loading against invalid ordinals (safe fallback instead of crashing).
      • Prevented rare NPEs when saving/loading lake/mountain pieces with missing biome keys (safe default biome id).
    • Fixed Better End music discs missing/broken name/description rendering: discs now always append the translated .desc tooltip line (and removed raw § formatting codes from the English disc strings).
    • Fixed armored elytra and crystalite elytra wing rendering: the client elytra layer only drew wings for vanilla minecraft:elytra, so Better End custom elytra never showed wings; rendering now respects BCLElytraItem and the same chest / Trinkets elytra stack resolution as gameplay.
    • Fixed elytra-compatible enchant support for those items (e.g. modded enchantments gated on vanilla chest-slot tags): ArmoredElytra overwrote tag registration without super, skipping minecraft:chest_armor; restored super registration and added minecraft:enchantable/chest_armor_enchantable, plus datapack merges listing both elytras under minecraft:tags/item/chest_armor.json and minecraft:tags/item/enchantable/chest_armor_enchantable.json.
    • Fixed crashed End ship loot (and compatibility with Lootr-style conversion): BlockFixer no longer removes loot-table chests (RandomizableContainerBlockEntity) when their support is broken after erosion, so seeded loot and third-party loot-chest conversions can still see a valid chest. Also fixed CrashedShipFeature chunk Z mistakenly using X, and aligned structure placeInWorld flags (4) with other NBT feature placement.
    • Fixed custom End sky (nebula / stars) not drawing when BCLib custom fog is off or skipped: the sky used a stale BackgroundInfo.blindness value (only updated on the custom-fog path), which could stay at full strength and zero out all sky layers. Sky visibility now follows the camera entity’s Blindness effect; BCLib also clears BackgroundInfo.blindness when custom fog rendering is disabled.
    • Dev/debug items are no longer generated automatically in dev environments. They now require an explicit config toggle: debug.enable_dev_items (default false).
    • BetterEnd Items creative tab icon is now the Thallasium Sword.
    • Renamed creative tab label “BetterEnd: Plants” to “BetterEnd: Nature”.
  • BetterNetherRemastered

    • Fixed BlockStatueRespawner occlusion/culling voxel shape containing an out-of-range coordinate (12212).
    • Fixed /bn place structure reporting success while doing nothing (now delegates to vanilla structure placement logic and actually places the selected structure at the command position).
    • Wired BetterNether legacy/procedural terrain passes (caves, paths, block_fix) back into worldgen via placed-features + biome modifications (excluded from upside_down_forest* which intentionally disables BN feature batches).
    • Removed noisy Nether City debug logging (BBox:) during structure generation.
    • Dev/debug items are no longer generated automatically in dev environments. They now require an explicit config toggle: debug.enable_dev_items (default false).
    • Fixed Nether “destruction” structure-piece not applying due to swapped loop bounds (now actually modifies blocks in its bounding box).
  • WorldWeaverRemastered

    • Fixed creative tab / EMI / REI item ordering being effectively random: WoVer ItemRegistry now provides a deterministic item stream sorted by item id (namespace + path).

Worldgen Behavior Changes

  • WorldWeaverRemastered
    • The bundled WoVer world presets (normal, large, amplified) now default the End biome-source generator_version to paulevs (instead of vanilla) when Nullscape is not present, enabling BetterEnd’s custom End terrain pipeline by default in new worlds.

Update Recommendation

  • Keep all four Remastered mods on 30.4.0 together.
  • Delete the new worldgen_rates.json files at any time to regenerate default 1.0 entries.
  • Changes affect newly generated chunks and newly loaded worldgen state, not chunks that already exist.