Сохранение своего клана в мир или в отдельный файл

Версия Minecraft
1.7.10
1,316
37
261
Как можно сохранить все кланы, созданные в игре, в мир или отдельный файл? Имею ArrayList со всеми class Clan (возможно говнокод, не уверен), Clan хранит инфу о кол-ве участников, лидере, количестве баз и т.д. Проблема именно возникла у меня в голове, ибо какие то простые int, String, float легко записать, а записать и сохранить и загрузить несколько обьектов кланов, хранящих инфу мою, для меня стало проблемой. Заранее спасибо)
 
Можно еще попросить совет? Как часто стоит сохранять информацию о кланах в файл? каждый час реального времени или только при закрытии клиента/сервера? Как можно отловить закрытие сервера/клиента?
 
Стоит еще сохранять в середине во время WorldEvent.Save. А то вдруг процесс сервера завершится из-за чего-то и прогресс по последней игровой сессии потеряется
 
Тогда проверку делать надо на dimensionId == 0, а то ивент для всех миров вызывается.
Я бы вообще лучше где-то в апдейте сервера считал тики и сохранял, допустим, раз в 5 минут.
 
Можно еще попросить совет? Как часто стоит сохранять информацию о кланах в файл? каждый час реального времени или только при закрытии клиента/сервера? Как можно отловить закрытие сервера/клиента?
Сделай где-нибудь булеан в который записываешь есть изменения или нет, и сохраняй каждый ворлд сейв эвент если изменения были.
 
При определенном пороговом онлайне вероятность flag==false при очередном сохранении буде очень мала, поэтому надо сначала выяснить, нужно ли это
 
Как можно узнать, является ли игрок админом? Именно кодом
upd
хотя, проверки на гейммод будет достаточно.
MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile())
 
Люди, столкнулся с проблемой. Имею класс Clan для работы со всеми кланами. В нем есть static final Clan INSTANCE = new Clan();
через него и работаю. Запускаю 2 клиента, 1 клиент запускаю одиночку и открываю для сети, там все ок. Захожу туда со 2 клиента на эту сеть, пытаюсь создать клан - кидает экспешн что Clan не инициализирован. NoDefClassFoundException вроде как. Это как понимать?
 
Назад
Сверху