COWMODSКаталог модов

Distant Horizons API

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

Автор: jeseibel1,5 млн168обновлён 21 сент. 2026 г.
Библиотеки

Описание

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

Последние версии

Все версии →
release

7.2.0

7.2.0
21 сент. 2026 г.36,7 тыс.Minecraft: 1.12.2, 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3fabric, forge, neoforge
Скачать
Что нового
## Highlights: - Up API version 7.1.0 -> 7.2.0 - Deprecated IDhApiConfigValue.setValue(value) - use IDhApiConfigValue.setValue(value, apiUserDisplayName) instead ## Full Changelog **Additions:** - enums - EDhApiDepthDirection - used to define if DH is using forward or reverse Z rendering - EDhApiDepthRange - methods - IDhApiRenderProxy.getDepthRange() - IDhApiRenderProxy.getDepthDirection() - IDhApiConfigValue.setValue(value, apiUserDisplayName) <br/> **Deprecations:** - �IDhApiConfigValue.setValue(value) - use IDhApiConfigValue.setValue(value, apiUserDisplayName) instead - This way people using the config UI can determine what your mod is controlling - If this value isn't set, it will appear as "UNKOWN" and a warning will be logged
release

7.1.0

7.1.0
17 сент. 2026 г.4,2 тыс.Minecraft: 1.12.2, 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3fabric, forge, neoforge
Скачать
Что нового
## Highlights: - Up API version 7.0.1 -> 7.1.0 - IOverrideInjector.bind() will silently replace any existing bindings instead of throwing an exception ## Full Changelog **Additions:** - new classes - enums - EDhApiDatabaseSyncMode - EDhApiDirection - EDhApiGeneratorPlan - EDhApiWorldGenerationStep - TERRAIN - For use with Minecraft 26.3+ - config - IDhApiTextureConfig - wrappers - IDhApiBlazeTextureWrapper - events - DhApiBlockTextureOverrideEvent - new class methods - IDhApiBiomeWrapper - getSerialString() - IDhApiGraphicsConfig - texture() - IDhApiRenderProxy - getRenderingEngine() - getDhBlockRatioAtlasTextureGlId() - getDhBlockRatioAtlasTextureBlazeWrapper() - DhApiBlockColorOverrideEvent.EventParam - getTintColorAsInt() - getBaseColorAsInt() - DhApiBlockStateWrapperCreatedEvent.EventParam - setAllowApiTextureOverride() - getAllowApiTextureOverride() - IOverrideInjector - unbindAll() <br/> **Changes:** - IOverrideInjector - bind() - If an existing binding already exists, calling this method will replace the existing binding. - Previously this would throw an exception if an interface was already bound. - This change was done to fix an issue when running Iris and Immersive Portals at the same time - DhApiTerrainDataPoint - toString() - Re-arranged and re-formatted to be easier to read - Improve LodDataBuilder API validation error message - Significantly improve world gen task queuing for fast custom world generators <br/> Fixes - DhApiTerrainDataCache - Fix a concurrency issue - fix server level not setting a DH Level causing a null pointers in some cases <br/> **Deprecations:** - IDhApiWorldGenerationConfig - enableDistantWorldGeneration() - use GeneratorPlan() instead - distantGeneratorMode() - use chunkGeneratorMode() instead - IDhApiRenderProxy - getDhDepthTextureId() - use getDhDepthTextureGlId() instead - getDhColorTextureId() - use getDhColorTextureGlId() - IDhApiFullDataSource - setApiDataPointColumn(int relX, int relZ, List<DhApiTerrainDataPoint> columnDataPoints) - use setApiDataPointColumn( int relX, int relZ, EDhApiWorldGenerationStep worldGenStep, List<DhApiTerrainDataPoint> columnDataPoints) instead - the old method will always set a EDhApiWorldGenerationStep of SURFACE
release

7.0.0

7.0.0
17 июн. 2026 г.53,9 тыс.Minecraft: 1.12.2, 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2fabric, forge, neoforge
Скачать
Что нового
## 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 <br/> **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 <br/> **Fixes:** - Fix color tints not clearing when leaving the world or being cleared via the API <br/> **Removals:** - DhApiBlockColorOverrideEvent.blockStateWrapperCreated - Replaced by DhApiBlockColorOverrideEvent.onBlockColorOverridden - EDhApiVanillaOverdraw - Hasn't been used in a long time
release

6.1.0

6.1.0
24 апр. 2026 г.35,2 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
## Highlights: - Up API version 6.0.0 -> 6.1.0 ## Full Changelog **Additions:** - add opacity to IDhApiBlockStateWrapper - add alpha to DhApiBlockColorOverrideEvent
release

6.0.0

6.0.0
18 апр. 2026 г.5,4 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2fabric, forge, neoforge
Скачать
Что нового
## 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 <br/> **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) <br/> **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) <br/> **Deprecations:** - DhApiBeforeColorDepthTextureCreatedEvent - This event will still be triggered for the OpenGL renderer, but not the Blaze3D renderer - Using DhApiAfterColorDepthTextureCreatedEvent is recommended instead <br/> **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
release

5.1.0

5.1.0
24 дек. 2025 г.107,6 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
## 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.
release

5.0.0

5.0.0
13 дек. 2025 г.28,1 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
## 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 <br/> **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 <br/> **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
release

4.1.0

4.1.0
12 окт. 2025 г.376 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.2, 1.20.4, 1.20.6, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.8, 1.21.10fabric, forge, neoforge
Скачать
Что нового
## 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 <br/> **Changes:** - Up API version 4.0.1 -> 4.1.0 <br/> **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 <br/> **Deprecations:** - DhApiColorDepthTextureCreatedEvent - replaced by DhApiAfterColorDepthTextureCreatedEvent and DhApiBeforeColorDepthTextureCreatedEvent
release

4.0.1

4.0.1
12 июл. 2025 г.215,8 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.4, 1.20.6, 1.21, 1.21.1, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7fabric, forge, neoforge
Скачать
Что нового
## Highlights: - Up API version 4.0.0 -> 4.1.0 ## Full Changelog **Additions:** - DhApiAfterColorDepthTextureCreatedEvent - DhApiBeforeColorDepthTextureCreatedEvent <br/> **Changes:** - Up API version 4.0.0 -> 4.1.0 <br/> **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 <br/> **Deprecations:** - DhApiColorDepthTextureCreatedEvent - replaced by DhApiAfterColorDepthTextureCreatedEvent and DhApiBeforeColorDepthTextureCreatedEvent
release

4.0.0

4.0.0
11 мар. 2025 г.255,2 тыс.Minecraft: 1.16.5, 1.17.1, 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.20.4, 1.20.6, 1.21, 1.21.1, 1.21.3, 1.21.4fabric, forge, neoforge
Скачать
Что нового
# 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 <br/> **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 <br/> **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() <br/> **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 <br/> **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