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

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

Discussion in 'Разработка плагинов для новичков' started by norvele, Dec 26, 2014.

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

    norvele Ньюби

    Trophy Points:
    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 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
  4. Автор темы
    norvele

    norvele Ньюби

    Trophy Points:
    1
    Имя в Minecraft:
    norvele
    Оно deprecated :(
     
  5. serega6531

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

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

    norvele Ньюби

    Trophy Points:
    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);

    вроде работает. Спасибо )
     
    Last edited: Dec 26, 2014
  7. serega6531

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

    Trophy Points:
    173
    Skype:
    shkurovs
    Кто вам такое сказал?[DOUBLEPOST=1419603908,1419603748][/DOUBLEPOST]И боже, зачем вы используете NMS?
     
  8. Автор темы
    norvele

    norvele Ньюби

    Trophy Points:
    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 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Потому что block.getState()
     
  10. Автор темы
    norvele

    norvele Ньюби

    Trophy Points:
    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 Старожил Девелопер Пользователь

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

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

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

    norvele Ньюби

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

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

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

Share This Page