Перейти к содержимому
Mineforgian

Distant Horizons API

Don't Download Unless You Are A Developer. This is automatically included in the DH mod jar.

Загрузки
1.2M
Подписчики
160
Обновлён
17 июня 2026 г.
Лицензия
LGPL-3.0-only

Опубликован 24 июня 2023 г.

Don't Download Unless You Are A Developer

Putting this in your Mods folder will do nothing.


Developer Description

This jar includes the source code and classes needed to interact with Distant Horizons in a Minecraft and mod loader independent way. This jar should be used during development instead of the full Distant Horizons jar to prevent accidentally using unsafe internal methods.


The example projects on GitLab contains all the basics you need to get started using the API.
https://gitlab.com/distant-horizons-team/distant-horizons-api-example


Additional resources

API JavaDocs
https://distant-horizons-team.gitlab.io/distant-horizons/

Developer Wiki
https://gitlab.com/distant-horizons-team/distant-horizons/-/wikis/home

Discord
In case you have any questions or issues not addressed in the above two documents.
https://discord.gg/xAB8G4cENx

Issues
If you find any bugs or want to request a new feature, for the API, please use the main Distant Horizons GitLab issue page.
https://gitlab.com/distant-horizons-team/distant-horizons/-/issues

Ченджлог

7.0.0Релиз26.1.1, 26.1.2, 26.2 · 17 июня 2026 г.

Highlights:

  • Up API version 6.1.1 -> 7.0.0
  • Many rendering events now use pooled/cached objects to reduce garbage collector overhead

Full Changelog

Additions:

  • A few @See references in event javadocs
  • Added Javadoc reference to OpenGL methods, stating they will not work when Blaze3D is the selected rendering engine
  • EDhApiRenderingEngine
  • EDhApiRenderingApi
  • DhApiBeforeFogRenderEvent
  • useCameraPositionForQualityDropOff config

Changes:

  • Many rendering events now use pooled/cached objects to reduce garbage collector overhead
    • As long as you don't modify the event objects outside of the expected this shouldn't cause any issues

Fixes:

  • Fix color tints not clearing when leaving the world or being cleared via the API

Removals:

  • DhApiBlockColorOverrideEvent.blockStateWrapperCreated
    • Replaced by DhApiBlockColorOverrideEvent.onBlockColorOverridden
  • EDhApiVanillaOverdraw
    • Hasn't been used in a long time
6.1.0Релиз26.1, 26.1.1, 26.1.2 · 24 апреля 2026 г.

Highlights:

  • Up API version 6.0.0 -> 6.1.0

Full Changelog

Additions:

  • add opacity to IDhApiBlockStateWrapper
  • add alpha to DhApiBlockColorOverrideEvent
6.0.0Релиз26.1, 26.1.1, 26.1.2 · 18 апреля 2026 г.

Highlights:

  • Up API version 5.1.0 -> 6.0.0

Full Changelog

Additions:

  • DhApiRenderParam.dhMvmProjMatrix
  • DhApiBlockStateWrapperCreatedEvent
    • Allows changing how DH handles certain blocks (IE opacity, Iris material, or color)
  • DhApiBlockColorOverrideEvent
    • Allows overriding the color of specific blocks when DH is creating render data
  • EDhApiRenderApi
    • Auto, Open_GL, and Blaze_3D

Improvements:

  • Improved several Javadocs
    • Fixed a couple typos
    • Added some additional deprecation info
    • Mentioned a few events/methods that are only relevant to the OpenGL renderer
    • Mentioned that IDhApiUnsafeWrapper can return null objects (specifically when dealing with the air block wrapper)

Changes:

  • EDhApiRendererMode DEBUG -> DEBUG_TRIANGLE
  • IDhApiTerrainDataCache is now AutoClosable
  • Replace several "Double" config options with "Float"
    • Float is more accurate to what is happening behind the scenes
  • EDhApiVerticalQuality
    • renamed method calculateMaxVerticalData(byte dataDetail) -> calculateMaxNumberOfVerticalSlicesAtDetailLevel(byte dataDetail)

