▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Maze Generator
Maze Generator

Maze Generator

Плагин для Paper, который генерирует огромные случайные лабиринты с настраиваемыми темами. Работает без лагов даже на слабых серверах.

Оцените первым
5.0K
70

Maze Generator - это плагин для Minecraft Paper, который позволяет создавать масштабные, случайные и полностью настраиваемые лабиринты прямо на вашем сервере. Никаких зависаний, никаких просадок TPS - генерация идет инкрементально, а блоки ставятся постепенно, в пределах заданного бюджета времени на тик. Подходит как для маленьких серверов на слабом железе, так и для огромных проектов с кучей игроков.

Особенности

  • Поточная генерация и установка - никаких гигантских очередей в памяти.
  • Загрузка чанков по требованию - плагин никогда не прелоадит лишнего.
  • Автоматическая подстройка времени на тик - защищает TPS от просадок.
  • Группировка установки по чанкам - уменьшает накладные расходы.
  • Взвешенные темы материалов для пола, стен и верха (файл themes.yml).
  • Опции полых стен и закрытых крыш.
  • Tab-complete для аргументов, плюс команды /maze help, /maze stop, /maze reload.

Установка

  1. Скачайте или соберите JAR-файл плагина.
  2. Кинуть JAR в папку plugins/ вашего сервера.
  3. Запустите сервер один раз - создадутся конфиги и файлы данных.

Создаваемые файлы:

  • plugins/MazeGenerator/config.yml - настройки производительности и поведения.
  • plugins/MazeGenerator/themes.yml - веса материалов для каждой темы.
  • plugins/MazeGenerator/messages.yml - сообщения для игроков.

Используйте /maze reload после изменения этих файлов, либо перезагрузите сервер.

Команды

  • /maze - запускает построение лабиринта с разумными настройками рядом с вами.
  • /maze stop - останавливает все активные построения.
  • /maze help - выводит справку и описание аргументов.
  • /maze reload - перезагружает config.yml, themes.yml и messages.yml.

Права (permissions):

  • mazegenerator.maze - использование /maze и просмотр статуса.
  • mazegenerator.reload - использование /maze reload.

Аргументы (ключ:значение)

Порядок не важен; tab-complete подсказывает ключи и многие значения.

  • x, y, z - координаты мира (по умолчанию ваша позиция).
  • world - название мира (по умолчанию ваш мир).
  • mazeSizeX, mazeSizeZ - размер лабиринта в ячейках (нечетное число).
  • cellSize - ширина и длина одной ячейки в блоках.
  • wallHeight - высота стен (без верхнего слоя).
  • hasExits - true|false - гарантировать хотя бы один выход на границе.
  • additionalExits - дополнительные выходы сверх первого (0..N).
  • hasRoom - true|false - вырезать центральную прямоугольную комнату.
  • roomSizeX, roomSizeZ - размеры центральной комнаты в ячейках.
  • erosion - 0..1 - случайные маленькие дыры в соседних стенах при резке.
  • closed - true|false - крыша над коридорами (иначе они открыты небу).
  • hollow - true|false - стены в виде оболочки (только края) для экономии блоков.
  • themeName - ключ темы из themes.yml (tab-complete показывает доступные темы).

Примеры:

  • /maze mazeSizeX:51 mazeSizeZ:51 cellSize:2 wallHeight:4 hasExits:true additionalExits:1 themeName:forest
  • /maze world:world_nether x:100 y:80 z:-200 mazeSizeX:41 mazeSizeZ:41 themeName:snowy
  • /maze mazeSizeX:75 mazeSizeZ:75 cellSize:3 wallHeight:5 hasExits:true hollow:true closed:false themeName:desert

Конфигурация (config.yml)

Настройки по умолчанию уже подобраны так, чтобы сохранять TPS на большинстве серверов. Ключевые параметры:

  • millis-per-tick (по умолчанию 3) - базовый бюджет времени на тик. Автоподстройка меняет его в пределах границ.
  • jobs-batch-cells (по умолчанию 64) - сколько ячеек планировщик пытается собрать за раз. Больше - меньше накладных расходов, но возможны всплески.
  • cells-per-job (по умолчанию 16) - сколько ячеек упаковывается в одну задачу для конкретного чанка. Больше - меньше накладных расходов и повторных загрузок чанков.
  • set-block-data (по умолчанию false) - прикреплять CustomBlockData к блокам. Для большинства лабиринтов лучше оставить false (экономит I/O и память).
  • defer-wall-fill (по умолчанию false) - порядок построения:
    • true: сначала вырезаются проходы (коридоры появляются быстро), потом заполняются стены. Обычно меньше записей всего.
    • false: сначала стены, потом проходы - сначала выглядит как монолит, потом появляются пути.
  • autotune: (включено по умолчанию)
    • min-millis-per-tick, max-millis-per-tick - границы бюджета времени на тик.
    • increase-step, decrease-step - скорость изменения бюджета.
    • spare-high, spare-low - пороги на основе оставшегося времени в текущем 50 мс тике.
  • status-interval-jobs (по умолчанию 1000) - как часто выводить прогресс в чат (примерно каждые N задач).

