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

Помогите ItemMeta

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

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

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

    Баллы:
    6
    Имя в Minecraft:
    J_Derp
    Писал одну тему, но меня направили сюда.
    Ссылка на тему: http://www.rubukkit.org/threads/itemmeta.77401/#post-984072


    "Здравствуйте, начал делать очередной плагин, и вот уже всё идет хорошо, но столкнулся с проблемой.
    Я видел очень много плагинов, где кожаную броню делали цветной, но порывшись в ItemMeta я ничего толком не нашел. Может кто помочь?
    [​IMG] "
     
  2. Хостинг MineCraft
    <
  3. Explorer_1991

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

    Баллы:
    103
    LeatherArmorMeta meta = (LeatherArmorMeta) item.getItemMeta();
    meta.setColor(Color.fromRGB(0, 128, 64));
    item.setItemMeta(meta);
     
  4. Автор темы
    J_Derp

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

    Баллы:
    6
    Имя в Minecraft:
    J_Derp
    Спасибо.[DOUBLEPOST=1407667939,1407616747][/DOUBLEPOST]Еще один вопросик, как правильно записать в if выражение, для условия какой-либо мета?
    Я пробовал, но всё же как-то не правильно.
    [​IMG]
     
  5. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Что вам не понятно?
    Код:
    if(Условие)
    {
          item.setItemMeta(meta);
    }
    
    А то что вы написали - вообще что-то не естественное.
    Советую ознакомиться с основами языка.
     
  6. Автор темы
    J_Derp

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

    Баллы:
    6
    Имя в Minecraft:
    J_Derp
    Это не то, что мне нужно было.
    Мне нужно, чтобы условием была мета.

    Ах да, еще одна проблемка нашлась.
    Использовал SkullMeta, но ничего не нашел, чтобы превратить головы скелетов в головы игроков. (setOwner имеется, не помогает)
    [​IMG]
     
  7. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Условием не может быть сама meta (За исключением случае если вы будете сравнивать ее с другой метой, но как по мне - затея глупая)
    Обычно сравнивают какую-то ее часть, например "если цвет такой-то... то.."
    Частой практикой является добавление спец. строк в lore для послед. сравнения

    В случае с черепами вам необходимо изменить SkullType
    Если же нужны игроков - соотв. SkullType следует изменить на PLAYER
     
  8. Автор темы
    J_Derp

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

    Баллы:
    6
    Имя в Minecraft:
    J_Derp
    Благодарю за решение проблемы, но всё же есть нубский вопрос: где описать SkullType? Если можно - напишите код.
     
  9. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    1. ItemStack skull = new ItemStack(397, 1, (short) 3); // Получаем голову с skullType PLAYER (задается через (short) 3)
    2. SkullMeta meta = (SkullMeta) skull.getItemMeta(); //Получаем Skull Meta
    3. meta.setOwner(player.getName()); //Ставим нужного нам овнера
    4. skull.setItemMeta(meta); //Приписываем мета-дату черепу
    5. player.getInventory().addItem(skull); //Добавляем голову в инвентарь
    Учитесь гуглить, пожалуйста.
    Нашел по первой ссылке
    [​IMG]
     

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