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

  • Автор темы Автор темы 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);


}



}
 
Не проверял, попробуй.
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);
    }

}
 
Не проверял, попробуй.
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);
    }

}
Спасибо огромное! Всё работает!
 
Назад
Верх