
拉文茨
🗸 为自定义机制设计的Ravents。设计具有复杂触发条件的多波袭击,创建具有修改后属性、装备和骑乘塔楼的独特生物。生成控制:替换原版生物或添加自定义副本。
查看大图Ravents — Пользовательские рейды, триггеры и события мобов
Ravents — полностью data-driven мод, позволяющий создавать собственные рейды, события мобов и системы триггеров исключительно через JSON-файлы конфигурации — без написания кода.
Настраивайте собственные волны пользовательских мобов, задавайте сложные условия триггеров (убийства, сломанные блоки, предметы в инвентаре, посещённые биомы, достигнутые координаты, прожитые дни и многое другое) — и наблюдайте, как рейды запускаются автоматически для каждого отдельного игрока в тот момент, когда выполняются его личные условия.
Работает в одиночной игре и в мультиплеере. У каждого игрока свои независимые счётчики триггеров, статы и очередь рейдов.
🏆 Поддержать автора
- 🎯 Boosty
────────────────────────────────────────────────────────────────
ВОЗМОЖНОСТИ
────────────────────────────────────────────────────────────────
- Полностью на JSON — без кода, только конфиги
- Пользовательские многоволновые рейды для каждого игрока
- Более 15 типов условий триггеров
- Пользовательские мобы с настраиваемым здоровьем, уроном, скоростью, бронёй, зачарованиями, эффектами, эффектами при ударе и наездниками
- Стеки мобов (цепочки наездников, например скелет на зомби)
- spawnOnDeath — мобы, которые при смерти разделяются на других
- Полоса босса для каждого рейда со счётчиком волн
- Эффект свечения у мобов рейда
- Телепортация рейда к игроку, если он уходит далеко
- Награды: предметы + опыт за завершение рейда
- Одноразовые (singleUse) или бесконечно повторяющиеся рейды
- Очередь рейдов для каждого игрока и сохранение (переживает отключение)
- События замены/клонирования спавна сущностей
- Полная поддержка мультиплеера — у каждого игрока свои рейды
────────────────────────────────────────────────────────────────
СТРУКТУРА ФАЙЛОВ
────────────────────────────────────────────────────────────────
Все файлы конфигурации находятся в:
.minecraft/config/Ravents/
Структура папок:
config/
├── Ravents_settings.json <- глобальные настройки
├── Ravents/
│ ├── your_mob.json <- определения пользовательских мобов
│ ├── raids/
│ │ └── your_raid.json <- определения рейдов
│ ├── events/
│ │ └── your_event.json <- определения событий спавна
│ └── example/
│ ├── custom_mob_example.json
│ ├── raid_example.json
│ └── event_example.json
Все примеры файлов создаются автоматически при первом запуске. Изучите их — они содержат все доступные поля с комментариями.
────────────────────────────────────────────────────────────────
ПОЛЬЗОВАТЕЛЬСКИЕ МОБЫ
────────────────────────────────────────────────────────────────
Пользовательские мобы определяются в JSON-файлах, размещённых непосредственно в папке Ravents/ (не в raids/ или events/).
Минимальный пример — my_zombie.json:
{
"id": "my_zombie",
"displayName": "Dark Zombie",
"baseEntity": "minecraft:zombie",
"health": 60.0,
"damage": 8.0,
"speed": 0.32,
"scale": 1.5,
"clearVanillaDrops": true,
"dropEquipment": false,
"drops": [
{ "item": "minecraft:iron_ingot", "min": 1, "max": 3, "chance": 0.8 }
]
}
Полный пример с бронёй, зачарованиями, эффектами, наездником и spawnOnDeath:
{
"id": "knight_boss",
"displayName": "Knight Boss",
"baseEntity": "minecraft:zombie",
"health": 200.0,
"damage": 18.0,
"speed": 0.28,
"scale": 1.8,
"clearVanillaDrops": true,
"dropEquipment": false,
"armor": {
"head": { "item": "minecraft:diamond_helmet", "enchantments": { "minecraft:protection": 3 } },
"chest": { "item": "minecraft:diamond_chestplate", "enchantments": { "minecraft:protection": 3 } },
"legs": { "item": "minecraft:diamond_leggings", "enchantments": {} },
"feet": { "item": "minecraft:diamond_boots", "enchantments": {} }
},
"hands": {
"mainhand": { "item": "minecraft:diamond_sword", "enchantments": { "minecraft:sharpness": 4 } }
},
"effects": [
{ "id": "minecraft:resistance", "duration": 99999, "amplifier": 0 }
],
"onHitEffects": [
{ "id": "minecraft:slowness", "duration": 60, "amplifier": 1 }
],
"drops": [
{ "item": "minecraft:diamond", "min": 3, "max": 6, "chance": 1.0 },
{ "item": "minecraft:netherite_scrap", "min": 1, "max": 1, "chance": 0.3 }
],
"spawnOnDeath": [
{ "mobId": "my_zombie", "count": 2 }
],
"rider": {
"baseEntity": "minecraft:skeleton",
"displayName": "Archer Rider",
"health": 30.0,
"damage": 5.0,
"speed": 0.3,
"hands": {
"mainhand": { "item": "minecraft:bow", "enchantments": { "minecraft:power": 3 } }
}
}
}
Справочник по полям:
id — уникальный идентификатор (используется в рейдах/событиях)
displayName — имя над мобом (если nametagEnabled)
baseEntity — любой ванильный ID сущности
health — максимальное здоровье (полу-сердца × 2 = HP)
damage — базовый урон атаки
speed — скорость передвижения (ванильный зомби = 0.23)
scale — масштаб визуала + хитбокса (требуется Pehkui)
clearVanillaDrops — удалить стандартные дропы (true/false)
dropEquipment — выпадает ли снаряжение при смерти
armor — слоты снаряжения: head/chest/legs/feet
hands — mainhand / offhand
enchantments — карта: ID зачарования → уровень
effects — постоянные эффекты зелья на мобе
onHitEffects — эффекты, накладываемые на игрока при ударе
drops — пользовательская таблица лута
spawnOnDeath — мобы, спавнящиеся при смерти этого моба
rider — ещё одно определение моба, сидящего сверху
────────────────────────────────────────────────────────────────
ПОЛЬЗОВАТЕЛЬСКИЕ РЕЙДЫ
────────────────────────────────────────────────────────────────
Файлы рейдов размещаются в: config/Ravents/raids/
У каждого рейда есть волны мобов и триггер, определяющий, когда он запустится для игрока. У каждого игрока свой счётчик триггера — рейды НЕ делят состояние между игроками.
Базовый пример рейда — my_raid.json:
{
"id": "my_raid",
"displayName": "Forest Ambush",
"singleUse": false,
"spawnDistance": 8.0,
"trigger": {
"mobKillsTotal": 50
},
"waves": [
{
"mobs": [
{ "mobId": "my_zombie", "count": 4, "noDrop": false },
{ "mobId": "minecraft:skeleton", "count": 2, "noDrop": true }
]
},
{
"mobs": [
{ "mobId": "knight_boss", "count": 1, "noDrop": false }
]
}
],
"rewards": {
"items": {
"minecraft:emerald": 5,
"minecraft:golden_apple": 1
},
"experience": 100
}
}
Этот рейд срабатывает, когда игрок убивает 50 мобов всего. Волна 1: 4 пользовательских зомби + 2 скелета. Волна 2: 1 рыцарь-босс. По завершению: 5 изумрудов, 1 золотое яблоко, 100 XP.
────────────────────────────────────────────────────────────────
УСЛОВИЯ ТРИГГЕРОВ
────────────────────────────────────────────────────────────────
Все поля триггера необязательны. Их можно свободно комбинировать. Все условия должны выполняться одновременно (логика AND). Внутри каждого конкретного списка элементы поддерживают группы OR через "or": true.
--- Триггеры на основе счётчиков (для каждого игрока) ---
"mobKillsTotal": 100
Срабатывает, когда игрок убил 100 мобов всего.
"mobKillsSpecific": [
{ "id": "minecraft:creeper", "count": 10 }
]
Срабатывает после убийства именно 10 криперов.
"blocksBrokenTotal": 500
"blocksBrokenSpecific": [
{ "id": "minecraft:diamond_ore", "count": 5 }
]
"blocksPlacedTotal": 200
"blocksPlacedSpecific": [
{ "id": "minecraft:tnt", "count": 3 }
]
"blocksUsedTotal": 50
"blocksUsedSpecific": [
{ "id": "minecraft:crafting_table", "count": 10 }
]
"itemsUsed": 30
"itemsUsedSpecific": [
{ "id": "minecraft:bread", "count": 5 }
]
"jumps": 200
"sit": 10 (нажатия приседания)
"distanceWalked": 1000 (в блоках)
"daysPlayed": 7
"experienceLevels": 30 (текущий уровень опыта, не суммарный)
--- Одноразовые / условные триггеры ---
"requiredItems": [
{ "item": "minecraft:nether_star", "count": 1 }
]
Срабатывает, пока игрок держит Звезду Незера в инвентаре.
"coordinateReached": [
{ "axis": "y", "value": -40 }
]
Срабатывает, когда игрок достигает Y = -40 или ниже.
axis: "x", "y" или "z"
Отрицательное значение = игрок должен быть на этом уровне или ниже.
Положительное значение = игрок должен быть на этом уровне или выше.
"visitedDimension": ["minecraft:the_nether"]
Срабатывает, как только игрок посетил Незер.
"visitedBiome": ["minecraft:deep_dark"]
Срабатывает, как только игрок посетил биом Deep Dark.
"visitedStructure": ["minecraft:stronghold"]
Срабатывает, как только игрок вошёл в крепость.
"visitedPOI": ["minecraft:nether_portal"]
Срабатывает, как только игрок оказался рядом с POI портала в Незер.
"nearSpawnpoint": 10
Срабатывает, когда игрок находится в радиусе 10 блоков от своей точки спавна.
--- Пример логики OR ---
"mobKillsSpecific": [
{ "id": "minecraft:zombie", "count": 20, "or": true },
{ "id": "minecraft:creeper", "count": 20, "or": false }
]
Это означает: (зомби ИЛИ крипер) убиты 20 раз. Элементы с "or": true группируются со следующим элементом. Группа разрешается как OR; группы разрешаются как AND.
--- Повторяющиеся рейды ---
"singleUse": false — рейд срабатывает снова каждый раз,
когда игрок достигает следующего кратного значения.
Пример: mobKillsTotal = 50, singleUse = false
→ срабатывает на 50 убийств, снова на 100, снова на 150 и т.д.
"singleUse": true — срабатывает только один раз на игрока.
────────────────────────────────────────────────────────────────
ПРИМЕРЫ ТРИГГЕРОВ
────────────────────────────────────────────────────────────────
Пример 1 — срабатывает после входа игрока в Незер:
"trigger": {
"visitedDimension": ["minecraft:the_nether"]
}
Пример 2 — срабатывает каждые 100 убийств мобов (повторяющийся):
"trigger": {
"mobKillsTotal": 100
},
"singleUse": false
Пример 3 — срабатывает после добычи 5 алмазов И посещения deep dark (требуется и то, и другое):
"trigger": {
"blocksBrokenSpecific": [
{ "id": "minecraft:diamond_ore", "count": 5 }
],
"visitedBiome": ["minecraft:deep_dark"]
}
Пример 4 — срабатывает, пока в инвентаре есть Звезда Незера, только один раз:
"trigger": {
"requiredItems": [
{ "item": "minecraft:nether_star", "count": 1 }
]
},
"singleUse": true
Пример 5 — срабатывает, когда игрок опускается ниже Y = -55:
"trigger": {
"coordinateReached": [
{ "axis": "y", "value": -55 }
]
},
"singleUse": true
Пример 6 — срабатывает после 7 игровых дней И уровня 30+:
"trigger": {
"daysPlayed": 7,
"experienceLevels": 30
}
────────────────────────────────────────────────────────────────
СОБЫТИЯ СПАВНА
────────────────────────────────────────────────────────────────
Файлы событий размещаются в: config/Ravents/events/
События позволяют заменять или клонировать ванильный спавн мобов вашими пользовательскими мобами с фильтрацией по измерению, биому и высоте.
Пример — spawn_milton.json:
{
"id": "spawn_milton",
"spawns": [
{
"targetEntity": "minecraft:zombie",
"mobId": "knight_boss",
"type": "replace",
"dimensions": ["minecraft:overworld"],
"biomes": ["*"],
"minHeight": -64,
"maxHeight": 320
}
]
}
type "replace" — удаляет ванильного моба, спавнит пользовательского
type "cloning" — оставляет ванильного моба, дополнительно спавнит пользовательского
dimensions — список ID измерений, или ["*"] для всех
biomes — список ID биомов, или ["*"] для всех
minHeight — минимальная Y для применения события
maxHeight — максимальная Y для применения события
────────────────────────────────────────────────────────────────
КОМАНДЫ
────────────────────────────────────────────────────────────────
Все команды требуют уровень оператора 2.
/ravents raids <name> — запустить рейд на себя
/ravents raids <name> <player> — запустить рейд на игрока
/ravents events <name> — вызвать событие спавна
/ravents events <name> <player> — вызвать событие у игрока
/ravents custom <name> — заспавнить пользовательского моба рядом с собой
/ravents stats — посмотреть свои статы
/ravents stats <player> — посмотреть статы другого игрока
/ravents stop — остановить все активные рейды
/ravents reload — перезагрузить все файлы конфигурации
Все аргументы команд поддерживают автодополнение по Tab из загруженных конфигов.
────────────────────────────────────────────────────────────────
ФАЙЛ НАСТРОЕК — Ravents_settings.json
────────────────────────────────────────────────────────────────
raidBossBarEnabled — показывать полосу босса во время рейдов (true/false)
raidNameOnBarEnabled — показывать название рейда + волну на полосе босса
raidGlowEffectEnabled — мобы рейда светятся (true/false)
nametagEnabled — показывать displayName моба над его головой
────────────────────────────────────────────────────────────────
ЗАМЕТКИ ПО МУЛЬТИПЛЕЕРУ
────────────────────────────────────────────────────────────────
- У каждого игрока полностью независимые счётчики триггеров
- Рейды запускаются только для игрока, выполнившего условия
- Статы (убийства, блоки, расстояние и т.д.) — для каждого игрока свои
- Полоса босса видна ближайшим игрокам, а не только владельцу
- При отключении: активные рейды сохраняются и восстанавливаются при повторном входе
- Работает на LAN, выделенных серверах
────────────────────────────────────────────────────────────────
ЗАВИСИМОСТИ
────────────────────────────────────────────────────────────────
Обязательно: Architectury API Опционально: Pehkui (для поддержки масштаба мобов)
🌐Сторонний хостинг
Вам запрещено размещать мод на сторонних ресурсах. Вы можете публиковать новости о моде, но обязаны ссылаться на эту страницу мода для загрузки (или ссылаться на адрес загрузки с modrinth).
正在加载版本记录…






正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。