【问题标题】:Bukkit custom item consumingBukkit 自定义物品消耗
【发布时间】:2017-02-20 19:01:42
【问题描述】:

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

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

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

【问题讨论】:

  • 要使您的物品可消费,请尝试使用例如带有自定义元数据的猪排

标签: java plugins minecraft bukkit


【解决方案1】:

我认为不可能为每个非消耗品(即药水和食物)制作“咀嚼”动画。 不过,您可以在玩家互动以及玩家吃/喝东西时使用以下事件,如下所示:


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
}

从那里您可以使用 Saturation 向您的播放器添加食物条,并操作 ItemStack 从中移除一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多