Architectury API (Fabric/Forge/NeoForge)

Architectury API (Fabric/Forge/NeoForge)

158M Downloads

BiomeSelectionContext wrapper does not expose necessary information

itsmeow opened this issue · 4 comments

commented

The BiomeModification API currently does not expose many methods from the underlying Fabric BiomeSelectionContext that are necessary for the API's use. For example, I wish to filter a feature by a biome tag, but this is not possible because it requires registry access and the modifications API calls its checks before the server is fully constructed and thus accessible for registry access.

The API should expose boolean hasTag(TagKey<Biome> tag); or getHolder via BiomeContext, or even the Biome instance itself. As of current BiomeContext does not include enough data for a lot of things.

commented

It is not possible to do on 1.18, biome modifications are done right after biome constructor on Forge

commented

This is specifically for 1.19. In 1.18 this wasn't a problem as you could use the registry access.

commented

I’ll take a look

commented

On Forge, you can actually use registry access as the biome modifications are performed after the server is done constructing, so this is only really causing issues on Fabric, since you can't get the Holder<Biome> through any means except the API itself without a load of hacky stuff.