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

Помогите Cет строки (Переменные)

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Как сетать строку, например, %time_left% отображал число из конфига. Как это сделать?

    Знаю, что вопрос глупый, но очень надо)

    Например, как взять число от сюда?

    getInt("TimeEffect");

    Код:
    send(p, translateAlternateColorCodes('&', "&c&l[!] &f&nYou have successfully used the rune!&a The flight effect lasts exactly " + getInt("TimeEffect") + "s!"));
    Код:
                   
    if(item.getItemMeta().getDisplayName().equals(translateAlternateColorCodes('&', "&c&lRune &b&lFLY"))){
        send(p, translateAlternateColorCodes('&', "&c&l[!] &f&nYou have successfully used the rune!&a The flight effect lasts exactly " + getInt("TimeEffect") + "s!"));
        p.setAllowFlight(true);
    
        fly.add(p);
    
        new BukkitRunnable(){
    
            @Override
            public void run() {
                if(fly.contains(p)){
                    if(p.getLocation().getY() > 10) {
                        p.teleport(new Location(Bukkit.getWorld(p.getLocation().getWorld().getName()), p.getLocation().getX(), p.getLocation().getY() - 5, p.getLocation().getZ()));
                        p.setAllowFlight(false);
                        cancel();
                    }
                    p.teleport(new Location(Bukkit.getWorld(p.getLocation().getWorld().getName()), p.getLocation().getX(), p.getLocation().getY() - 2, p.getLocation().getZ()));
                    p.setAllowFlight(false);
                    send(p, translateAlternateColorCodes('&', "&c&l[!] &6The rune has expired!"));
                    cancel();
                }
            }
        }.runTaskLater(Main.getInstance(), getInt("TimeEffect") * 20L);
        p.getInventory().getItemInMainHand().setAmount(p.getInventory().getItemInMainHand().getAmount() - 1);
        p.updateInventory();
        return;
    }
                    }
     
  2. Sturm_PT

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

    Баллы:
    76
    plugin.getConfig().getInt("позиция, из которой берёшь число");
    например, в конфиге у тебя есть строчка cooldown: 5
    тогда plugin.getConfig().getInt("cooldown");
     
  3. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Ты не понял. Мне надо, чтобы именно юзать переменную %time_left% и он будет показывать время, которое указано в кфг, например, Времени осталось %time_left%. Делаю для возможности настройки сообщения


    Код:
    TeleportRune:
      Price: 907.0 # Отображается в меню покупки
      TimeEffect: 22 # (сек)
      UseMessage: "&c&l[!] &f&nYou have successfully used the rune!&a Performs teleportation..."
      BuyMessage: "&aYou success buy rune TELEPORT"
      AdditionalEffects:
        Effects: # Если вам не нужны доп.Эффекты измените дефолтное значение на [], то есть Effects: []
        - POWER # Сила эффекта(-ов) всегда равна одному! Указывать точное название эффектов!
        AddEffectsMessage: "&c&l[!] &fAdditional effects have been applied to you!"
        AdditionalTimeEffect: 300 # (сек)
    В разделе TeleportRune будет настройка сообщения при использование, то есть

    UseMessage: "&c&l[!] &f&nВы успешно использовали руну! Эффект выдан на %time_left%."

    %time_left% выдаст в сообщении 22 секунды
     
  4. Sturm_PT

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

    Баллы:
    76
    Ааа, понял. Если str - строка с сообщением, time - строка с временем (в коде), то str.replace("%time_left%", time)
     
  5. alexandrage

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

    Баллы:
    173

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