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

Помогите Как убрать постфикс "Крашеный" у ItemStack'a кожаной брони?

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

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

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

    Баллы:
    11
    Имя в Minecraft:
    SoKnight_
    Пишу плагин на джетпак для своего сервера. При создании ItemStack'a этого джетпака в виде предмета у меня возникло желание убрать постфикс "Крашеный" во второй строке lore после displayName (см. скрин), в ItemFlag'ах ничего подобного не нашёл. Скрытие атрибутов предмета также не помогло. Если кто-то знает, напишите пожалуйста, буду рад помощи!
    Screenshot_1.png
     
  2. Mr Hosting
  3. dimkaS

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

    Баллы:
    76
    Имя в Minecraft:
    dimkaS
    Через ресурс пак можно убрать эту надпись вроде.
     
  4. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    ItemMeta.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
     
  5. Evgesha728

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

    Баллы:
    6
    Имя в Minecraft:
    Evgesha728
  6. Автор темы
    SoKnight

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

    Баллы:
    11
    Имя в Minecraft:
    SoKnight_
    Это не работает, да и какое отношение может иметь флаг на скрытие эффектов зелий, если это "индикатор покраски"?)
     
  7. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Сам задаюсь таким же вопросом, но без него не скрывает.
    Возможно то, что отдельно нет флага который бы скрывал индикатор покраски.
    Если быть точным нужно 2 строки загонять в мету(я так делаю)
    Код:
                im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
                im.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
    
    Если уж быть совсем извращенцем то вот моя сборка - http://rubukkit.org/threads/rpg-survival-meedway-rpg-sborka-mir-vyzhivanija-1-12-2.160840/
    в ней есть плагин CoreRPG(декомпилируете) там над предметами издеваюсь во всей красе, очень подробный пример.
     
    Последнее редактирование: 24 фев 2019
  8. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Скачайте мою сборку и увидите что не на стороне клиента!
     
  9. Dymeth

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

    Баллы:
    76
    Имя в Minecraft:
    Dymeth
    Сейчас бы чужие сборки запускать после кучи случаев массовых заражений вредоносными плагинами.

    В любом случае, следующий код не помог:
    Код:
    ItemStack stack = new ItemStack(Material.LEATHER_CHESTPLATE);
    LeatherArmorMeta meta = (LeatherArmorMeta) stack.getItemMeta();
    meta.setColor(Color.AQUA);
    meta.addItemFlags(ItemFlag.values());
    stack.setItemMeta(meta);
    player.getInventory().setItemInMainHand(stack);
    Поэтому подтверждаю, что Integral-7 оказался прав, и данная надпись находится на стороне клиента.

    В теме от 13-го года приведён код, подтверждающий данную точку зрения.
    В теме от 16-го года тоже указано, что это клиентская сторона. Уже тогда существовали ItemFlag'и.

    Тем не менее, ресурспаки нынче позволяют передавать на клиент языковые файлы, поэтому можно просто поменять значение ключа "item.dyed". В этом случае можно добиться отображения пустой строки, например.

    Полностью избавиться от этой строки можно убрать лишь двумя способами:
    1) Удалить цвет с предмета - при этом предмет будет отображаться коричневым по-умолчанию
    2) Модифицировать клиент
     
    Последнее редактирование: 24 фев 2019

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