90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

2.1.0-a - 1.20.4

Changelog

Highlights:

  • MC 1.20.3, 1.20.4, 1.20.6 support
    • No forge support for 1.20.6 due to Forge compiler issues
    • Added NeoForge support for 1.20.6
  • Massive memory decrease, especially at high render distances
    • 1024 at medium can be loaded with 4 GB of memory
  • Massive database file size decrease
    • Note: This will only affect new worlds, old databases will be migrated to the new format, but have to be manually vacuumed to shrink their file size.
  • Frustum culling
  • Fixed rendering hollow structures
  • Up the api version number 1.0.0 -> 2.0.0
    • This means there were some breaking API changes
  • World gen doesn't regenerate the same terrain twice
    • World gen also starts faster after loading into the world.
  • API methods needed for Iris 1.7.0 support

Core DH Changes

Additions:

  • MC 1.20.3 / 1.20.4 support - coolGi, James
  • Frustum culling - NULL
  • New rendering option so grass fades to dirt - IMS, James
  • Simple material IDs to rendering data for use with Iris - James
  • corrupt data read handling - James
  • JarUtil/SelfUpdater error handling - James
  • Buffer count to the F3 menu - James
  • IP only server folder mode - James

Improvements:

  • Improve downsampling / low detail rendering - James
    • IE hollow structures will no longer render incorrectly at lower detail levels
  • Smaller database file sizes - James
    • Added LZMA as the new default compression option
      • LZMA provides roughly 3x the compression vs the previous compressor
    • Add lossy world compression, defaults to "visually equal"
  • Massively reduce memory use and reduce GC pressure - James
  • Speed up world gen queue initial loading - James
  • Vertical LOD rendering improvements - Builderb0y
  • RenderDataTransformer improvements - Cola
  • Glass/transparent block improved color rendering - Cola, IMS

Changes:

  • Overhaul data structure and file handling - James
    • Fixes holes with world gen - James
    • Overhaul the database format - James
    • Add automatic DB migration - James
      • Migration progress can be seen in the log and f3 menu
    • Removed DhRenderData - James
  • Change overdraw to a number input - James
  • Improve transparent rendering (IE Glass) - IMS, Cola
  • rename "Horizontal Quality" -> "LOD Dropoff Distance" - James
  • Refactored logos into assets/distanthorizons - coolGi
  • Change the SQLite journal mode DELETE -> WAL - James
  • Improve initalization logic - s809
  • Improve StepFeatures logging - James
  • Add data source pooling to reduce GC pressure - James
  • Mark Iris 1.6.0 and older as incompatible - James
    • Iris already hid DH rendering anyway, so this just makes it clearer
  • Make leaf colors match fancy graphics - Cola
  • Move most async GL calls to the render thread - James
  • Only log empty biomeWrapper strings once per session - James
  • Remove unnecessary string concatenations in assertions - James
  • Disable cave culling in the end - James
  • Rename unused debug wireframe configs - James

Bug Fixes:

  • Fix holes in the world when using world gen - James

  • Fix world gen re-generating the same terrain - James

  • Fix world gen for extreme render distances - James

  • Fix ocean lighting grid issue - James

  • Fix C2ME support - James

    • Changing C2ME's config should no longer be necessary to run it with DH.
  • Fix SSAO and Fog not applying when Optifine shaders are enabled - James

  • Fix BiomeWrapper warning about null level on startup - James

  • Fix missing indium crashing with a messy error when java.awt is headless - James

    • The error message will now be much clearer and in most cases, should have a pop-up dialog explaining the problem.
  • Fix Z-fighting at very high heights - James

  • Fix red LODs rendering in random places

    • IE Added a config which is disabled by default to render overlapping quad errors - James
  • Fix rendering holes (most of the time) - James

  • Fix F3 menu not removing levels after leaving when multiverse support is active - James

  • Fix LodRenderSections not stopping load futures when closed - James

  • Fix a rare concurrent lighting engine issue with ChunkWrapper.getBlockLightPosList() - James

  • Fix purple Chisels & Bits block rendering - Pierre Remacle

    • IE make Chisels & Bits blocks transparent
  • Fix ThreadPool null pointer before world startup - James

  • Fix world gen lockup if the file system fails - James

  • Fix chunk break/place events not triggering fabric updates post MC 1.17 - James

  • Fix Optifine not running in the dev environment - James

  • Fix light engine out of bounds for MC 1.16 and 1.17 - James

  • Fix File handler repos not closing - James

  • Fix transparent ocean floors at low detail levels - James

  • Fix warning about BiomeWrapper null level on startup - James

  • Fix white grass/water if the biome is null - James

  • Fix optifine 1.16 support - James

  • Fixed mod auto-updating on quilt - coolGi

  • Fix thread pool error logging after shutdown - James

  • Fix corrupt data or moving data between MC versions causing monoliths - James

  • Fix #49 shaders render incorrectly - IMS

    • This is specifically fixed for Iris 1.7.0+
  • Fix #94 Rendering issues with Immersive Portals

  • Fix #414 Added (nearly) unlimited vertical quality graphics option

  • Fix #449 LodNodeBufferBuilder crash due to index out of bounds

  • Fix #595 crash on save and exit - James

  • Fix #597 Show Create logo in DH's update menu

  • Fix #613 multiplayer failing due to folder not existing - James

  • Fix #615 lag when rapidly breaking/placing blocks - James

  • Fix #638 optifine not rendering on 1.16 + 1.17

  • Fix #640 world gen holes not filling in

  • Fix #641 seamless overdraw issues

  • Fix #650 Fix Indium missing messages not displaying correctly in some cases - James

  • Fix #663 Fix world gen holes - James

  • Fix #670 Remove outdated world gen options from tooltip - James

  • Fix #673 Chunks without a position are ignored - James

  • Fix #680 Massive Memory Usage by ColumnRenderSource#renderDataContainer - James

Removals

  • Remove Seamless Overdraw Test - James
    • The experiment was interesting, but ultimately failed. There were a number of issues rendering entities and it only ever worked on Fabric.
  • Near and near/far fog options - James
    • Near fog was originally added back in DH 1.0 in case we couldn't remove vanilla fog, which has since proven to not be an issue.
  • Remove Unlimited horizontal quality (LOD Dropoff Distance) setting - James
    • Unlimited quality is unnecessary and due to how the renderer is currently set up, unable to be run on any machine at higher render distances.
  • Disable cave culling for any detail level above 0 - James
    • Cave culling is currently bugged and to prevent holes in the ocean that show the void this is the temporary solution.

Files

DistantHorizons-2.1.0-a-1.20.4.jar(15.76 MiB) Primary Download