所以我正在尝试制作一个全球清单,只要基本上与玩家清单相关的任何事情发生就会更新。一切正常,但每当玩家在食谱书中进行 shift-clicking 时,它都没有通过任何常规方式注册(至少我认为)我到目前为止所做的是:
@EventHandler
public void onInvClick(InventoryClickEvent event) {
InvUpdate = true;
invupdateplayer = (Player) event.getWhoClicked();
}
但问题是这段代码没有注册收据书事件,这正是我想要做的。有没有办法听这个?
经过一些研究,我发现了两种可能的解决方案。在
InventoryClickEvent
中,有一个名为 .isShiftClick
的方法,它检测交互是否为 shift 单击。我发现的另一件事是 PrepareItemCraftEvent
我相信它会检查是否使用了食谱。但是,我之前没有使用过该事件,所以我不能 100% 确定。