Biome Utils
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.chaosthedude.naturescompass.util.BiomeUtils |
| 调用方 | GUI、RenderTickHandler、worker、CategoryName / CategoryTags / GuiListBiomesEntry / GuiBiomeInfo |
行为
集中式群系元数据工具,处理名字美化、距离计算、黑名单判定、气候 / 湿度 / tag 文本化。
方法
| 方法 | 输入 | 输出 |
|---|---|---|
getAllowedBiomes() |
— | 全部 BiomeGenBase.getBiomeGenArray() 减去 null 和非默认的(biomeID >= 0 且 base.<init> 注册) |
getDistanceToBiome(player, x, z) |
玩家 + 坐标 | (int) player.getDistance(x, posY, z) |
getBiomeName(BiomeGenBase) |
群系 | 修复后名字(如启用 fixBiomeNames) |
getBiomeName(int biomeID) |
群系 ID | 同上 |
getListBiomeTags(BiomeGenBase) |
群系 | BiomeDictionary.getTypesForBiome 转 lowercase 排序 List |
getBiomeTags(BiomeGenBase) |
群系 | 上述 List 拼接成 Tag, Tag |
getBiomeClimate(BiomeGenBase) |
群系 | I18n 键:hellish/hot/warm/normal/cold/icy |
getBiomeHumidity(BiomeGenBase) |
群系 | I18n 键:damp/normal/arid |
biomeIsBlacklisted(BiomeGenBase) |
群系 | 是否在 ConfigHandler.biomeBlacklist 中(按 ID、修复名、原名三种字符串匹配) |
气候阈值(getBiomeClimate)
| 条件 | i18n 键 |
|---|---|
tag 含 nether |
hellish |
temperature > 1.0 |
hot |
temperature > 0.85 |
warm |
temperature > 0.35 |
normal |
temperature > 0.0 |
cold |
| 其它 | icy |
湿度阈值(getBiomeHumidity)
| 条件 | i18n 键 |
|---|---|
rainfall > 0.85 |
damp |
rainfall >= 0.3 |
normal |
| 其它 | arid |
fixBiomeNames 算法
扫描 biomeName,若当前字符是大写且前一个字符是小写字母,则插入一个空格;用于把 ForestHills 变成 Forest Hills。
数值
| 数值 | 默认值 |
|---|---|
| 黑名单匹配方式 | 群系 ID / 修复名 / 原名 |
| 气候层级阈值 | 1.0 / 0.85 / 0.35 / 0.0 |
| 湿度层级阈值 | 0.85 / 0.3 |
第三方 mod 集成
BiomeDictionary.getTypesForBiome()— MinecraftForge API。
相关条目
- ConfigHandler - 提供
fixBiomeNames与biomeBlacklist