Моды/Distant Horizons API
Distant Horizons API

Distant Horizons API

Provides a Minecraft and mod loader independent way of interacting with and modifying Distant Horizons.

630.2K
112

4.1.0

release12 октября 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

release12 июля 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

release11 марта 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

3.0.0

release21 августа 2024 г.

Highlights:

  • Due to breaking changes (mainly caused by incorrectly named objects) the api version number has been up from 2.1.0 to 3.0.0
    • please make sure your implementing programs check the API version and handle old DH versions cleanly.

Full Details:

updated javadocs

Additions:

  • Generic Rendering API
    • New objects include:
      • DhApiRenderableBoxGroupShading
      • DhApiRenderableBox
      • DhApiBeforeGenericRenderSetupEvent
      • DhApiBeforeGenericRenderCleanupEvent
      • DhApiBeforeGenericObjectRenderEvent
      • IDhApiRenderableBoxGroup
      • IDhApiCustomRenderRegister
      • IDhApiCustomRenderObjectFactory
      • IDhApiGenericObjectShaderProgram
      • IDhApiGenericRenderingConfig
    • New bindings/methods include:
      • DhApi.Delayed.IDhApiCustomRenderObjectFactory
      • IDhApiLevelWrapper.getRenderRegister()
      • IDhApiGraphicsConfig.IDhApiGenericRenderingConfig
  • Optional memory caching to IDhApiTerrainDataRepo methods
    • This allows for much faster raycasting and repeat query operations
    • IDhApiTerrainDataCache
  • New Enum EDhApiBlockMaterial
  • New getter IDhApiBlockStateWrapper methods
    • IDhApiBlockStateWrapper.getSerialString()
    • IDhApiBlockStateWrapper.getMaterialId()
  • New wrapper Factory methods to builder wrappers from resource location strings (IE "minecraft:stone", or "minecraft:plains")
    • IDhApiWrapperFactory.getBiomeWrapper(String resourceLocationString, IDhApiLevelWrapper levelWrapper)
    • IDhApiWrapperFactory.getDefaultBlockStateWrapper(String resourceLocationString, IDhApiLevelWrapper levelWrapper)
  • Optional additional world gen DhApiChunk validation

Bugfixes:

  • Fix/add AbstractDhApiChunkWorldGenerator.generateApiChunk()
    • API Chunk generation was present previously but was broken preventing it's correct use

Breaking Changes:

  • Renamed

    • Math/Position objects
      • Vec3f -> DhApiVec3f
      • Vec3d -> DhApiVec3d
      • Vec3i -> DhApiVec3i
      • Mat4f -> DhApiMat4f
    • Affected API objects:
      • Vec3i -> DhApiVec3i
        • DhApiRaycastResult
        • DhApiBeforeBufferRenderEvent
        • DhApiAfterRenderEvent
        • IDhApiShaderProgram
        • IDhApiCullingFrustum
      • Mat4f -> DhApiMat4f
        • DhApiRenderParam
  • Removed

    • IDhApiGpuBuffersConfig
      • These config values didn't need to be changed by the end users (Note: if James is wrong and these do need to be changed in some edge cases, let him know so the change can be rolled back)
      • this includes:
        • gpuUploadMethod
        • gpuUploadPerMegabyteInMilliseconds

Deprecations:

  • IDhApiLevelWrapper.getHeight()
    • This change is done so get min/max heigth are both viable methods
    • use getMaxHeight() instead
  • DhApiChunk constructor
    • This change was due to the old constructor's parameters being in the wrong order (Specifically top and bottom positions being flipped)
    • use DhApiChunk.create() instead
  • DhApiTerrainDataPoint constructor
    • This change was due to the old constructor's parameters being in the wrong order (Specifically top and bottom positions being flipped)
    • use DhApiTerrainDataPoint.create() instead
  • EDhApiGpuUploadMethod.BUFFER_MAPPING
    • Buffer mapping was removed as an option due to memory leaks in the old system and having one system being simpler. This can be reverted if users determine that buffer mapping is better in some situations.
  • IDhApiWorldGenerator.isBusy()
    • The method now has a default implementation but isn't used.
    • The task queuing logic is now handled internally by DH

2.1.0

release25 июня 2024 г.

Additions

  • EDhApiUpdateBranch.AUTO

Совместимость

Minecraft: Java Edition

1.20–1.21.101.18.2–1.19.41.16.5–1.17.1

Платформы

Поддерживаемые окружения

Клиент и сервер

Детали

Лицензия:LGPL-3.0-only
Опубликован:2 года назад
Обновлён:2 недели назад
Главная