Tags
Creators
Details
Licensed MIT
Published 5 years ago
Updated 3 days ago
All versions
0.4.7
Release
Dynamic Surroundings Fabric 0.4.73 days ago 1,163
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Client-side
Changes
AI Disclosure
- Used to extend the storm simulation system for rendering and handling
- Assisted in the creation of the ground fog feature
- Helped with integrating Simple Voice Chat
- Used to extend steam and flame jet effects, adding additional particles, shader, and lighting where appropriate
- Rebuilt the clock overlay to use an old pocket watch texture with embedded indicators for diurnal cycle, seasons or moon phase (depending on if Serene Seasons is installed)
- Added the option to show the compass and pocket watch in a side or corner of the screen
- Integrated older compass rose textures as possible selections for the compass, and cleaning up the textures
- Ported the light level HUD from older versions as a light level overlay, drawn from a texture for speed
- Identified root causes of several issues and help with the fix
What's New
- Simulated wind affects movement and behavior of Dynamic Surroundings particles
- Includes mist, steam, flame jets, breath, and precipitation (see below)
- Also includes a select group of particles such as Minecraft's smoke, ash, and falling leaves
- Windy biome sound effects have volumes dynamically adjusted based on wind speed
- Becomes louder or quieter as time progresses
- Enhanced when it is storming
- Client side storm simulation, based on older Dynamic Surroundings versions
- Only works in dimensions where there are no modded hooks for weather rendering
- Random seeds tied to the Minecraft day so all players using Dynamic Surroundings will experience the same effects
- When precipitation starts, the storm simulator generates a strength value independent of Minecraft's rain strength
- During a storm the strength surges and eases off below its peak, changing every half minute or so; how far it can ease is the Storm variation option in Weather Options
- The precipitation effects are "particle" like rather than rendered texture sheets, though they are not true Minecraft particles
- Rain drops with a slight slant, and will change direction based on wind
- Rain tint option in Weather Options sets how blue the rain is, from a nearly colorless gray to a deep blue
- Snow drops more slowly, and the impact of wind is more visible
- Textures are sampled from Minecraft's snow.png texture at runtime, meaning the logic will sample any modded replacement
- Sleet (a mix of rain and snow) can occur in transition zones (like elevation)
- Dust storms will occur in deserts when raining, and particles will drift along the ground in the direction of wind
- The dust particles will climb small inclines as well giving the impression of flowing over elevations
- These particles are affected by the wind simulator
- Rain drops with a slight slant, and will change direction based on wind
- Serene Seasons will affect whether rain or dust blows in some biomes, such as Biomes OPlenty's Lush Desert
- Various parts of the system can be enabled/disabled in the Weather Options section
- Snowflakes lie where they land for a moment, then shrink and fade as they melt; blown by the wind into the side of a wall or tree trunk, they stick to it (Snow sticks to sides option in Weather Options)
- Rain blown onto windows (glass blocks and panes) clings, then runs down the glass in short rushes, leaving a wet trail that dries, and drips off a bottom edge over open air; windows facing the wind and open to the sky get the most. Rain on windows option in Weather Options
- For a while after rain stops, water drips from the lowest leaves of trees and from overhanging edges like eaves, less and less as things dry; edges drip while it rains too. Drips after rain option in Weather Options; works even with particle rain off
- In the cold, frost grows on the outside of clear glass windows, in from the window's edges, thickest before sunrise; the sun melts it from east facing windows in the morning and west facing ones in the evening. Frost on windows option in Weather Options;
/dsweather frost 0-100sets it for testing - The weather system will auto disable if Particle Rain or Simple Weather is installed
- Brought back the compass rose textures from older mod versions
- There are 3 rose styles to choose from
- Textures were cleaned up from the originals
- New pocket watch clock display, styled after Minecraft's clock
- Shown above the crosshair (beside the compass if both are shown), with hour and minute hands that tick from minute to minute
- Has some wear like an heirloom handed down: tarnish, scratches, a dent or two, and a hairline crack in the dial
- A window under XII shows day or night, like Minecraft's clock, to tell noon from midnight
- A window above VI shows the season when Serene Seasons is installed, or the moon's phase without it
- Spins where the compass does (the Nether, the End), as Minecraft's clock does there; the clock text leaves out the time (
dsurround:effects/clock_wobblepicks which clocks) - Clock style option in Compass and Clock Options: text, pocket watch, or both; the Render scaling option applies to it as well
- Pocket watch style option picks the look: CLASSIC (the worn round watch) or SQUARE (a square brass watch in pixel art)
- The compass and clock on/off switches are now a NONE choice in their styles; a switch that was off carries over as NONE
- Option to show the compass and pocket watch in a side or corner of the screen while one is in the hot bar or off hand, rather than above the crosshair while held
- Show in screen margin option in Compass and Clock Options turns it on; Screen margin position picks one of the four sides or four corners (left by default)
- Shown together, they sit one above the other on the sides and corners, and side by side at the top and bottom
- The compass rose is upright there, turning with your heading; the compass band is drawn at half size
- Clock text is still shown only while a clock is held
- The compass band texture is now smoothed, so it no longer flickers as it slides at small sizes
- Light level overlay, back from older versions: numbers on the blocks around the player that monsters could stand on, colored by whether they can spawn there
- Turned on and off with the Light Level Overlay key (unbound to start with, under Dynamic Surroundings in the controls)
- Red where monsters can spawn now, yellow where they can at night, green where it is too bright, aqua where they can never spawn; DARK colors also available
- Spawning follows the dimension's own rules: in the Overworld any block light keeps monsters away, in the Nether it goes by light level 7
- Shows block light, skylight, or the brighter of the two; range of 8 to 32 blocks; can hide the safe blocks
- A legend in the bottom right corner of the screen says what the colors mean, and can be turned off
- The numbers are drawn with the game's font, so a resource pack that changes the font changes them too
- Light Level Options in the configuration
- [Experimental] Ground fog in swamps and spooky biomes like Dark Forest and BOPs Ominous Forest
- Heavy rains can thin it out, higher density between midnight and morning
- Wind can shift the drift direction and speed
- Should clear when inside
- There is a quality setting in Weather Options that allow you to control the ground fog rendering parameters
- OFF, Fast, Fancy, and Fabulous; defaults to Fancy
- Fast has some artifacting; Fabulous looks much better but will be computationally intensive (of course NONE is the most performant :D)
- [Experimental] Support for Simple Voice Chat with enhanced sound processing
- On by default; setting can be found in the Enhanced Sounds configuration options
- Hear Self diagnostics setting can be found in the Diagnostics Settings config section; disabled by default
- Will auto disable if enhanced sound processing is not available (ex, Sound Physics Remastered is installed)
- New /dsweather command to control aspects of simulated wind and storm
- I use for testing but if you want to play around with it go ahead - doesn't affect game mechanics
- New /dsconflicts command lists in chat the Dynamic Surroundings features turned off because another mod is installed, and which mod
- For example, Particle Rain turns off the particle weather and water ripples; Presence Footsteps turns off the wet surface accents and brush step effect
- New /dsprofile command records a performance profile of the game, to send to the mod's authors when something seems slow
- Just
/dsprofilerecords two minutes of play as usual;/dsprofile <scene> [seconds]picks a scene to record instead:ground_fog,weatherorfrostshows that effect at its heaviest - A note at the top of the screen shows the time left, and chat says where the recording was saved when it is done (click the name to open it)
- Recordings are saved zipped, ready to attach to an issue on GitHub, in the dsurround config folder under
profiles; only the newest 10 are kept - Recordings note what they were made on: the graphics card and driver, the graphics settings, render distance, and the Java and Windows/Mac/Linux versions
- Personal information is left out of the recordings: no account names, folders, command line or network addresses
- Uses Java Flight Recorder, which comes with most Java installs; if yours doesn't have it, the command says so
- Just
Changes
- Updated steam effect to utilize the core logic and rendering of waterfall mist
- Reworked the flame jet effect, reusing the mist particle with color tinting and smoke
- Configuration options for flame jet were moved into its own configuration section
- Updated aurora rendering to utilize the simulated rain strength and weather fog effects, meaning that for light precipitation the aurora will still render though a bit muted
- Config settings for experimental features are colored "orchid" to distinguish from other options
- Experimental options/features are subject to change and may be removed in a future release
- The config file (dsurround.json) now notes settings that only take effect after restarting Minecraft or rejoining the world
- Aurora shader was modified to use a noise map rather than hashing in the shader. Result is that the style of aurora could change between computers that are running different versions of Dynamic Surroundings.
- Reuse reverb calculations between sounds that have their source close to each other
- Features turned off because of another mod are now listed together: in the log at startup, and in the diagnostics overlay
- Less work for ground fog, random block effects and waterfall foam (found by profiling a large modpack)
- Tooltips on the config screen and the individual sound screen wait until the mouse rests for half a second, and stay hidden while a slider is dragged
- Better biome traits for modded biomes missing tags
- A biome's tags are no longer overridden by guesses: a modded biome tagged cold stays cold even when its temperature looks temperate
- Guesses come from the biome's vanilla music, grass, and ambient sounds first, then its climate, then its name; names match whole words, so "alpine" isn't a pine forest
- Before guessing, the biome's definition in its mod's jar is read for how many trees it grows: dense or sparse vegetation, and a forest, without a guess (works on servers too, as the mod is installed on the client)
- A biome playing swamp music or named a bog or swamp stays a swamp however many trees it has; caves and water biomes don't count trees
- Trees count in whichever generation step the mod places them (No Man's Land puts most of its forests' outside the vegetation step)
- Vanilla biomes have the same traits on every server: the mod's own table settles their temperature, moisture and vegetation where Fabric's or NeoForge's tags disagree
- A biome named a shore is a beach but not wet, like vanilla's stony shore
- More biome names understood: fields, plains, meadows and prairies; seas; streams and lakes; savannas; plateaus; highlands; tundra and glaciers
/dsdump biomesshows where each trait came from, and ends with a list of biomes to check: traits guessed from music, grass or name, or no dimension or kind at all, to help write tag files for them- In single player it checks each biome's dimension against where the world generates it, and lists each dimension's biomes
- A biome only in modded dimensions (or, on a server, of a mod with dimensions of its own) isn't listed for having no kind: it is often its dimension's only biome
- The traits shipped for other mods' biomes are now tag files in each mod's folder (
assets/<mod>/dsconfigs/tags/worldgen/biome/is_<trait>.json), read only when that mod is installed- Nature's Spirit's alpine and highlands biomes are windswept, as intended: their tag file was misnamed and never read
- Tags for Spectrum's Deeper Down biomes its own tags leave out (deep dripstone caves, noxshroom forest), and No Man's Land's mud beach (a beach, not a swamp) and tropical beach
traitsandclearTraitsinbiomes.jsonare deprecated (a warning is logged): they are added after the guesses, where a tag file settles a trait before any guess
Fixes
- Individual sound volumes and the ambient volume option now hold for sounds that tick, the mod's own biome loops among them (they fell back to the game's volume after their first tick, and every playing sound did when a volume slider moved); turning down a loud sound, such as an explosion, now makes it quieter
- Possible crash with Enhanced Sounds ("Accessed LegacyRandomSource from multiple threads"): its worker threads read a playing sound's volume, which draws on the same random source the game uses for it each tick; each sound's hearing range is now taken once, on the client thread, when it starts
- Sound pruning no longer drops sounds that could still be heard: looping, moving and streamed ones (a music disc started out of range, a machine's hum) play as the game would, and fade in as you come closer; a sound louder than 1 is given the game's longer range rather than let through
- With a mod that turns the game's fog off (Distant Horizons), the log no longer fills with invalid fog range warnings, and the fog is left off: rain, morning and biome fog would only cover the game's own terrain, not the far terrain that mod draws, so they stand aside, and their work stops, while it is off (#201)
- Particle rain, snow and damp spots turned themselves off in the overworld with Stellar View installed (NeoForge): it replaces the overworld's sky effects, which was taken to mean it draws its own weather. Now only a dimension whose effects draw or tick their own weather is left to them
- Water ripples are visible when looking from underwater. During the day they are faint rings; at night they are more visible.
- Added Twilight Forest dimension configuration to set sea level.
- Moved aurora render hook to avoid conflict with Astral Sorcery's sky render
- Fog being applied to SPOOKY underground biomes, like BOPs spider nest
- Rendering issues when Fabulous! graphics enabled
- [MAYBE] Infrequent crash in fastutil collection when rendering block entities, seen with Create belts
- Underwater in vanilla's oceans (other than deep ones) used the plain underwater sounds rather than the oceans when Fabric's or NeoForge's biome tags were present
- Ground fog didn't work with Mesa graphics drivers (common on Linux): its shader used a word GLSL reserves
- The log filled with "Fog calculator ... reporting invalid fog range" warnings underwater, where vanilla's fog starts behind the camera
- With the audio device gone (headphones turned off) and nothing else to play on, the game tried to restart sound every tick and logged a stack trace each time, growing the log by gigabytes overnight. It now tries every few seconds and logs the failure once; sound comes back as before once a device is there (Sound System option "Throttle Audio Device Retries", on by default)
- With Veil installed, the log showed "Couldn't load vanilla shader from dsurround:shaders/core/point_light.vsh" with a stack trace at each resource reload: Veil's shader parser can't read a return without a value. The lights always worked; the shader no longer uses one
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:H7fshfpD:sYTr2D4x"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:H7fshfpD:sYTr2D4x"
}

