World Primer позволяет автоматически выполнять команды или создавать простые структуры при создании или загрузке мира в Minecraft.
Описание
Мод запускает набор команд в разные моменты жизненного цикла мира: при его первом создании, каждом запуске сервера или загрузке измерений.
Настройка
Для задания команд предусмотрены следующие параметры конфигурации, доступные также через меню настроек в игре:
- dimensionLoadingCommands — команды, выполняющиеся при каждой загрузке измерения;
- earlyWorldCreationCommands — команды, запускаемые при первом создании мира, до генерации и загрузки спавн-чанков, даже до инициализации измерений при включённом отслеживании загрузок измерений;
- earlyWorldLoadingCommands — команды, выполняемые при каждом запуске сервера до загрузки миров;
- postWorldCreationCommands — команды, запускаемые при первом создании мира после генерации и загрузки спавн-чанков;
- postWorldLoadingCommands — команды, выполняющиеся при каждом запуске сервера после загрузки всех измерений и спавн-чанков обычного мира.
Для удобства все эти группы команд можно временно включать или отключать без удаления самих команд, используя соответствующие параметры включения.
- enableDimensionLoadingCommands — включение команд при загрузке измерений;
- enableDimensionLoadTracking — отслеживание количества загрузок измерений и запусков сервера;
- enableEarlyWorldCreationCommands — включение ранних команд создания мира;
- enableEarlyWorldLoadingCommands — включение ранних команд загрузки мира;
- enablePostWorldCreationCommands — включение поздних команд создания мира;
- enablePostWorldLoadingCommands — включение поздних команд загрузки мира.
Для отладки предусмотрена опция enableDebugLogging, выводящая информацию о срабатывании событий в лог.
Команды при загрузке измерений
Команды можно ограничить конкретным измерением, используя префикс worldprimer-dim-command <ID измерения>. Например:
worldprimer-dim-command 1 say Измерение Края загружено!
Если префикс не использовать, команда запускается при загрузке любого измерения:
say Загружено какое-то измерение!
Начиная с версии 0.3.0, доступны команды с учётом количества загрузок:
worldprimer-dim-command-nth <dim id> <число загрузок> <команда>
Например, команда, срабатывающая при первой загрузке Нижнего мира:
worldprimer-dim-command-nth -1 1 say Нижний мир загружен впервые!
Или при каждом кратном 5-м количестве загрузок Края:
worldprimer-dim-command-nth 1 %5 say Край загружен в кратное 5 раз!
Для работы этой функции необходимо включить enableDimensionLoadTracking.
С версии 0.4.0 в командах поддерживается подстановка значений: {DIMENSION}, {SPAWNX}, {SPAWNY}, {SPAWNZ} с возможностью простых арифметических операций.
Например, для создания комнаты размером 5x5x3 под землёй после создания мира можно использовать команды:
gameRule spawnRadius 0
setworldspawn {SPAWNX} 7 {SPAWNZ}
fill {SPAWNX}-2 7 {SPAWNZ}-2 {SPAWNX}+2 9 {SPAWNZ}+2 minecraft:air
Встроенные команды
С версии 0.5.0 появилась команда worldprimer-load-chunks <chunkXMin> <chunkZMin> <chunkXMax> <chunkZMax> для загрузки диапазона чанков. Это необходимо для работы некоторых команд, например /fill, которая действует только в загруженных чанках.
Загруженные чанки автоматически планируются к выгрузке в следующем тике, не задерживая сохранение мира.
Пример построения коробки из бедрока в точке 0,0 измерения Края при его первой загрузке:
worldprimer-dim-command-nth 1 1 worldprimer-load-chunks -1 -1 0 0 worldprimer-dim-command-nth 1 1 fill 10 0 10 -10 7 -10 minecraft:bedrock worldprimer-dim-command-nth 1 1 fill 9 1 9 -9 6 -9 minecraft:air worldprimer-dim-command-nth 1 1 say Построение коробки завершено!
Команда /worldprimer spread-player
Доступна с версии 0.6.0-dev.20190814.220944. Позволяет распределить игроков по локациям с двумя режимами поиска — по сетке или случайно.
Основные опции:
--find-surface=<true|false>— устанавливает координату Y на верхний твёрдый блок;--grid=<число>— использование поисковой сетки с указанным размером;--max-radius=<число>— максимальное расстояние от точки [0,0] по осям;--min-separation=<число>— минимальное расстояние между позициями игроков и текущими онлайн-игроками в том же измерении;--new— при повторном выполнении команды для игрока генерирует новую позицию вместо телепортации на старую;--y=<число>— фиксированная координата Y;--y-offset=<число>— смещение Y при поиске поверхности, например, для позиционирования под землёй;--y-min=<число>и--y-max=<число>— ограничения для координаты Y при поиске поверхности.





