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

Помогите как найти короткий ID предмета?

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

Статус темы:
Закрыта.
  1. Автор темы
    _Orphen_

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

    Баллы:
    76
    в общем простой вопрос как поменять 1 блок на другой и меня интересует именно блок с доп ид
    например: Bukkit.getWorld("world").getBlockAt(0, 0, 0).setType(Material.WOOL);
    тут мы меняем блок на материал wool, но меня интересует как установить например красную шерсть с коротким айди 14 (35:14)
    И второе как опять же Bukkit.getWorld("world").getBlockAt(0, 0, 0).getType(); узнать у блока его короткий ид? если он есть вообще.
    и точно такое же с ItemStack
    ItemStack IS = new ItemStack(Material.WOOL, 1 , (short) 14); так задается, а как снова достать этот 14!? IS.getType() возвращает материал, а как вернуть короткую часть?
     
  2. ZONCCK

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

    Баллы:
    78
    Имя в Minecraft:
    ZONCCK
    Bukkit.getWorld("world").getBlockAt(0, 0, 0).getData();
    Только вот этот метод deprecated, других не знаю :cry:
     
  3. Автор темы
    _Orphen_

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

    Баллы:
    76
    немного по гуглил) и сам решил проблему) всем спс.
    кому интересно:
    Код:
    Block b1 = Bukkit.getWorld("world").getBlockAt(e.getClickedBlock().getLocation());
                b1.setType(Material.WOOL);
                BlockState state = b1.getState();
                MaterialData Data = state.getData();
                if (Data instanceof Wool) {
                    state.setData(new Wool(DyeColor.RED));                               
                    state.update();                                            //установили
                }
                
                
                b1 = Bukkit.getWorld("world").getBlockAt(e.getClickedBlock().getLocation());
                Data = b1.getState().getData();
                if (Data instanceof Wool) {
                    Wool w  = (Wool) Data;
                    DyeColor Color = w.getColor();                             //достали
     
  4. Mukiroku

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

    Баллы:
    76
    Имя в Minecraft:
    Kukuroku
    Закрой тему если решил.
     
Статус темы:
Закрыта.

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