Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов 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. Хостинг MineCraft
    <
  3. serega6531

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

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

    norvele Ньюби

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

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

    Баллы:
    173
    Skype:
    shkurovs
    И что? Вы описание читали?
     
  6. Автор темы
    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
  7. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Кто вам такое сказал?[DOUBLEPOST=1419603908,1419603748][/DOUBLEPOST]И боже, зачем вы используете NMS?
     
  8. Автор темы
    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"
     
  9. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Потому что block.getState()
     
  10. Автор темы
    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
     
  11. serega6531

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

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

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

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

    norvele Ньюби

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

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

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

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