Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Distant Horizons

Distant Horizons

See farther without turning your game into a slide show

8.23M
9,164
Optimization
Utility
AboutGalleryChangelogVersions
All versions2.3.0-b - 1.17.1 forge/fabric

2.3.0-b - 1.17.1 forge/fabric

Download
Report

Changelog

Highlights:

  • Dedicated/LAN Server support
  • Fading between DH and vanilla rendering
  • Changed the DH logo
  • Removed Multiverse Similarity percent
  • Fixed vertical fog
  • Up API version 3.0.1 -> 4.0.0
  • Massively reduced memory requirements and GC stuttering
    • DH can now run with as little as 2-4 GB of memory (depending on CPU settings)
    • This change does cause initial LOD loading to be slightly slower
  • Added Dynamic thread allocation
  • Fixed an EXCEPTION_ACCESS_VIOLATION rendering crash

Full Changelog

Additions:

  • Server support - pshsh
    • Server LOD generation
    • Server Multiverse handling
    • dedicated servers
    • LAN servers
  • Add DH/Vanilla fading
  • Add support for N-sized world generation
  • Add recalculate heightmap config
    • for use with world painter worlds or whenever the heightmap is incorrect
  • Add Oculus 1.7 to the list of incompatible mods
    • Oculus needs to update to use the new DH API
  • Add pshsh to the author list
  • Add partial mod incompatibily chat warnings
    • Chunky, WWOO, and Alex's Caves
  • Re-added INTERNAL_SERVER distant generator model
    • This mode will ask MC's server to generate the chunks.
    • This mode allows for more accurate generation at the cost of world size and server thread lag
  • Add config assumePreExistingChunksAreFinished
    • This may help with situations where pre-existing chunks were created by third-party program and are incorrectly running world gen.
  • Dyanimc Thread allocation - Pshsh and James
    • DH now has a single thread count config
    • This should reduce the chance of DH using 100% CPU with lower CPU presets
    • The CPU preset has also been increased from LOW -> BALANCED
  • Add options to show/hide some DH F3 screen info
    • memory pools are hidden by default since they aren't needed unless debugging said pools is needed
  • Add logs for when a repo has finished closing
    • If Sqlite is taking a long time flushing the WAL file, this should help show that
  • Add validateBufferIdsBeforeRendering Config
    • Enabling this drastically reduces FPS but can be helpful for troubleshooting
  • Add a chat warning if the vanilla render distance is higher than recommeneded
    • DH can be more easily overwhelmed if the vanilla render distance is too high
    • And vanilla CPU use is much higher
  • Add world gen/import progress overlay
  • Add automatic overdraw config
    • when overdraw is set to "0.0" DH will determine the best overdraw based on the vanilla render distance
    • this also affects vanilla fading and will make the vanilla render distance appear a bit further when fading is enabled
  • Add the ability to change beacon beam heights - zJannyAT

Improvements:

  • Optimize ChunkWrapper getBlockState - Builderb0y
  • Optimize sky light for LODs - Builderb0y
  • Improve adjacent chunk lighting logic - CreepermeYT
  • Reduce file handler task count when updating QuadTree nodes
  • LOD updates will happen around the player instead of FIFO
  • Optimize DH cloud rendering
    • Cull behind the camera
    • Change cloud model to smooth transition
    • Slightly increase cloud speed
  • Improve generic object render profiling
  • Cache arrays used during Generic Object Rendering
  • Move some LOD Building logic off of the render thread
  • Improve Buffer upload speed and remove buffer upload threadpool
    • Buffer uploading is now handled on the Lod Builder threadpool
  • Rewrote object pooling to massively reduce memory use and generated garbage
    • DH can now run with as little as 2 GB of ram (depending on CPU load) and in MC 1.21.4 memory per second with world gen was between 500 MB and 1 GB per second, in comparison to 6 GB/s previously
  • Reduce garbage generated when interacting with Sqlite
  • Added number formatting to migration progress logs
  • Reduce duplicate warnings when loading old worlds

Changes:

  • Changed the Logos
    • new logos created by Pankakes
  • Hide "Distant Horizons Overloaded" chat message
    • message can be enabled via config for testing
  • Vertical quality dropoff is slower
  • Split the config into: Client, Common, Server
  • Increase far clip plane distance slightly
  • Increase default render distance 128 -> 256
  • Added brown mushrooms to the list of ignored blocks
    • fixes some swamp rendering issues
  • Removed world gen timeout
    • It was originally added to prevent locking up world gen threads that got stuck in an infinite loop, however it never solved that problem so it was just an annoyance.
  • Rename world gen thread pool in F3 screen "World Gen" -> "World Gen/Pull Chunk"
    • This thread pool has always handled both pulling pre-existing chunks and generating missing chunks, however there was some confusion where some people thought it only generated chunks
  • Increase Default thread preset LOW -> BALANCED
    • due to the addition of dynamic thread allocation the number used for each prest was changed slightly
  • Change CPU Preset config default values

Bug Fixes:

  • Hide closed database warnings
  • Fix some instances of extremely high file handler job counts
  • Fix config file handler corruption due to concurrent reading/writing
  • Fix F3 menu showing the same level multiple times
  • Fix the near clip plane appearing when zooming
  • Fix JOptionPane causing Mac's with other mods freezing during load
  • Fix generic renderer not using material type for shader use
  • Fix a few logs not showing positions correctly
  • Fix unnecessary JarUtil error logging
  • Fix GLProxy skipping some render thread tasks
    • This may solve some memory leaks or rendering holes
  • Fix height fog
  • Fix crashing when other mods null the MVM or Projection matricies
  • Fix crashing when setting some config values to 0
  • Fix pack.mcmeta warnings
  • Fix DH preventing server shutdown in some cases
  • Fix an EXCEPTION_ACCESS_VIOLATION rendering crash
  • Fix Sqlite memory leaks
  • Fix infinitely growing memory when changing dimensions
  • Fix auto updater failing in some cases and improve logging
  • Fix rare concurrent modification when changing generic rendering cubes
  • Fix beacons disappearing in some situations
  • Fix stairs, slabs, and glass sometimes not appearing in LODs
  • Relocate Sqlite under a DH namespace to prevent interference with other mods shading or adding SQLite - pshsh
  • Fix rare concurrency error on world gen shutdown

Removals:

  • Multiverse similarity percent
    • Levels will now use the hashed seed in their folder name instead
    • This is a significantly more relyable method for differentiating levels.

Files

DistantHorizons-fabric-forge-2.3.0-b-1.17.1.jar(17.49 MiB) Primary
Download
DHS-0.8.0_for_MC-1.17.1.jar(327.32 KiB)
Download

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Metadata

Release channel

Beta

Version number

2.3.0-b-1.17.1

Loaders

Fabric Forge

Game versions

1.17.1

Downloads

625

Publication date

March 11, 2025 at 12:04 PM

Publisher

jeseibel

jeseibel

Owner

Version ID

Modrinth is open source.

main@aaf125c

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.