Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Число из Lore в Int?

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheBlacK.Z, 18 мар 2015.

  1. Автор темы
    TheBlacK.Z

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

    Баллы:
    78
    Здравствуйте, можно ли как нибудь превратить число из Lore в Int?
    То есть у нас есть: Speed: 3
    И при выбирании этого предмета мы будем присваивать игроку скорость которая пишется после ": "

    Пример: ItemLoreStats
     
  2. Хостинг MineCraft
    <
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Integer.parseInt(lore.get(0).split(": ")[1])
     
  4. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    Код:
    Integer.parseInt(lore.replace("Speed: ", ""));
    
     
  5. Konstantin773

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

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Код:
    try{
    Integer.parseInt(new String(lore.substring(7)));
    ......
    } catch (Exception e){
    }
    
     
  6. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    А если двузначное число?
    Скорость 11 :confused:
     
  7. Konstantin773

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

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Ты бум-бум? Берутся все символы, начиная с 7. А substring более экономен.
     
  8. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Да, что-то я затупил. Но я предпочитаю сплитить, потому что иногда нужно в одной строке хранить несколько чисел.
     
  9. Konstantin773

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

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Тогда, наиболее правильная конструкция split
    Код:
    try{
    Integer.parseInt(new String(lore.split(":")[1]));
    } catch(Exception e){
    }
    
    split приводит к непредвиденным утечкам памяти при частом использовании, каждая строка из массива является исходной строкой с измененными позициями начала и конца. Вызов конструктора позволяет проинициализировать строку, а предыдущую на свалку.
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Обновите жабу, это уже давно не так.
     

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