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

Версия Minecraft
1.7.10
1,193
31
182
Как можно сохранить все кланы, созданные в игре, в мир или отдельный файл? Имею ArrayList со всеми class Clan (возможно говнокод, не уверен), Clan хранит инфу о кол-ве участников, лидере, количестве баз и т.д. Проблема именно возникла у меня в голове, ибо какие то простые int, String, float легко записать, а записать и сохранить и загрузить несколько обьектов кланов, хранящих инфу мою, для меня стало проблемой. Заранее спасибо)
 
1,193
31
182
Можно еще попросить совет? Как часто стоит сохранять информацию о кланах в файл? каждый час реального времени или только при закрытии клиента/сервера? Как можно отловить закрытие сервера/клиента?
 
7,099
324
1,510
Стоит еще сохранять в середине во время WorldEvent.Save. А то вдруг процесс сервера завершится из-за чего-то и прогресс по последней игровой сессии потеряется
 

tox1cozZ

aka Agravaine
8,455
598
2,892
Тогда проверку делать надо на dimensionId == 0, а то ивент для всех миров вызывается.
Я бы вообще лучше где-то в апдейте сервера считал тики и сохранял, допустим, раз в 5 минут.
 
699
9
53
Можно еще попросить совет? Как часто стоит сохранять информацию о кланах в файл? каждый час реального времени или только при закрытии клиента/сервера? Как можно отловить закрытие сервера/клиента?
Сделай где-нибудь булеан в который записываешь есть изменения или нет, и сохраняй каждый ворлд сейв эвент если изменения были.
 
7,099
324
1,510
При определенном пороговом онлайне вероятность flag==false при очередном сохранении буде очень мала, поэтому надо сначала выяснить, нужно ли это
 

Eifel

Модератор
1,623
78
608
Как можно узнать, является ли игрок админом? Именно кодом
upd
хотя, проверки на гейммод будет достаточно.
MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile())
 
1,193
31
182
Люди, столкнулся с проблемой. Имею класс Clan для работы со всеми кланами. В нем есть static final Clan INSTANCE = new Clan();
через него и работаю. Запускаю 2 клиента, 1 клиент запускаю одиночку и открываю для сети, там все ок. Захожу туда со 2 клиента на эту сеть, пытаюсь создать клан - кидает экспешн что Clan не инициализирован. NoDefClassFoundException вроде как. Это как понимать?
 
7,099
324
1,510
Сверху