使用Spigot API,Minecraft为ItemStack创建一个getter很麻烦

时间:2017-08-01 13:27:35

标签: api minecraft bukkit

基本上不能做吸气剂 这是我的方法: https://hastebin.com/imuwulitod.cpp 这是点击事件: https://hastebin.com/odumuvuxax.cs 我需要一个吸气剂,这样他们就可以只用一个特定的项目点击实体。

2 个答案:

答案 0 :(得分:0)

好吧,我测试了我在方法之外制作了物品堆栈的东西。它奏效了。但是,我的问题是我希望他们在我的方法中。我怎么做?因为只为方法创建了项目堆栈,并且当方法结束时,项目堆栈将被删除。它是一个当地的商品货架。

答案 1 :(得分:0)

将onPlayerInteract事件编辑为此

@EventHandler
public void onPlayerInteract(PlayerInteractEntityEvent event) {
    Player player = event.getPlayer();
    Entity entity = event.getRightClicked();
    if (player.getInventory().getItemInMainHand().isSimilar(PunishItem)) {
        player.performCommand("invsee " + player.getName());
    }
}

然后用你的PunishItem itemstack把它扔进课堂。

public static ItemStack PunishItem;

它没有经过测试,但我确信它应该可行。

注意:getItemInMainHand()是1.9+。如果您使用1.8,请将其更改为getItemInHand()