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

Стартап Помощь новичкам и тем, кто мало писал плагины. (+ LifeHack'и)

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

  1. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ну берёшь эти доски и меняешь им материал. В чем проблема?
     
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Block.setData(byte)
     
  3. marior

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

    Баллы:
    61
    Имя в Minecraft:
    mario
    Наверно я чегото не понял,.. нет материала березовые доски - только дуб...
    Тут получается я ставлю блок дубовых досок а потом через дату меняю их на березовые...?
    Код:
    Location lok;
    lok.getBlock().setType(Material.LOG);
    lok.getBlock().setData((byte)2);
    
    //или так както(но так не получится)
    lok.getBlock().setType(Material.LOG).setData((byte)2);
    почему ж так сложно то...
     
  4. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Там с data всё немного плохо в новых версиях. Для некоторых блоков есть интерфейсы, с их типами (как садженцы), а вот для досок/брёвен не нашёл.
     
  5. Azim_D3Tm

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

    Баллы:
    76
    Мне надо сделать так, что бы в определенное время происходило определенное действие.
    Почти со всем разобрался, кроме времени.
    Каким образом лучше реализовать?
    Не слушать же каждый тик?(бред+нагрузка)
     
  6. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    Пускай асинхронный повторяющийся шедулер, который будет выполнять каждую секунду то, что тебе нужно. Думаю, за одну секунду вряд ли что-то произойдет.
     
  7. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Как в самом коде алиас команды сделать?Не могу найти. Сделал команду с аргументом, нужно сделать алиас и только через код, plugin.yml не предлагать, я через рефлексию забацал в отдельном классе.
     
  8. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    http://rubukkit.org/threads/registriruem-komandy-bez-zapisi-v-plugin-yml.134239
     
  9. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
  10. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Первый аргумент в CommandRegister ведь алиасы.
     
  11. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Тю, оказывается все просто, а я костылить хотел. Спасибо. Думаю сегодня/завтра выпущу обнову своего плагина, релиз.
     
  12. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Чем можно отловить сообщение о смерти игрока от команды /kill и от падения в пустоту?
    И еще я тут обновляю RandomChest под новые версии и от этого кода у меня ошибка null
    Код:
    List<Integer> durability = (List<Integer>) (item.get("durability") != null ? item
                        .get("durability") : new ArrayList<Integer>());
    Прошу совет по присвоению предмету уровня прочности, там как рандомная, так и статичная не пашет. Исходники ТЫК.
     
  13. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    PlayerDeathEvent
    item.getDurability() - получить
    item.setDurability() - изменить
     
  14. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Под какую версию пишешь плагин? Судя по некоторым методам - 1.8.
     
  15. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Этот эвент я и так использую, какое событие отвечает за эти 2 сообщения не пойму.

    Я его обновить пытаюсь на 1.12, плагин не мой, разраб его забросил. Кое что я уже сделал, но с этим не могу разобраться никак, там вроде еще с зельками проблемы.
     
  16. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    event.getPlayer().getLastDamageCause() - EntityDamageEvent
    Я так в своем плагине своё сообщение о смерти от мины (плиты) прикрутил.
     
    Последнее редактирование: 31 авг 2017
  17. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Подскажите как получить звук из конфига. У меня используется переменная group для получения группы, модифицирую плагин делаю возможным воспроизведение разного звука для разных групп. Вот код.
    Код:
    @EventHandler(priority = EventPriority.HIGHEST)
        public boolean JoinSound(PlayerJoinEvent jes) {
            Player p = jes.getPlayer();
            String group = Plugin.c.getPrimaryGroup(p);
            if(p.hasPermission("customjoinstream.sound"))
            jes.getPlayer().playSound(p.getLocation(), (instance.getConfig().getString("Sounds." + group + звук)), 5, 5);
            return true;
        }
    Что только не перепробовал, не могу достать звук, либо просто тишина, либо null получаю. Группу получаю при помощи Vault.
     
  18. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Звуки правильно прописаны? Можно ещё использовать Sound.valueOf(string.toUpperCase());
     
  19. glavrak

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

    Баллы:
    96
    Имя в Minecraft:
    Mr_Krab
    Если использовать это, то саму группу пытается взять за звук. И в итоге опять получаю ошибку null.
     
  20. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Проблема со чтением конфига?
     

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