# 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
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }