UtilityBiome
Just playing? You only need UtilityBiome if another mod asks for it, like BetterBiomes. Drop it in next to that mod and you're done. It adds no content of its own.
UtilityBiome is a library for mods that change Hytale's world generation. Players get commands to find biomes and caves. Mod authors get a base for the things the vanilla generator can't do on its own: waterfalls, overhangs, floating islands, villages and other structures.
Commands
| Command | What it does |
|---|---|
/ub where |
Zone and biome at your position |
/ub list [filter] |
All loaded biomes, mods included |
/ub next <biome> |
Teleports you to the next spot of a biome you haven't visited yet |
/ub census |
Counts the biomes in an area around you |
/ub caves <zone> |
Cave types and ores of a zone |
/ub cave <name> |
Teleports you into the nearest cave of a type |
/ub features |
Chunk features other mods registered, and how often they were placed |
/ub feature <id> |
Teleports you to the nearest placed feature |
Handy for checking a seed before you open a server, or for adding coordinates to a bug report.
For mod authors
Chunk features let you rework freshly generated chunks, filtered by zone or biome. UtilityBiome deals with the threading rules, the results only depend on the world seed, and if your placer throws, the chunk stays untouched.
UtilityBiomeAPI.registerChunkFeature(ChunkFeature.named("mymod:crystal_spire")
.inBiomes("Zone4_Tier*")
.chance(0.2)
.placer((chunk, random) -> {
// read and write blocks through `chunk`, take all randomness from `random`
}));
A placer can also look past its own chunk: worldSeed(), terrainHeight(x, z) and biomeAt(x, z) give the same answer in every chunk, so a structure that spans several chunks gets planned the same way in each of them. UtilityBiomeAPI.biomeAt(world, x, z) does the lookup outside of worldgen too, for quests, spawns or machines.
api.structure has helpers for builds: Blueprint (layers plus a palette), Shapes, Structures (finds a flat spot and places the build with a foundation) and Terrain (tells natural ground from player builds).
The tools package runs at build time, in tests and Gradle tasks. It generates biomes, caves, ores, resources and spawns as JSON and checks your assets against the vanilla index.
Add UtilityBiome to your plugin manifest and it loads before your setup() runs. Import only from api and tools. internal can change in any release.
Compatibility
- Hytale server 0.7.x.
- Doesn't change any vanilla files.
UtilityBiome is still in alpha. We try not to break the api, but it keeps growing. Questions and requests are welcome in the comments.
Free to use and free to depend on. Please only download it from CurseForge.

