Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Как получить список всех сгенерированных чанков на сервере

mikinol

Активный участник
Баллы
61
Я хочу написать плагин который раз в некоторое время будет просыпатся и удалять все чанки где игрок ни разу не ходил, но не понимаю как получить список всех сгенерированых чанков в мире
 
1) Сохранить все чанки принудительно на диск при помощи world.save()

2) Прочитать каждый MCR-файл из world/region, чтобы получить список всех существующих чанков. Подробнее о MCR: https://minecraft.fandom.com/wiki/Region_file_format

Учти, что при одновременном доступе к файлам мира из ядра и плагина могут возникнуть сложности. Поэтому я бы рекомендовал делать это не плагином, а отдельным java-приложением, которое надо будет запускать строго при остановленном сервере.

Правда мне неясно, каким образом ты будешь определять, заходил ли какой-либо игрок в чанк.

Помимо этого, данный плагин может негативно сказаться на производительности - гораздо быстрее загрузить чанк с диска, чем заново сгенерировать его. По этой причине публичные сервера часто ограничивают размер мира и наоборот генерируют все чанки заранее
 
Правда мне неясно, каким образом ты будешь определять, заходил ли какой-либо игрок в чанк.
Это можно делать через getInhabitedTime() == 0
данный плагин может негативно сказаться на производительности
Я собираюсь использовать его только перед вайпом чтобы сохранять себе этот мир
 

Поделиться этой страницей

Назад
Верх