更改库存项目时如何调用函数
How would I go with calling a function when changing inventory items
好的,所以问题如下...
我正在尝试制作某种 "invsee" 插件,我想在每次库存变化时刷新库存。
到目前为止,我所尝试的只是 InventoryClickEvent
和 InventoryInteractionEvent
。
这就是我遇到问题的地方。 InventoryClickEvent
仅在玩家移动物品让我刷新后再次点击后更新。
例如,当玩家拿起一个物品时,我看不到它消失了,除非他把它放回原处。当他这样做时,直到他拿起另一件物品我才看到它,除非他把它放回原处,否则我不会看到它消失。等等!
我希望它是 "realtime",我不想使用 Scheduler
,因为我已经尝试过,但是当我这样做时,屏幕闪烁。
感谢您的帮助,如果您需要部分代码或其他内容,请直接说。
MGlolenstine
除非您打算执行比查看和可能操纵玩家的物品栏更复杂的操作,否则您可以简化此任务。给定两个Player
对象admin
和target
,其中admin
需要查看target
的库存,可以通过如下方式查看库存:
Player admin = ...
Player target = ...
admin.openInventory( target.getInventory() );
这将允许您查看、添加、删除或更改 target
库存中的项目。
好的,所以问题如下...
我正在尝试制作某种 "invsee" 插件,我想在每次库存变化时刷新库存。
到目前为止,我所尝试的只是 InventoryClickEvent
和 InventoryInteractionEvent
。
这就是我遇到问题的地方。 InventoryClickEvent
仅在玩家移动物品让我刷新后再次点击后更新。
例如,当玩家拿起一个物品时,我看不到它消失了,除非他把它放回原处。当他这样做时,直到他拿起另一件物品我才看到它,除非他把它放回原处,否则我不会看到它消失。等等!
我希望它是 "realtime",我不想使用 Scheduler
,因为我已经尝试过,但是当我这样做时,屏幕闪烁。
感谢您的帮助,如果您需要部分代码或其他内容,请直接说。
MGlolenstine
除非您打算执行比查看和可能操纵玩家的物品栏更复杂的操作,否则您可以简化此任务。给定两个Player
对象admin
和target
,其中admin
需要查看target
的库存,可以通过如下方式查看库存:
Player admin = ...
Player target = ...
admin.openInventory( target.getInventory() );
这将允许您查看、添加、删除或更改 target
库存中的项目。