Вопрос Получение всех entity

Айсон :)

Разработчик
Пользователь
Сообщения
447
Решения
19
Кучу раз задавали вопрос, но я так и не понял, почему у меня не работает.

Код выполняется при запуске сервера
Java:
for (World world : Bukkit.getServer().getWorlds()) {
            for (Entity entity : world.getEntities()) {
                NamespacedKey namespacedKey = new NamespacedKey(Display.getInstance(), "displayUUID");
                PersistentDataContainer data = entity.getPersistentDataContainer();
                String displayUUID = data.get(namespacedKey, PersistentDataType.STRING);
                Bukkit.getServer().getConsoleSender().sendMessage("entity " + entity + " " + displayUUID);
                }
            }
        }

При запуске выводит 3 мира, но entity из них не выводит (они есть, если что)
Почему он их не видит? Как это исправить?
 
Последнее редактирование:
Может, мир ещё не загрузился?
Вообще, если мне не изменяет память, в списке "List<(Living)Entity>" хранятся только те энтити, которые лежат в прогруженных чанках. Поправьте, если я ошибаюсь по этому поводу.
 
Вообще, если мне не изменяет память, в списке "List<(Living)Entity>" хранятся только те энтити, которые лежат в прогруженных чанках.
Вроде бы так и есть. Я думаю, для такого кода придётся загружать все чанки
 
Последнее редактирование:
Как лучше, если мне при загрузке сервера надо записывать в хэшмапу всех entity с моим нбт тегом?
Тебе не нужно этого делать. Слушай загрузку чанков, получай энтити оттуда и динамически добавляй в мап
 
Тебе не нужно этого делать. Слушай загрузку чанков, получай энтити оттуда и динамически добавляй в мап
Я не понимаю. У меня сделана система id. То есть, если чанк с энтити из этой системы не прогружен, то нельзя будет с ней взаимодействовать?
Объединено

Тебе не нужно этого делать. Слушай загрузку чанков, получай энтити оттуда и динамически добавляй в мап
И что значит «динамически»?
 
Я не понимаю. У меня сделана система id. То есть, если чанк с энтити из этой системы не прогружен, то нельзя будет с ней взаимодействовать?
Хм... тогда даже не знаю
 
Хм... тогда даже не знаю
Ну у меня все теги + id записаны в отдельном конфиге. Вопрос только, как эти теги у entity при загрузке сервера получать…

И еще я слышал, что можно кильнуть всех энтити при выключении, а при включении спавнить. А в конфиге хранить все данные о них
 
Ну у меня все теги + id записаны в отдельном конфиге. Вопрос только, как эти теги у entity при загрузке сервера получать…

И еще я слышал, что можно кильнуть всех энтити при выключении, а при включении спавнить. А в конфиге хранить все данные о них
Возможно, в твоём случае так лучше и делать. Можешь попробовать понять, как это делают плагины наподобие citizens, mysticmobs
 
Возможно, в твоём случае так лучше и делать. Можешь попробовать понять, как это делают плагины наподобие citizens, mysticmobs
Я посмотрел у ZNPCs и Citizens - ничего не нашёл. Наверное, да, я лучше буду их киллять и спавнить снова
 
Назад
Сверху Снизу