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

Помогите Не работает кастомный дроп с блоков

Тема в разделе "Разработка плагинов для новичков", создана пользователем HaloSpartan, 28 фев 2018.

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

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

    Баллы:
    66
    public ItemStack cry () {
    ItemStack item = new ItemStack(Material.SEEDS);
    ItemMeta meta = item.getItemMeta();
    meta.setDisplayName(ChatColor.ITALIC + "Зелёный кристалл");
    item.setItemMeta(meta);
    return item;
    }
    @EventHandler
    public void gc(BlockBreakEvent e) {
    Player p = e.getPlayer();
    Block b = e.getBlock();
    if(!b.getType().equals(Material.STAINED_GLASS))return;
    if(b.getData() != 5)return;
    b.getDrops().clear();
    b.getDrops().add(ItemStack);

    И ничего не происходит при ломании стекла
     
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    b.getDrops().add(ItemStack);
    Что за ItemStack? Может cry()? (что за странные названия методов?)
     
  3. Автор темы
    HaloSpartan

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

    Баллы:
    66
    Всё равно не работает(
     
  4. Kurumi

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

    Баллы:
    76
    ивент зарегал?
     
  5. Автор темы
    HaloSpartan

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

    Баллы:
    66
    Как это сделать?
     
  6. Kurumi

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

    Баллы:
    76
    у тебя эвент в главном классе?
     
  7. Автор темы
    HaloSpartan

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

    Баллы:
    66
    Нет
    В отдельном
     
  8. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Нельзя так менять дроп. Дроп можно изменить только отменив эвент, засетив блок в 0 и дропнув нужные предметы вручную. Эта штука есть с бородатых версий.
     
  9. Автор темы
    HaloSpartan

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

    Баллы:
    66
    Я буквально вчера начал заниматся плагинами, не мог бы ты подсказать как это делается? ( ну или кинуть ссылку на что то нужное)
    P.s Сам уже пробывал искать на форумах, не нашёл
     
  10. Kurumi

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

    Баллы:
    76
    в onEnable() пишешь
    Код:
    public void onEnable(){
    Bukkit.getPluginManager().registerEvents(new НАЗВАНИЕ_КЛАССА_С_ЭВЕНТОМ(this), this);
    }
     
  11. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Код:
    @EventHandler
    public void gc(BlockBreakEvent e)
    {
        Player p = e.getPlayer();
        Block b = e.getBlock();
        if(b.getType() != Material.STAINED_GLASS)
            return;
        if(b.getData() != 5)
            return;
        e.setCancelled(true);
        b.setType(Material.AIR);
        b.getWorld().dropItemNaturally(b.getLocation(), itemStack);
    }
    
    Как-то так.
     
    Последнее редактирование: 28 фев 2018
  12. Автор темы
    HaloSpartan

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

    Баллы:
    66
    b.getWorld().dropItemNaturaly(itemStack);

    Я когда itemStack заменяю на gcry () , выходит ошибка

    b.getWorld().dropItemNaturaly(gcry ());
     
  13. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Исправил в своём сообщении.
     
  14. Автор темы
    HaloSpartan

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

    Баллы:
    66
    Cпасибо огромное за помощь)
     
  15. Exception_Prototype

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

    Баллы:
    96
    Не пересоздавай предмет каждый раз, создай 1 раз и кидай его.
     

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