Deprecations:

  • DhApiBeforeColorDepthTextureCreatedEvent
    • This event will still be triggered for the OpenGL renderer, but not the Blaze3D renderer
    • Using DhApiAfterColorDepthTextureCreatedEvent is recommended instead

Removals:

  • IDhApiTerrainDataRepo methods that don't use a IDhApiTerrainDataCache
    • If a cache isn't included each call would require a separate database/decompression hit, which is very slow and caused confusion
  • Removed SSAO config options
    • enabling/disabling SSAO is still available however no additional configuration options can be done
  • EDhApiDebugRendering SHOW_RENDER_SOURCE_FLAG
    • This hasn't been used for some time
  • EDhApiGpuUploadMethod BUFFER_MAPPING
    • This has been deprecated for some time and hasn't been used for about as long
5.1.0Релиз1.21.8, 1.21.10, 1.21.11 · 24 декабря 2025 г.

Highlights:

  • Up API version 5.0.0 -> 5.1.0

Full Changelog

Additions:

  • DhApiRenderParam.clientLevelWrapper
    • The render parameters will now include the IDhApiLevelWrapper that is currently being rendered.
5.0.0Релиз1.21.8, 1.21.10, 1.21.11 · 13 декабря 2025 г.

Highlights:

  • Up API version 4.1.0 -> 5.0.0
  • Removed 2 deprecated constructors
  • Renamed IDhApiTerrainDataRepo.getSoftCache() -> createSoftCache() for clarity

Full Changelog

Additions:

  • EDhApiDataCompressionMode
    • Z_STD_STREAM
      • Deprecated legacy option to support migrating old database formats
      • Identical in behavior to the removed Z_STD option
  • EDhApiLoggerLevel
  • IDhApiGraphicsConfig
    • getBiomeBlending()
  • IDhApiTerrainDataRepo
    • createSoftCache() identical in behavior to the removed getSoftCache(), this was only renamed to prevent confusion
  • DhApiTerrainDataPoint
    • add a default toString() method for easier debugging

Changes:

  • Up API version 4.1.0 -> 5.0.0
  • EDhApiDataCompressionMode
    • Z_STD_BLOCK now uses block compression instead of streams, use Z_STD_STREAM to get the old behavior

Removals:

  • EDhApiDataCompressionMode
    • Z_STD
      • Replaced by Z_STD_STREAM
  • EDhApiLoggerMode
    • Replaced by the more granular options of EDhApiLoggerLevel
  • IDhApiTerrainDataRepo
    • getSoftCache()
      • Replaced by createSoftCache()
        • both methods function identically, the replacement was done just to prevent confusion about how the method would work
  • DhApiChunk
    • remove deprecated constructor
  • DhApiTerrainDataPoint
    • remove deprecated constructor
4.1.0Релиз1.21.6, 1.21.8, 1.21.10 · 12 октября 2025 г.

Highlights:

  • Up API version 4.0.1 -> 4.1.0

Full Changelog

Additions:

  • EDhApiDataCompressionMode.Z_STD
  • EDhApiLoggerMode.LOG_ERROR_TO_CHAT_AND_WARNING_TO_FILE
  • IDhApiEventParam.getCopyBeforeFire()
  • DhApiAfterColorDepthTextureCreatedEvent
  • DhApiBeforeColorDepthTextureCreatedEvent
  • DhApiChunkProcessingEvent
  • Add remove(obj) and remove(index) to IRenderableBoxGroup

Changes:

  • Up API version 4.0.1 -> 4.1.0

Bug Fixes:

  • Fix setting the config value renderingEnabled() causing the user's rendering mode to be changed and saved to file
  • Fix DhApiAfterDhInitEvent firing before the DH config has been set up
  • Fix VANILLA_CHUNKS API world gen

