Биом - это область мира со своей землёй, погодой, цветами и мобами. Равнины, пустыни и вишнёвые рощи - всё это биомы. В этом гайде ты сделаешь рубиновую рощу: тёплый луг с красноватой травой, который заменяет небольшие участки равнин.
Биом, как и блок, живёт в двух пакетах:
- Файл в пакете поведения говорит, как устроена земля: её климат, какие блоки покрывают поверхность и где биом появляется.
- Файл в пакете ресурсов ("клиентский биом") говорит, как он выглядит и звучит: цвет травы, цвет воды, туман, музыка.
Файлы
BP/
biomes/
ruby_grove.biome.json
RP/
biomes/
ruby_grove.client_biome.jsonОба файла используют один и тот же identifier, wiki:ruby_grove. Так игра понимает, что они связаны.
Шаг 1: биом в пакете поведения
{
"format_version": "1.26.30",
"minecraft:biome": {
"description": {
"identifier": "wiki:ruby_grove"
},
"components": {
"minecraft:climate": {
"temperature": 0.9,
"downfall": 0.4,
"snow_accumulation": [0.0, 0.125]
},
"minecraft:overworld_height": {
"noise_type": "lowlands"
},
"minecraft:surface_builder": {
"builder": {
"type": "minecraft:overworld",
"top_material": "minecraft:grass_block",
"mid_material": "minecraft:dirt",
"foundation_material": "minecraft:stone",
"sea_floor_material": "minecraft:gravel",
"sea_material": "minecraft:water",
"sea_floor_depth": 7
}
},
"minecraft:replace_biomes": {
"replacements": [
{
"dimension": "minecraft:overworld",
"targets": ["plains"],
"amount": 0.25,
"noise_frequency_scale": 0.5
}
]
},
"minecraft:map_tints": {
"grass": { "type": "tint", "tint": "#c4504f" },
"foliage": "#b8433f"
},
"minecraft:tags": {
"tags": ["overworld", "animal", "monster", "plains", "ruby_grove"]
}
}
}
}В файле две части:
descriptionсодержитidentifier. Используй строчные буквы и своё пространство имён. Это же название использует/locate biome.componentsсодержит всё остальное. Каждый компонент включает одну возможность биома.
Клади один биом в один файл и называй файл по имени биома (ruby_grove.biome.json для wiki:ruby_grove).
Главные компоненты
Вот компоненты, которые ты будешь использовать чаще всего. У каждого есть своя страница в разделе Компоненты биомов.
| Компонент | Что делает |
|---|---|
minecraft:climate | Температура и осадки. В холодных биомах появляются снег и лёд, downfall равный 0 значит, что дождя нет совсем. |
minecraft:surface_builder | Из каких блоков состоит земля: верхний слой, земля под ним, камень глубоко внизу и морское дно. |
minecraft:overworld_height | Насколько высокая и холмистая местность. Выбери готовый вариант, например lowlands, highlands или mountains. |
minecraft:replace_biomes | Помещает твой биом в мир, занимая участки существующих биомов. |
minecraft:map_tints | Цвета травы и листвы на игровой карте. |
minecraft:creature_spawn_probability | Как часто появляются животные при первом создании чанка (от 0 до 0.75). |
minecraft:village_type | Какой стиль деревни может здесь генерироваться: default, desert, ice, savanna или taiga. |
minecraft:tags | Метки, которые могут проверять другие файлы. Смотри ниже. |
Как биом попадает в мир
Новый файл биома сам по себе ничего не делает. Игра размещает только тот биом, который говорит ей, куда его ставить, поэтому своему биому нужен minecraft:replace_biomes:
targetsперечисляет биомы, которые ты занимаешь. Пиши их без пространства имён (plains, а неminecraft:plains).dimension- этоminecraft:overworldилиminecraft:nether.amount- примерно какую часть целевого биома ты заменяешь, от чуть больше 0 до 1.noise_frequency_scaleзадаёт размер участков. Чем меньше значение, тем участков меньше, но они крупнее. Чем больше, тем участков много и они маленькие.
Добавляй новые замены в конец
Когда у игроков уже есть миры с твоим биомом, добавляй новые записи только в конец списка replacements. Если вставить запись в начало, изменится генерация всех новых чанков.
Теги
Теги - это простые слова, прикреплённые к биому. У них две задачи:
- Их проверяют другие файлы. Правила появления и правила структур используют проверки вроде
has_biome_tag, чтобы решать, где появляются мобы и где ставить деревья или руды. Дай своему биому теги вродеoverworld,animalиmonster, и много ванильного контента будет относиться к нему как к обычному биому Верхнего мира. - У некоторых тегов есть встроенный смысл. Например,
coldилиfrozenодевают жителей по-зимнему,plains,forest,meadowиswampвыбирают, какие цветы растут, аdesertиmesaзаставляют песок издавать фоновые звуки.
Добавь и свой тег (здесь ruby_grove). Тогда твои собственные структуры и мобы смогут нацеливаться именно на этот биом.
В тегах можно использовать буквы, цифры, . и _.
Шаг 2: клиентский биом
Сторона пакета ресурсов устроена так же, но её корень - minecraft:client_biome:
{
"format_version": "1.21.120",
"minecraft:client_biome": {
"description": {
"identifier": "wiki:ruby_grove"
},
"components": {
"minecraft:grass_appearance": {
"color": "#c4504f"
},
"minecraft:foliage_appearance": {
"color": "#b8433f"
},
"minecraft:water_appearance": {
"surface_color": "#7a3fd1"
},
"minecraft:sky_color": {
"sky_color": "#ff9a8c"
},
"minecraft:fog_appearance": {
"fog_identifier": "wiki:ruby_fog"
},
"minecraft:biome_music": {
"music_definition": "cherry_grove"
}
}
}
}| Компонент | Что делает |
|---|---|
minecraft:grass_appearance | Цвет травы. |
minecraft:foliage_appearance | Цвет листвы и лиан. |
minecraft:water_appearance | Цвет поверхности воды и её прозрачность. |
minecraft:sky_color | Цвет неба. |
minecraft:fog_appearance | Какой файл тумана использовать. |
minecraft:biome_music | Какая музыка играет. |
minecraft:ambient_sounds | Фоновые зацикленные звуки и случайные дополнительные звуки. |
Vibrant Visuals добавляет ещё четыре, которые указывают на отдельные файлы: атмосфера, освещение, цветокоррекция и вода. Полный список - в разделе Компоненты клиентского биома.
Все компоненты необязательны. Для всего, что ты не указал, используется значение по умолчанию.
biomes_client.json - это старый способ
Старые пакеты хранили все цвета биомов в одном большом RP/biomes_client.json. Новый контент использует по одному файлу .client_biome.json на биом. Игра всё ещё читает старый файл для других пакетов, но новым аддонам стоит использовать отдельные файлы для каждого биома.
Проверка
- Включи оба пакета в новом мире. Биомы появляются только в чанках, которые ещё не были созданы.
- Введи
/locate biome wiki:ruby_grove, чтобы найти его. - Долети туда и проверь цвет травы. Если она обычная зелёная, identifier клиентского биома не совпадает.
Не можешь найти?
Во время тестов увеличь amount и уменьши noise_frequency_scale, чтобы биом был большим и частым. Когда всё понравится, верни значения обратно. И загляни в журнал контента: опечатка в названии блока не даёт загрузиться всему биому.
Что дальше
- Наполни биом рубиновой рудой и растениями: Структуры и правила структур.
- Задай ему своё настроение: Туман.
- Найди название любого биома в разделе ID биомов.