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

Помогите Изменить цвет блока (шерсти\флага)

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

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

    norvele Ньюби

    Баллы:
    1
    Имя в Minecraft:
    norvele
    Bukkit 1.8-R0.1-SNAPSHOT

    Block flagBlock = flagLocation.getBlock();
    flagBlock.setType(Material.STANDING_BANNER);
    flagBlock.getState().setData(<что и как сюда писать?>);

    Туда надо запихать MaterialData, но как в эту материалдату запихать цвет?

    MaterialData material = (MaterialData) new Banner(); // и не понятно что дальше
     
  2. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
  3. Автор темы
    norvele

    norvele Ньюби

    Баллы:
    1
    Имя в Minecraft:
    norvele
    Оно deprecated :(
     
  4. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    И что? Вы описание читали?
     
  5. Автор темы
    norvele

    norvele Ньюби

    Баллы:
    1
    Имя в Minecraft:
    norvele
    В 1.8 весь метод deprecated, но пока работает, потом перестанет. Для блока (Material.WOOL) работает, для флага (Material.STANDING_BANNER) не работает. Для флага будет так:

    Block block = flagLocation.getBlock();
    block.setType(Material.STANDING_BANNER);
    CraftBanner banner = new CraftBanner(block);
    banner.setBaseColor(DyeColor.BLUE);
    banner.update(true);

    вроде работает. Спасибо )
     
    Последнее редактирование: 26 дек 2014
  6. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Кто вам такое сказал?
    И боже, зачем вы используете NMS?
     
  7. Автор темы
    norvele

    norvele Ньюби

    Баллы:
    1
    Имя в Minecraft:
    norvele
    А у меня чего-то не получилось по другому:

    Block block = flagLocation.getBlock();
    block.setType(Material.STANDING_BANNER);
    Banner banner = (Banner) block;
    banner.setBaseColor(DyeColor.BLUE);

    Выдает: "org.bukkit.craftbukkit.v1_8_R1.block.CraftBlock cannot be cast to org.bukkit.block.Banner"
     
  8. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Потому что block.getState()
     
  9. Автор темы
    norvele

    norvele Ньюби

    Баллы:
    1
    Имя в Minecraft:
    norvele
    Да, спохватился, до вашего сообщения попробовал "Banner banner = (Banner) block.getState();"
    но результат тот же к сожалению..только вместо org.bukkit.craftbukkit.v1_8_R1.block.CraftBlock пишет org.bukkit.craftbukkit.v1_8_R1.block.CraftBlockState
     
  10. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Очень странно, потому что Banner - это BlockState.
     
  11. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Уберите уже CraftBukkit из зависимостей, он вам нужен?
     
  12. Автор темы
    norvele

    norvele Ньюби

    Баллы:
    1
    Имя в Minecraft:
    norvele
    Из каких зависимостей? Где их искать?
     
  13. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    В подключаемых библиотеках импортируйте bukkit, а не craftbukkit
     

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