- Fixed resource pack failing to load on Minecraft 26.x (FAILED_RELOAD) — pack.mcmeta now uses the new min_format/max_format object syntax required for pack formats above 64
- Removed invalid overlay entries from pack.mcmeta that referenced non-existent directories, causing the client to reject the entire pack
- Suppressed false-positive Could not save X.yml warnings on every server start — files are now only extracted if they don't already exist
- Improved FAILED_RELOAD log message to show the actual cause instead of a generic warning
This version comes with an updated resource pack! Please update it if you are using Nexo or any other plugins of this kind!
New Sounds
- branch_snap_forest — branch crack, forest, evening/night
- monkey_jungle — monkey call, jungle, day
- jungle_birds — jungle birds, day
- forest_night_ambience — forest night crickets, evening/night
- jungle_forest_atmospheric — atmospheric jungle ambience, day
- jungle_night_ambience — jungle night hum, evening/night
- snake_hiss_surface — snake hiss, arid/swamp/forest/jungle
- swamp_jungle_birds — swamp and jungle birds, morning/day/evening
- birds_snapping_branch — birds with branch snap, forest/jungle, clear
- birds_chirping_jungle — bird chirping, jungle only
- chaiki_na_plaje — seagulls, ocean biomes
- crickets_jungle_night — jungle crickets, evening/night
- dry_leaves_rustling — dry leaves rustling, arid/forest/meadows, clear
- stepping_leaves_forest — footsteps on leaves, forest/meadows
- rocks_down_highland — falling rocks, mountains/badlands/canyons
Biome Coverage Fixes
- eroded_badlands and wooded_badlands added to arid-biomes — now receive wind, insects, and other sounds
- minecraft:river — birds, crickets, ocean wind
- winter-biomes at night — wolf howls
- Added missing Terralith biomes: rocky_jungle, rocky_shrubland, red_oasis, wintry_forest, snowy_maple_forest
- and many other sounds...
Bug Fix
- Fixed IllegalArgumentException: bound must be greater than origin in the ambient task
Added missing Terralith biomes:
- terralith:alpha_islands
- terralith:amethyst_canyon
- terralith:amethyst_rainforest
- terralith:blooming_plateau
- terralith:cold_shrubland
- terralith:desert_oasis
- terralith:desert_spires
- terralith:forested_highlands
- terralith:granite_cliffs
- terralith:gravel_desert
- terralith:highlands
- terralith:jungle_mountains
- terralith:lush_valley
- terralith:mirage_isles
- terralith:savanna_slopes
- terralith:shield
- terralith:shrubland
- terralith:skylands_autumn
- terralith:skylands_spring
- terralith:skylands_summer
- terralith:skylands_winter
- terralith:stony_spires
- terralith:temperate_highlands
- terralith:tropical_jungle
- terralith:valley_clearing
- terralith:volcanic_crater
- terralith:warped_mesa
- terralith:white_mesa
- terralith:windswept_spires
- terralith:warm_river
You need delete or update ambient-sounds.yml!
Critical Fixes
Resource pack is now sent to players on 1.21.1+ The plugin was using a deprecated API that stopped working on newer versions of Paper. Fully rewritten using the new API. Now guaranteed to work on Paper 1.20.3, 1.21, 1.21.1, 1.21.4 and above.
The force_download parameter now actually works Previously, setting force_download: true in the config was technically never passed to the server — due to a bug in the code. Now fixed: players with force: true will not be able to decline the pack.
Messages to players now display colors All plugin messages (success, declined, failed, etc.) were displayed without formatting — color codes like &a, &c, etc. were being stripped instead of converted. Fixed.
Important Improvements
Memory leak on player disconnect Internal cooldown tables for ambient sounds were accumulating over the server's uptime and were never cleared. Player data is now removed immediately upon disconnect.
Thread safety during concurrent /reload Using /soundaddition reload while ambient sound processing was active could cause a ConcurrentModificationException. Fixed via defensive data copying.
Performance
True asynchronous ambient sound processing The async_ambient_processing: true option now works genuinely asynchronously. A three-phase pipeline has been implemented:
- Phase 1 (main thread) — collecting player data (location, biome, structures)
- Phase 2 (async thread) — biome matching logic and playback condition evaluation
- Phase 3 (main thread) — sound playback
On servers with a large number of players and complex ambient sound conditions, this reduces the load on the main thread.
