所以我试着做一个全球性的库存,只要有任何与玩家库存相关的事情发生,它就会更新。一切工作,但每当一个球员去约shift-点击在食谱它不是通过任何常规手段注册(至少我认为)我所做的,直到现在使用:
@EventHandler
public void onInvClick(InventoryClickEvent event) {
InvUpdate = true;
invupdateplayer = (Player) event.getWhoClicked();
}
但问题是,这段代码没有注册receipebook事件,而这正是我正在尝试做的。有没有办法听这个?
1条答案
按热度按时间qnakjoqk1#
经过一番研究,我找到了两种可能的解决方案。在
InventoryClickEvent
中,有一个名为.isShiftClick
的方法,用于检测交互是否是shift click。我发现的另一件事是一个叫做PrepareItemCraftEvent
的东西,我相信它会检查食谱是否被使用。但是,我以前没有使用过这个事件,所以我不是100%确定。