Важно: плагин загружает чанки только в момент установки блоков. Никакого прелоада или фоновых бюджетов для чанков нет.

Пример: Плавный (минимальное влияние на TPS)

millis-per-tick: 2
jobs-batch-cells: 32
cells-per-job: 8
set-block-data: false

autotune:
  enabled: true
  min-millis-per-tick: 1
  max-millis-per-tick: 4
  increase-step: 1
  decrease-step: 2
  spare-high: 18
  spare-low: 12

defer-wall-fill: true
status-interval-jobs: 500

Пример: Сбалансированный (как по умолчанию)

millis-per-tick: 3
jobs-batch-cells: 64
cells-per-job: 16
set-block-data: false

autotune:
  enabled: true
  min-millis-per-tick: 1
  max-millis-per-tick: 8
  increase-step: 1
  decrease-step: 2
  spare-high: 18
  spare-low: 12

defer-wall-fill: false
status-interval-jobs: 1000

Пример: Быстрый (допускает небольшие скачки нагрузки)

millis-per-tick: 5
jobs-batch-cells: 128
cells-per-job: 32
set-block-data: false

autotune:
  enabled: true
  min-millis-per-tick: 2
  max-millis-per-tick: 10
  increase-step: 1
  decrease-step: 1
  spare-high: 20
  spare-low: 10

defer-wall-fill: true
status-interval-jobs: 750

Темы (themes.yml)

Темы управляют взвешенным выбором материала для трех частей: floor (пол), wall (стена) и top (верх).

Пример:

desert:
  floor:
    SANDSTONE: 20
    RED_SANDSTONE: 10
  wall:
    SAND: 40
    CHISELED_SANDSTONE: 20
  top:
    SANDSTONE: 3

forest:
  floor:
    GRASS_BLOCK: 20
    DIRT: 2
  wall:
    OAK_LOG: 30
    OAK_LEAVES: 25
  top:
    OAK_LOG: 3

Веса - целые положительные числа. Чем больше вес, тем вероятнее материал. Если секция пуста, используется STONE.

Советы:

  • Используйте больше разнообразия в wall и top, чтобы лабиринт выглядел естественнее.
  • Для top лучше брать более легкие материалы - красивые силуэты.

Сообщения (messages.yml)

  • plugin-prefix, job-started, job-status, job-done, job-stopped, command-error, no-permission, config-reloaded.
  • Цветовые коды через & - поддерживаются.

Как работает автоподстройка (быстро)

  • Плагин измеряет свободное время внутри текущего 50 мс тика (на основе события start tick).
  • Если свободного времени много (spare >= spare-high), бюджет на тик увеличивается на increase-step вплоть до max-millis-per-tick.
  • Если тик загружен (spare < spare-low), бюджет уменьшается на decrease-step до min-millis-per-tick.
  • Строитель размещает блоки только пока now + currentMillisPerTick не превышено.

Советы по производительности

  • Используйте hollow: true и большой cellSize, чтобы радикально сократить количество блоков.
  • Увеличьте cells-per-job и jobs-batch-cells для снижения накладных расходов планировщика.
  • Держите set-block-data: false, если не критично.
  • Включайте defer-wall-fill: true для быстрого появления видимого лабиринта и меньшего числа записей.

Устранение проблем

  • Лабиринт кажется зависшим:
    • Обновления в чате приходят периодически. Уменьшите status-interval-jobs для более частой обратной связи.
    • Проверьте консоль на ошибки. Если чанки очень далеко, каждая задача загружает их по требованию - это может быть медленно, но не должно зависать.
  • Просадки TPS во время построения:
    • Понизьте millis-per-tick, jobs-batch-cells или cells-per-job.
    • Оставьте autotune.enabled: true, чтобы бюджет автоматически снижался.
  • Темы выглядят однообразно:
    • Добавьте больше материалов и весов в wall и top.

В общем, Maze Generator - отличный инструмент для админов, которые хотят добавить на сервер случайные лабиринты без риска положить его. Настраивай размеры, темы, строй прямо в Незере или Энде - всё в твоих руках. Скачать плагин Maze Generator можно сразу на сервер, просто кинув JAR в plugins.

Скачать на Modrinth

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:2 года назад
Обновлён:1 месяц назад
Главная