CobbleGen - это мод для Minecraft (или Майнкрафт), который дает тебе полный контроль над генераторами булыжника, камня и базальта.
В ванильной игре эти генераторы всегда выдают один и тот же блок - булыжник из воды и лавы, камень из лавы при контакте с водой сверху (если точно), базальт из лавы и синего льда с душой-почвой. Но с CobbleGen ты можешь настроить всё: какие блоки будут появляться, с какой вероятностью и при каких условиях (высота Y, измерение или блок-модификатор). Это открывает огромные возможности для автоматизации ферм или создания уникальных мини-игр.
Скачать CobbleGen можно для Fabric, Forge или NeoForge.
О моде
Начиная с версии 5.0 CobbleGen официально поддерживает как Fabric-подобные загрузчики (Fabric, Quilt), так и Forge-подобные (Forge до 1.20.1 включительно и NeoForge). Благодаря архитектуре мода он должен работать даже на будущих версиях Minecraft - правда интеграции вроде Create или REI/EMI/JEI могут поломаться.
Fabric-JAR работает на Quilt без проблем - мод написан так чтобы минимально зависеть от API загрузчика.
Forge-JAR совместим с NeoForge только для версии Minecraft 1.20.1 - поддержка Forge прекращается после этой версии; если хочешь использовать CobbleGen на Forge для 1.20.2 или новее - лучше перейти на NeoForge.
Возможности
- Поддержка Fabric/Quilt и NeoForge/Forge
- Интеграция с REI/EMI/JEI - видно что получится из комбинации жидкостей
- Настройка генераторов булыжника (
cobblestone), камня (stone) и базальта (basalt)
- Рандомизация генерируемых блоков - каждому блоку можно задать вес (вероятность)
- Настраиваемые модификаторы - например требовать определённый блок под местом генерации
- Белый или чёрный список измерений - разрешить или запретить работу в конкретных мирах
- Ограничение по высоте Y - задаёшь диапазон от minY до maxY
- Поддержка тегов - можно указать
#mod_id:tag_id вместо конкретного блока
- Поддержка Create:
- Трубы и насосы работают корректно
- Совместимость с Porting Lib на Fabric/Quilt - исправляет генерацию известняка (
limestone) и скории (scoria)
- Продвинутый генератор - кастомное взаимодействие жидкостей
- API для разработчиков по взаимодействию жидкостей
Планируемые возможности
- Позиция модификаторов - не только под генерируемым блоком
- Веб-приложение для удобной настройки конфигов сборщиками модов
- Белый/чёрный список биомов
Использование
Мод в основном серверный - достаточно установить его только на сервер для работы всех механик генерации. Но если хочешь видеть рецепты в REI/EMI/JEI - ставь его и на клиент.
Из коробки мод уже делает кое-что полезное: например генерирует глубинный сланец (deepslate) на уровне глубинносланца или случайные руды над бедроком (bedrock). Чтобы раскрыть весь потенциал - придётся покопаться в конфигах.
Настройка
Файл конфига лежит в config/cobblegen.json5. Формат довольно простой - вот три уровня настроек:
- Базовый (
default) - просто заменяет ванильный блок генерации на другой.
- Кастомный (
custom) - добавляет модификаторы: например если блок генерируется над бедроком - появляются руды.
- Продвинутый (
advanced) - меняет взаимодействие жидкостей; можно использовать модифицированные жидкости.
Формат базовых генераторов
{
"id":"mod_id:block_id",
"weight":95.5,
"dimensions":[
"mod_id:dimension_id",
"mod_id:dimension_id"
],
"excludedDimensions":[
"mod_id:dimension_id",
"mod_id:dimension_id"
],
"minY":0,
"maxY":69
}
Формат кастомных генераторов
{
"generatorType (cobbleGen/stoneGen/basaltGen)":{
"mod_id:modifier_block_id":[
{
"id":"mod_id:block_id",
"weight":95.5,
"dimensions":[
"mod_id:dimension_id",
"mod_id:dimension_id"
],
"excludedDimensions":[
"mod_id:dimension_id",
"mod_id:dimension_id"
],
"minY":0,
"maxY":69
}
]
}
}
Пояснения:
- Все поля кроме
id и weight опциональны.
- Для кастомных генераторов:
generatorType - замени на cobbleGen, stoneGen или basaltGen.
mod_id:modifier_block_id - ID блока-модификатора.
weight - чем больше число тем чаще выпадает этот блок.
dimensions / excludedDimensions - массивы ID измерений.
minY / maxY - ограничение по высоте.
Примеры базовых генераторов
{
// Генератор булыжника
// { "id": "mod_id:block_id", "weight": 95.5 }
"cobbleGen": [
{
"id": "minecraft:cobbled_deepslate",
"weight": 100.0,
"maxY": 0
}
],
// Генератор камня
// { "id": "mod_id:block_id", "weight": 95.5 }
"stoneGen": [
{
"id": "minecraft:stone",
"weight": 100.0
}
],
// Генератор базальта
// { "id": "mod_id:block_id", "weight": 95.5 }
"basaltGen": [
{
"id": "minecraft:basalt",
"weight": 100.0
}
]
}
Примеры кастомных генераторов
{
// Кастомный генератор
// <stoneGen|cobbleGen>: { <id блока-модификатора>: [ { "id": <id блока>, "weight": <вес> }, ... ] }
"customGen": {
// Генератор булыжника
// { "id": "mod_id:block_id", "weight": 95.5 }
"cobbleGen": {
"minecraft:bedrock": [
{
"id": "minecraft:emerald_ore",
"weight": 2.0
},
{
"id": "minecraft:diamond_ore",
"weight": 5.0
},
{
"id": "minecraft:lapis_ore",
"weight": 8.0
},
{
"id": "minecraft:gold_ore",
"weight": 10.0
},
{
"id": "minecraft:iron_ore",
"weight": 15.0
},
{
"id": "minecraft:coal_ore",
"weight": 20.0
},
{
"id": "minecraft:cobblestone",
"weight": 40.0
}
]
},
// Генератор камня
// { "id": "mod_id:block_id", "weight": 95.5 }
"stoneGen": {
"minecraft:bedrock": [
{
"id": "minecraft:stone",
"weight": 40.0
},
{
"id": "minecraft:diorite",
"weight": 20.0
},
{
"id": "minecraft:andesite",
"weight": 20.0
},
{
"id": "minecraft:granite",
"weight": 20.0
}
]
},
// Генератор базальта
// { "id": "mod_id:block_id", "weight": 95.5 }
"basaltGen": {
"minecraft:bedrock": [
{
"id": "minecraft:end_stone",
"weight": 100.0,
"dimensions": [
"minecraft:the_end"
]
},
{
"id": "minecraft:blackstone",
"weight": 100.0,
"excludedDimensions": [
"minecraft:the_end"
]
}
]
}
}
}
Примеры продвинутых генераторов
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использовать кастомные жидкости:
eсли хочешь использование жидкостей из других модов.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.
ttps://example.com/configurator) - он ещё в разработке.