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

Помогите Как создать обьект ItemStack из id в конфиге

Тема в разделе "Разработка плагинов для новичков", создана пользователем LalkaLalka, 13 июн 2019.

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

    LalkaLalka Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    LALKATOP
    Как создать обьект ItemStack из id в конфиге? Если оно указано в виде 1:5 например
     
  2. Beatboxer

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

    Баллы:
    123
    Skype:
    beatbox603
  3. alexandrage

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

    Баллы:
    173
    А никак, айдишек уже давно как нет.
     
  4. Автор темы
    LalkaLalka

    LalkaLalka Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    LALKATOP
    Есть... Я пытался сделать Material.DIORITE, но в 1.12 диорит - это камень с другим MaterialData
     
  5. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Тогда пускай будет stone:5.
    Чем раньше избавишься от magic value - тем лучше.
    Надеюсь, не нужно объяснять, как получить материал по имени и создать стак с этим материалом?
     
    Последнее редактирование: 13 июн 2019
  6. Автор темы
    LalkaLalka

    LalkaLalka Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    LALKATOP
    как здесь https://bukkit.org/threads/create-g...using-the-id-of-the-item.163357/#post-1777407 ? Только изменить id на название?
     
  7. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Код:
    String id = "stone:5";
    int count = 1;
    Material material = Material.getMaterial(id.substring(0, id.indexOf(":")).toUpperCase()); // Всё до двоеточия
    short durability = Short.parseShort(id.substring(id.indexOf(":") + 1)); // Всё после двоеточия
    ItemStack stack = new ItemStack(material, count, durability);
     
    Последнее редактирование: 13 июн 2019
  8. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
  9. alexandrage

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

    Баллы:
    173
    ItemStack stack = new ItemStack(Material.matchMaterial("STONE"), 1);
    stack.setDurability((short) 5);
     
  10. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Можно без сеттера. new ItemStack(Material.matchMaterial("STONE"), 1, (short)5)
     
  11. alexandrage

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

    Баллы:
    173
    Ну, это типо без deprecated).
     
  12. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Там deprecated только этот:
    ItemStack(Material type, int amount, short damage, Byte data)
     
  13. alexandrage

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

    Баллы:
    173
    Да? Это было так давно, мог и забыть.
     

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