Deprecations:

  • DhApiColorDepthTextureCreatedEvent
    • replaced by DhApiAfterColorDepthTextureCreatedEvent and DhApiBeforeColorDepthTextureCreatedEvent
4.0.1Релиз1.21.5, 1.21.6, 1.21.7 · 12 июля 2025 г.

Highlights:

  • Up API version 4.0.0 -> 4.1.0

Full Changelog

Additions:

  • DhApiAfterColorDepthTextureCreatedEvent
  • DhApiBeforeColorDepthTextureCreatedEvent

Changes:

  • Up API version 4.0.0 -> 4.1.0

Bug Fixes:

  • Fix setting the config value renderingEnabled() causing the user's rendering mode to be changed and saved to file
  • Fix DhApiAfterDhInitEvent firing before the DH config has been set up

Deprecations:

  • DhApiColorDepthTextureCreatedEvent
    • replaced by DhApiAfterColorDepthTextureCreatedEvent and DhApiBeforeColorDepthTextureCreatedEvent
4.0.0Релиз1.21.1, 1.21.3, 1.21.4 · 11 марта 2025 г.

API Changes

Highlights:

  • Up API version 3.0.1 -> 4.0.0

Full Changelog

Additions:

  • IDhApiWorldProxy
    • setReadOnly()
    • getReadOnly()
  • IDhApiLevelWrapper
    • getDimensionName()
    • getDhIdentifier()
    • getDhSaveFolder()
  • generateLod()
    • Can be used to generate N-sized LODs
  • IDhApiFogConfig
    • enableDhFog()
    • enableVanillaFog()
  • EDhApiWorldGeneratorReturnType
    • API_DATA_SOURCES
  • IDhApiFullDataSource
    • For use with the IDhApiWorldGenerator
  • DhApiWorldUnloadEvent
  • DhApiWorldLoadEvent
  • IDhApiSaveStructure
  • EDhApiDistantGeneratorMode
    • FULL

Changes:

  • Up API version 3.0.1 -> 4.0.0
  • IDhApiWorldGenerator
    • rename runApiChunkValidation() -> runApiValidation()
  • IDhApiHeightFogConfig
    • heightFogMode -> heightFogDirection
  • EDhApiHeightFogMode -> EDhApiHeightFogDirection
  • EDhApiHeightFogMixMode
    • BASIC -> SPHERICAL
    • IGNORE_HEIGHT -> CYLINDRICAL

Bug Fixes:

  • Fix off by one error in the following IDhApiTerrainDataRepo methods when getting blocks in negative X and/or Z positions:
    • getSingleDataPointAtBlockPos()
    • getColumnDataAtBlockPos()
    • getAllTerrainDataAtChunkPos()
    • getAllTerrainDataAtRegionPos()
    • getAllTerrainDataAtDetailLevelAndPos()

Removals:

  • IDhApiDimensionTypeWrapper
    • getDimensionName()
  • IDhApiWorldGenerator
    • getMinGenerationGranularity()
    • getMaxGenerationGranularity()
    • isBusy()
    • generateChunks() and generateApiChunks() byte granularity parameter
      • int generationRequestChunkWidthCount is it's replacement and represents a different thing. Having the number of chunks wide is much easier to understand than the granularity.
  • IDhApiMultiplayerConfig
    • multiverseSimilarityRequirement()
      • This config is no longer supported or needed

Deprecations:

  • IDhApiFogConfig
    • drawMode()
      • Use enableDhFog() instead
      • The old method is kept but deprecated to prevent breaking support with Iris 1.7.5
    • disableVanillaFog()
      • Use enableVanillaFog() instead
      • The old method is kept but deprecated to prevent breaking support with Iris 1.7.5
  • EDhApiFogDrawMode
    • USE_OPTIFINE_SETTING

Комментарии

Загружаем…