Вопрос Как починить этот код?

Версия Minecraft
1.16.X

Mikita

Заблокирован
Сообщения
57
Решения
3
Всем горячий привет, как пофиксить этот код? В крации когда игрок пишет /items off то я его удаляю из HashMap, а если /items on то добавляю в HashMap.

Java:
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        Player player = event.getPlayer();
        UUID playerId = player.getUniqueId();

            Iterator<String> var3 = this.getConfig().getConfigurationSection("items").getKeys(false).iterator();
            while (var3.hasNext()) {
                if (!startItemsEnabledMap.containsKey(playerId) || startItemsEnabledMap.get(playerId)) {
                        player.sendMessage("1");
                    }
                }
    }


HashMap:
Java:
    private Map<UUID, Boolean> startItemsEnabledMap = new HashMap<>();

onEnable:

        startItemsEnabledMap = new HashMap<>();


удаление/Добавление:
Java:
Добавление:
                    startItemsEnabledMap.put(playerId, true);
Удаление:
                    startItemsEnabledMap.put(playerId, false);
 
Ты вместо мапы можешь использовать коллекцию, например, List<UUID>

Код:
Добавление List#add(UUID)
Удаление List#remove(UUID)
Проверка List#contains(UUID)
Чет не робит, 100% я тукдук, можешь помочь?


Java:
    private List<UUID> startItemsEnabledList = new ArrayList<>();

Добавляю:
                startItemsEnabledList.add(playerId);
Удаляю:
                startItemsEnabledList.remove(playerId);

Проверяю:
                if (startItemsEnabledList.contains(playerId) || startItemsEnabledList.isEmpty()) {
 
startItemsEnabledList.isEmpty() убери, оставь if (startItemsEnabledList.contains(playerId))
Уже, но вызывает мега критичную ошибку то что даже игрок не может зайти
Объединено

Вам необходимо зарегистрироваться для просмотра изображений-вложений
 
Какая смысловая нагрузка от этого итератора? Зачем запускается цикл, по чему?
Iterator<String> var3 = this.getConfig().getConfigurationSection("items").getKeys(false).iterator();
Создание своих предметов из конфига
 
Этот цикл стопает сервер, поэтому сервер выдаёт такой лог об ошибке, убери этот цикл, в коде, который ты скинул, он не имеет никакого смысла
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Он мне нужен
 
Назад
Сверху Снизу