Восстанавливающиеся структуры
На AmensCraft часть данжей и других важных структур может восстанавливаться после исследования игроками. За это отвечает серверный мод Amens Respawning Structures.
Система нужна для того, чтобы ключевой контент мира не исчезал навсегда после первого посещения и оставался доступным новым игрокам.
Какие структуры восстанавливаются
Восстанавливаются не все здания и данжи подряд. Сервер использует специальный whitelist типов структур.
Если структура не добавлена в этот список, Amens Respawning Structures её не трогает.
Когда структура считается использованной
Таймер восстановления не запускается просто из-за того, что структура существует в мире.
Конкретный экземпляр структуры становится изменённым — dirty — только после успешного действия игрока внутри её реальной области:
- разрушения блока;
- установки блока;
- открытия блочного контейнера.
Простое нахождение рядом или проход через структуру без таких действий само по себе не запускает восстановление.
Когда начинается таймер
После первого подходящего действия сервер сохраняет время последней активности.
Каждое следующее изменение внутри структуры запускает отсчёт заново.
То есть если игрок:
- открыл сундук;
- через час вернулся;
- сломал ещё один блок;
таймер будет считаться от последнего действия, а не от первого посещения.
Сколько ждать
Время задаётся сервером отдельно для каждого типа структуры через параметр respawn_hours.
Поэтому разные данжи могут иметь разные сроки восстановления.
Текущее публичное правило простое:
таймер считается по реальному времени от последней активности внутри структуры.
Перезапуск сервера не сбрасывает таймер
Состояние сохраняется на диск вместе с реальным timestamp.
Поэтому:
- рестарт сервера не обнуляет ожидание;
- выключение сервера не превращает использованный данж в новый;
- после запуска сервер продолжает отсчёт с сохранённого состояния.
Чистая структура сама по себе не восстанавливается
Если whitelist-структуру никто не изменял и не открывал её контейнеры, она не восстанавливается только потому, что прошло много времени.
Система работает только с сохранёнными изменёнными экземплярами.
Что откладывает восстановление
Даже если таймер уже закончился, сервер не обязан восстановить данж немедленно.
Восстановление откладывается, если:
- игрок находится внутри bounding box структуры;
- область структуры пересекается с существующим приватным чанком OPAC.
Игрок рядом с данжем не мешает
Проверяется именно нахождение игрока внутри реальной области структуры.
Игрок, стоящий снаружи, не блокирует восстановление независимо от того, насколько близко он находится.
Что происходит, если внутри находится игрок
Сервер не восстанавливает блоки поверх игрока.
Вместо этого операция откладывается, а через настроенный интервал выполняется новая попытка.
Если игрок всё ещё внутри, восстановление снова переносится.
Что происходит при существующем привате
Если старый приват уже пересекает структуру, мод не удаляет его автоматически.
Вместо этого:
- структура остаётся в очереди на восстановление;
- восстановление блокируется приватным чанком;
- после удаления конфликтующего привата сервер сможет восстановить структуру автоматически.
Почему возле некоторых данжей нельзя создать приват
Новые приваты OPAC проверяются ещё до создания.
Если выбранный чанк пересекает:
- bounding box восстанавливающейся whitelist-структуры;
- или дополнительную защитную область вокруг неё;
создание привата отменяется.
Это необходимо, потому что приват и автоматическое восстановление территории несовместимы: сервер не должен перезаписывать постройки игрока внутри его защищённой базы.
Защитный радиус
Размер дополнительной зоны вокруг структуры задаётся параметром claim_protection_radius_chunks.
Поэтому запрет может действовать не только непосредственно внутри стен данжа, но и в соседних чанках.
Точное значение является серверной настройкой и может меняться вместе с конфигурацией Season 2.
Что именно восстанавливается
Система использует настоящий Minecraft StructureStart и части структуры, а не вручную сохранённую копию отдельной комнаты.
Во время восстановления сервер повторно размещает структуру в её исходной области.
Это может вернуть:
- сломанные блоки;
- изменённые части здания;
- контейнеры и элементы структуры;
- связанные с шаблоном элементы, которые структура должна содержать.
Почему нельзя строить базу внутри такого данжа
Если вы построили что-либо внутри восстанавливающейся структуры, после завершения таймера эти изменения могут быть перезаписаны исходным шаблоном структуры.
Поэтому:
- не используйте такие данжи как постоянную базу;
- не храните там ценные вещи;
- не рассчитывайте на сохранность построек внутри области восстановления.
Как понять, что место защищено
При попытке создать запрещённый приват сервер выводит отдельное красное сообщение о том, что рядом находится восстанавливающаяся структура.
Если приват не создаётся около данжа, это обычно не ошибка лимита чанков, а специальная защита мира.
Зачем нужна эта система
Основные задачи:
- сохранять данжи доступными для новых игроков;
- не позволять одному игроку навсегда занять важную структуру;
- возвращать исследовательский контент после разграбления;
- избегать конфликтов между восстановлением мира и приватами.
Коротко: whitelist-структура начинает отсчёт после реального действия игрока внутри неё. Любая новая активность сбрасывает таймер. Когда срок заканчивается, сервер восстанавливает структуру, но только если внутри нет игроков и она не пересекается с приватами. Новые приваты рядом с такими данжами блокируются заранее.