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

Покраска брони для 1.4

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем DPOH-VAR, 7 ноя 2012.

  1. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Так как у Bukkit пока еще нет своего API для изменения цвета брони, я решил сделать свой.
    Цвет можно назначить совершенно любому предмету, однако на предметах, кроме кожаной брони, он не будет отображаться (за исключением серой подписи Dyed)
    код:
    http://pastebin.com/YXyKR6yX
    суть:
    ColorEdit - класс-обертка над ItemStack.
    получить его можно с помощью конструктора:
    ColorEdit(ItemStack s)
    теперь есть доступ к цвету предмета.
    чтобы узнать цвет, используем процедуру
    int getColor()
    чтобы установить цвет, соответственно
    ColorEdit setColor(int color)
    цвет является целым числом. чтобы преобразовать его в формат RGB, нужно взять последние три байта. Первый байт является избыточным.
    для упрощения работы в RGB есть следующие функции:
    ColorEdit setRGB(byte red,byte green,byte blue)
    ColorEdit setRed(byte red)
    ColorEdit setGreen(byte green)
    ColorEdit setBlue(byte blue)
    int getRed()
    int getGreen()
    int getBlue()
    если предмет не окрашен, функции getColor(), getRed(), getGreen() и getBlue() вернут -1
    чтобы сбросить цвет, необходимо вызвать setColor(-1) или removeColor()
     
    slavik123123123, BlackRay, ufes и 5 другим нравится это.
  2. Хостинг MineCraft
    <
  3. ITrAnEI

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

    Баллы:
    153
    Имя в Minecraft:
    Tr4nE
    MJRamon, девелопера ему! :3
     
    ufes и caNek нравится это.
  4. stew

    stew Старожил

    Баллы:
    103
    Skype:
    antonov330
    Имя в Minecraft:
    StewMan
    а можно наглядный пример, как мне допустим сделать алмазную броню зеленой?
     
  5. ITrAnEI

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

    Баллы:
    153
    Имя в Minecraft:
    Tr4nE
     
  6. stew

    stew Старожил

    Баллы:
    103
    Skype:
    antonov330
    Имя в Minecraft:
    StewMan
    я имел в виду пример кода
     
  7. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Код:
    ColorEdit t new ColorEdit(bronya);
    t.setRGB(0,255,0);
    Если предмет только что был создан через new ItemStack(...), то вылетит ошибка.
    В таком случае используйте new CraftItemStack(...) или new CraftItemStack(new ItemStack(...))
     

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