У нас были проблемы с балансировкой всех весов спауна мобов в нашем модпаке, поэтому я написал этот вспомогательный мод.
Spawn Balance Utility («SBU») поможет разработчикам модпаков, операторам серверов, обычным пользователям, запускающим личную игру с несколькими модами на мобов, и разработчикам модов выявлять и корректировать проблемы баланса спауна. SBU избавит вас от бесконечных итераций попыток изменить значение, посмотреть, как оно работает, и перезапуститься снова. Вы сможете принимать более обоснованные решения при редактировании весов спауна и размеров групп в модах.
С помощью SBU вы сможете контролировать веса спауна для модифицированных и обычных мобов в индивидуальном порядке для каждого биома.
Вы сможете добавить любого моба из сборки в любой биом сборки. (Хотя моб всё равно должен соответствовать своим внутренним требованиям для спауна!)
SBU теперь имеет опцию увеличения существующих весов спауна до настраиваемого минимального веса.
SBU может добавить Зомбифицированных Пиглинов и Гастов в биомы Незера, если они отсутствуют. Некоторые биомы сейчас практически пусты, поэтому это помогает вернуть опасность к нормальному уровню.
Как обычный пользователь, вы можете использовать SBU как мод «установил и играй». Просто добавьте его с значениями по умолчанию, и он исправит худшие проблемы. Мобы Minecraft не исчезнут, некоторые модифицированные существа станут немного более распространенными, а другие — немного менее распространенными. Вам больше ничего не нужно делать.
Он создаст несколько файлов в папке /spawnbiomeutility, которые вы можете использовать, чтобы увидеть текущие частоты спауна. Например, в нашем случае у Mutant Beasts было значение 45, но они находились в биомах с большим количеством других модифицированных существ, у которых были более высокие показатели спауна. В результате мы их никогда не видели. Мы повысили это значение до 100, и они стали слишком распространены. Затем мы понизили его до 80, и частота их появления стала «в самый раз».
Однако...
Как владелец сервера или разработчик модпака, вы можете использовать SBU для получения полного контроля над весами спауна, сделать мобов более или менее распространенными, даже добавить их в биомы, где они в настоящее время не появляются. Это можно сделать с помощью текстового редактора, но проще всего использовать электронную таблицу.
["Spawn Balance UtilityControl Values"]
#Исправлять мин., макс. значения и добавлять незерских существ
fixSpawnValues = true
#Минимальный вес спауна #Диапазон: 1 ~ 1000
minSpawnWeight = 5
#Максимальный вес спауна #Диапазон: 1 ~ 1000
maxSpawnWeight = 80
#Исправлять пустой Незер
fixEmptyNether = true
#Генерировать отчет
generateReport = true
#Использовать файл BiomeMobWeight.CSV для балансировки значений спауна в биомах
balanceBiomeSpawnValues = true
#Использовать файл StructMobWeight.CSV для балансировки значений спауна в структурах
balanceStructureSpawnValues = true
debugLevel = 0
Документация по полям конфигурации
#Исправлять мин., макс. значения и добавлять незерских существ
fixSpawnValues = true
Если истина, Spawn Balance Utility (SBU) повысит веса спауна до минимальных значений и понизит веса спауна до максимальных значений.
Это помогает, когда Minecraft по умолчанию устанавливает очень низкие значения веса спауна, например "1", потому что в биоме был только один моб. Затем, когда моды добавляли новых монстров с более высокими весами спауна, обычные существа Minecraft становились очень редкими.
#Минимальный вес спауна #Диапазон: 1 ~ 1000
minSpawnWeight = 5
Если вес спауна Minecraft по умолчанию равен '1' (как у трески), то любые новые моды сделают треску редкой, если только эти моды также не используют вес спауна '1'.
#Максимальный вес спауна #Диапазон: 1 ~ 1000
maxSpawnWeight = 80
Некоторые моды по умолчанию имеют очень высокие веса спауна. Все, что выше 50, вероятно, излишне. Значение по умолчанию ограничивает максимальные веса спауна значением 80. Так что, если у моба был вес 100, он станет 80. В сочетании с minSpawnWeight вы получаете веса спауна от 5 до 80.
#Исправлять пустой Незер
fixEmptyNether = true
В некоторых новых биомах Незера Minecraft нет традиционных мобов Незера, таких как зомбифицированные пиглины и гасты. Это приводит к очень скучному пустому Незеру. Когда вы устанавливаете это значение в true, SBU добавляет зомбифицированных пиглинов и гастов во все биомы Незера, используя значение minSpawnWeight. Обратите внимание, что у гастов всё ещё возникают проблемы со спауном в биомах без открытых участков земли 5x5. Также обратите внимание, что гасты ограничены 1 успешным спауном на чанк. У них размер группы 4, поэтому они попытаются заспауниться 4 раза, прежде чем сдаться.
#Генерировать отчет
generateReport = true
Это генерирует два отчета SBU (BiomeMobWeight.txt, StructureMobWeight.txt), которые представляют собой файлы в формате CSV, используемые для конфигурации. ПРИМЕЧАНИЕ: Файл спауна структур на данный момент является информационным. Использование его для добавления монстров и существ в структуры находится в разработке. Например: Особняки не спаунят illager'ов — они генерируют их при создании мира. Когда функция будет завершена, вы сможете заставить Особняки спаунить illager'ов, Разрушенные порталы Незера — хоглинов, а Кораблекрушения — модифицированных водных существ, таких как Речные Стражи или Скользкие Кусаки из нашего мода HostileWaterMobs.
#Использовать CSV файл для балансировки значений спауна
balanceSpawnValues = true
Когда это истина, SBU будет использовать файл BiomeSpawnUtility.csv, если он существует, для изменения значений спауна. SBU делает это *один раз* при запуске мира. Он больше никогда не запускается. Он не создает постоянной нагрузки на сервер.
#Подавлять отчетность по мобам Minecraft
suppressMinecraftMobReporting = false
Установите значение "true", если вы хотите убрать мобов Minecraft из .txt отчета.
#Набор имен модов, разделенных точкой с запятой, для включения в отчет.
includedReportModsSet = ";"
Введите список модов, разделенных точкой с запятой ";", для включения в отчет. Когда пусто (по умолчанию), будут отчитываться все моды. Пример: "undergarden;greekfantasy;dreamlands". Используется, когда вы добавляете новый мод и просто хотите увидеть мобов, которых он добавляет, чтобы вы могли добавить их в .csv файл для балансировки.
#Уровень отладки: 0 = Выкл., 1 = Лог, 2 = Чат+Лог #Диапазон: 0 ~ 2
debugLevel = 0
Уровень отладки определяет, насколько подробным будет ведение журнала.
Уровень 1 выводит важные ошибки в лог, отмеченные строкой "SpawnBiomeUtility Error".
Уровень 2 выводит предупреждения и *много* информационных сообщений (но только один раз при каждом запуске сервера/мира).
#Список Мод:ИмяМоба,ВесСпаунаПоУмолчанию; #Список Мод:ИмяМоба,ВесСпаунаПоУмолчанию;
defaultSpawnWeightList = "minecraft:enderman,5;modname:mobname,6;"
Укажите "modname:mobname", запятую, а затем целое число. Это переопределит значения весов спауна по умолчанию (мин. и макс.). Это не добавит моба в биом.
["Spawn Placement Fixes"]["Spawn Placement Fixes"] #Добавляйте мобов, спаунящихся в воздухе и падающих, в этот список.
defaultSpawnWeightList = "minecraft:piglin_brute;goblinanddungeon:gob;goblinanddungeon:Hobgob;"
Это исправляет проблему естественного спауна мобов в воздухе из-за отсутствия у них зарегистрированных условий размещения. (Версия 13 и выше)
После изменения всех значений спауна Spawn Balance Utility («SBU») выводит файл со всеми значениями весов спауна под названием BiomeMobWeight.txt в папке /config/spawnbiomeutility.
Вы можете редактировать этот файл с помощью электронной таблицы и изменять веса спауна и размер группы для мобов построчно или несколько строк одновременно. Например, вы можете сделать скелетов менее распространенными в каждом биоме, а затем сделать их более распространенными в лесных биомах, используя электронную таблицу для сортировки по имени моба (minecraft:skeleton).. выберите эти строки и используйте поиск и замену, чтобы изменить веса спауна с 80 на 50... а затем измените веса спауна скелетов в категории леса на 90.
Пример: BiomeMobWeight (с добавленной примерной строкой заголовка для понимания)
№Строки, КатегорияБиома, Биом, Классификация, Мод:Монстр, ВесСпауна, Мин.Группа, Макс.Группа
1, taiga, byg:snowy_blue_taiga_hills, MONSTER, minecraft:spider, 80, 4, 4
2, taiga, byg:snowy_blue_taiga_hills, MONSTER, minecraft:zombie, 80, 4, 4
3, taiga, byg:snowy_blue_taiga_hills, MONSTER, minecraft:zombie_villager, 10, 1, 1
4, taiga, byg:snowy_blue_taiga_hills, MONSTER, minecraft:skeleton, 80, 4, 4
5, taiga, byg:snowy_blue_taiga_hills, MONSTER, minecraft:creeper, 80, 4, 4
6, taiga, byg:snowy_blue_taiga_hills, MONSTER, minecraft:slime, 80, 4, 4
Дружелюбный
Если SBU встречает плохую строку, он выдает сообщение об ошибке с указанием плохой строки и поля, где произошла ошибка.
Затем он продолжает со следующей строки. Плохие данные обрабатываются. Он не вызывает сбой. Поэтому проверяйте свои логи на наличие этих сообщений об ошибках.
Добавление мобов в структуры
Вы также можете использовать SBU для добавления мобов в структуры. В настоящее время это работает только для структур Minecraft. SBU добавляет их и в модифицированные структуры, но Forge как-то иначе обрабатывает их спаун.
Я использовал это, чтобы добавить враждебных и мирных рыб в Кораблекрушения. И чтобы добавить некоторых мирных рыб в Подводные храмы.
Применяется та же последовательность. При первом запуске SBU создает файл отчета StructureMobWeight TXT. Вы копируете его в StructureMobWeight CSV и затем редактируете значения.
Пример: исходный CSV файл StructureMobWeight.
1, minecraft:swamp_hut, HEADING, header:ignore, 0, 0, 0
2, minecraft:swamp_hut, MONSTER, minecraft:witch, 10, 1, 1
4, minecraft:swamp_hut, CREATURE, minecraft:cat, 13, 1, 1
6, minecraft:pillager_outpost, HEADING, header:ignore, 0, 0, 0
7, minecraft:pillager_outpost, MONSTER, minecraft:pillager, 41, 1, 1
9, minecraft:monument, HEADING, header:ignore, 0, 0, 0
10, minecraft:monument, MONSTER, minecraft:guardian, 70, 2, 4
12, minecraft:monument, CREATURE, minecraft:cod, 13, 2, 4
14, minecraft:fortress, HEADING, header:ignore, 0, 0, 0
15, minecraft:fortress, MONSTER, minecraft:blaze, 11, 2, 3
17, minecraft:fortress, MONSTER, minecraft:zombified_piglin, 53, 4, 4
19, minecraft:fortress, MONSTER, minecraft:wither_skeleton, 79, 5, 5
21, minecraft:fortress, MONSTER, minecraft:skeleton, 19, 5, 5
23, minecraft:fortress, MONSTER, minecraft:magma_cube, 33, 4, 4
25, minecraft:mineshaft, HEADING, header:ignore, 0, 0, 0
26, minecraft:mansion, HEADING, header:ignore, 0, 0, 0
27, minecraft:jungle_pyramid, HEADING, header:ignore, 0, 0, 0
28, minecraft:desert_pyramid, HEADING, header:ignore, 0, 0, 0
29, minecraft:igloo, HEADING, header:ignore, 0, 0, 0
30, minecraft:ruined_portal, HEADING, header:ignore, 0, 0, 0
31, minecraft:shipwreck, HEADING, header:ignore, 0, 0, 0
32, minecraft:stronghold, HEADING, header:ignore, 0, 0, 0
33, minecraft:ocean_ruin, HEADING, header:ignore, 0, 0, 0
34, minecraft:endcity, HEADING, header:ignore, 0, 0, 0
35, minecraft:buried_treasure, HEADING, header:ignore, 0, 0, 0
36, minecraft:village, HEADING, header:ignore, 0, 0, 0
37, minecraft:nether_fossil, HEADING, header:ignore, 0, 0, 0
38, minecraft:bastion_remnant, HEADING, header:ignore, 0, 0, 0
Легкое добавление мобов в каждый биом
SBU читает содержимое "MassAdditionMobs.CSV" и добавляет любых мобов из файла в биомы на основе одного из четырех вариантов (Все, Верхний мир, Незер, Энд).
SBU создаст для вас шаблон для использования под названием "MassAdditionMobs.TXT" в подпапке spawnbalanceutility внутри папки config. Он выглядит так:
Пример файла массового добавления мобов. Добавляйте мобов по шаблону ниже и переименуйте файл в MassAdditionMobs.csv
Строка, Категория*, Класс**, ПространствоИмен:Моб, Вес, МинГруппа, МаксГруппа
1, A, MONSTER, minecraft:phantom, 10, 1, 4
* A, O, N, E для Всех, Верхнего мира, Незера, Энда
** MONSTER,CREATURE,AMBIENT
Этот файл добавит minecraft:phantom во все биомы во всех измерениях. Он также выведет некоторые некритичные сообщения об ошибках для текстовых строк.
Правильный файл может выглядеть так:
1, A, MONSTER, minecraft:phantom, 10, 1, 4
1, N, AMBIENT, minecraft:bat, 15, 1, 4
1, E, CREATURE, abynormalcraft:twistedbunny, 10, 1, 4
1, O, MONSTER, minecraft:silverfish, 5, 3, 6
Этот файл:
* добавит фантомов как редких монстров (вы можете увидеть 1 за ночь) во все биомы игры.
* добавит летучих мышей как мобов окружения во все биомы (они всё ещё будут ограничены темными низкими участками правилами BatEntity).
* добавит скрученных кроликов из (вымышленного) мода abynormalcraft как существ (как овцы... коровы...) во все биомы Энда.
* Добавит серебряных рыбок Minecraft как очень редкий спаун во всех биомах Верхнего мира (игнорируя другие измерения).
Запустите Minecraft.
Со значениями по умолчанию он повысит любые веса спауна ниже 5 до 5 и понизит любые веса спауна выше 80 до 80.
Создайте мир.
Выйдите.
Перейдите в папку /config и посмотрите в папке /spawnbalanceutility.
Вы увидите два отчета
- BiomeMobWeight.txt
- StructMobWeight.txt
Переименуйте BiomeMobWeight.txt в BiomeMobWeight.csv
Отредактируйте файл BiomeMobWeight.csv с помощью любого текстового редактора, текстового процессора или электронной таблицы. Убедитесь, что вы сохранили изменения как текстовый файл *txt* или *csv* с суффиксом ".csv".
Действия
* Добавьте/Вставьте строку для нового монстра в раздел биома.
* Измените вес спауна на более высокое или низкое значение, чтобы сделать его более или менее распространенным.
* Измените вес спауна на 0 или отрицательное значение, чтобы удалить существо.
* Измените минимальный размер группы на большее или меньшее значение.
* Измените максимальный размер группы на большее или меньшее значение.
* Удалите строку, чтобы убрать существо из биома (но каждый биом должен иметь хотя бы одну строку, иначе SBU оставит биом со значениями по умолчанию).
* Если вы удалите *все* строки в биоме, то он сохранит значения по умолчанию вместо удаления монстров (в конце концов, должен остаться хотя бы один)!
Продвинутые действия
* Отсортируйте файл в электронной таблице по столбцу с монстрами, чтобы все пауки были вместе. Скопируйте блок и вставьте его. Измените всех minecraft:spiders на Мод:существо.
* Обратите внимание, что номер строки не является "ключевым" полем, и ваш отредактированный файл может иметь повторяющиеся номера строк. Он там только для того, чтобы помочь вам отсортировать файл и исправить ошибки.
* Измените классификацию (пул спауна) на другую допустимую классификацию (monster, creature, ambient или допустимую расширенную классификацию (например, EIBTY в примере ниже)
Если вы допустите ошибку в строке - это *не страшно*! Монстр/существо в этой строке не будет добавлено в таблицы спауна, и вы получите сообщение об ошибке.
"SpawnBalanceUtility Error reading field "+errorField+" on 394th line of BiomeMobWeight.csv."
* Сначала, если включено, применить файл BiomeMobWeight.csv (и StructureMobWeight, когда реализовано) к значениям весов спауна.
Обычно, как только вы настроите файл BiomeMobWeight.csv, вы можете отключить другие функции. Но *нормально* оставлять их включенными. Худшее, что может случиться, это если вы укажете вес спауна 100 в CSV файле, а затем он будет понижен до 80.