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

  • Автор темы Автор темы 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;
}
                }
 
plugin.getConfig().getInt("позиция, из которой берёшь число");
например, в конфиге у тебя есть строчка cooldown: 5
тогда plugin.getConfig().getInt("cooldown");
 
plugin.getConfig().getInt("позиция, из которой берёшь число");
например, в конфиге у тебя есть строчка cooldown: 5
тогда plugin.getConfig().getInt("cooldown");
Ты не понял. Мне надо, чтобы именно юзать переменную %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 секунды
 
Ааа, понял. Если str - строка с сообщением, time - строка с временем (в коде), то str.replace("%time_left%", time)
 
Назад
Верх