Bukkit自定义项目消耗

时间:2017-02-20 19:01:42

标签: java plugins minecraft bukkit

在我的新Bukkit项目中,我需要使用插件创建自定义可食用项目,而不是mod。

我想制作新的食物,如蜂蜜或松饼。我知道如何实现制作配方,但不知道如何检测物品是否被消耗。

我可以做些什么来检测物品的消耗并以与Minecraft的普通食物相同的方式处理它的效果?

1 个答案:

答案 0 :(得分:1)

我不相信可以制作一个" Munching"动画,每个项目都不是消耗品(IE药水和食物)。 不过,当玩家互动以及玩家吃/喝东西时,您可以使用以下事件,如下所示:

<强> PlayerInteractEvent

@EventHandler
public void onInteract(PlayerInteractEvent e) {
    //Event called when a player interacts with something, AKA right click or left click
    Player player = e.getPlayer();
    ItemStack hand = player.getItemInHand();
    if(/**Hand is honey**/) //DOSOMETHING
}

<强> PlayerItemConsumeEvent

@EventHandler
public void onConsume(PlayerItemConsumeEvent e {
    ItemStack consumed = e.getItem();
    Player consumer = e.getPlayer();
    if (/*Consumed is Honey*/) //DoSomething
}

从那里你可以使用饱和度为玩家添加食物棒,并操纵ItemStack从中移除食物棒。