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

Помогите Удаление предмета в PlayerInteractEvent.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Kloper, 11 май 2019.

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

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

    Баллы:
    76
    Имя в Minecraft:
    f3azzy
    Привет, пишу плагин и надо чтобы при использовании бумаги давались ХП и сама бумага удалялась..

    Вот что у меня получилось, но оно при использовании не удаляется, если поможете буду очень благодарен.


    package quells.main;

    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.*********ventory.ItemStack;

    public class Apteka implements Listener{

    @EventHandler
    public void filim12(PlayerInteractEvent e){
    if(e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
    if(e.getPlayer().getInventory().getItemInMainHand().getType() != Material.PAPER) return;
    Player p = e.getPlayer();
    p.setHealth(p.getHealth() + 1);
    ItemStack i = new ItemStack(Material.PAPER, 1);
    p.getInventory().removeItem(i);


    }



    }
     
  2. Exception_Prototype

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

    Баллы:
    96
    Не проверял, попробуй.
    PHP:
    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {

        if (
    event.getAction() != Action.RIGHT_CLICK_AIR && event.getAction() != Action.RIGHT_CLICK_BLOCK) return;
        if (!
    event.hasItem()) return;

        
    Player player event.getPlayer();
        
    ItemStack itemStack player.getInventory().getItemInMainHand();

        if (
    itemStack.getType() != Material.PAPER) return;

        
    player.setHealth(player.getHealth() + 1);
     
        if (
    itemStack.getAmount() == 1) {
            
    player.getInventory().setItemInMainHand(null);
        } else {
            
    itemStack.setAmount(itemStack.getAmount() - 1);
        }

    }
     
  3. Автор темы
    Kloper

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

    Баллы:
    76
    Имя в Minecraft:
    f3azzy
    Спасибо огромное! Всё работает!
     
  4. TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Закрывайте тему ПОЖАЛУЙСТА
     

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