1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Проверка конфига на определенное значение и возврат null

Тема в разделе "Разработка плагинов для новичков", создана пользователем glavrak, 4 сен 2017.

  1. Автор темы
    glavrak

    glavrak Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Нужно сделать проверку конфига на кастомное значение, допустим 'none' и сделать вывод null.
    Код:
    @EventHandler(priority = EventPriority.HIGHEST)
        public boolean JoinSound(PlayerJoinEvent jes) {
            Player p = jes.getPlayer();
            String group = Plugin.c.getPrimaryGroup(p);
            if(p.hasPermission("customjoinstream.sound"))
                for (Entity near : p.getNearbyEntities(instance.config.getDouble("Radius"), instance.config.getDouble("Radius"), instance.config.getDouble("Radius"))) {
                    if (!(near instanceof Player)) continue;
                    ((Player) near).playSound(p.getLocation(), Sound.valueOf(instance.config.getString("Groups." + group + ".Sounds.Sound1").toUpperCase()), 10, 100);
                }
            for (Entity near : p.getNearbyEntities(instance.config.getDouble("Radius"), instance.config.getDouble("Radius"), instance.config.getDouble("Radius"))) {
                if (!(near instanceof Player)) continue;
                ((Player) near).playSound(p.getLocation(), Sound.valueOf(instance.config.getString("Groups." + group + ".Sounds.Sound2").toUpperCase()), 10, 100);
            }
            for (Entity near : p.getNearbyEntities(instance.config.getDouble("Radius"), instance.config.getDouble("Radius"), instance.config.getDouble("Radius"))) {
                if (!(near instanceof Player)) continue;
                ((Player) near).playSound(p.getLocation(), Sound.valueOf(instance.config.getString("Groups." + group + ".Sounds.Sound3").toUpperCase()), 10, 100);
            }
            return true;
        }
    Как только не пробовал, либо ошибку получаю при отсутствии значения, либо всегда в ответ идет null и ничего не происходит, либо считывает из конфига в джарнике по дефолту. Хочу сделать возможным комбинирование звуков и эффектов до 3х штук, думаю достаточно будет, но сделать это надо по человечески, что бы при отсутствии значения возвращало null и никаких ошибок. Гуглеж толку не дал, все что перепробовал не сработало.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    get(path, def) при нулл вернет def
     
  3. Автор темы
    glavrak

    glavrak Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Знать бы где это подставлять, и в первом значении как я понял должен быть указан конфиг.
     
  4. Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    96
    int level = getConfig().getInt("Setting.level", 5);
     

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