如何让玩家使用 bukkit 插件中的副手物品

How to make the player use the off-hand item from a bukkit plugin

我正在为 Minecraft 编写一个 bukkit 插件,它对低食物水平做出反应,然后自动将食物从库存中移到副手上,然后吃掉它。我完成了第一部分,但我无法在 bukkit API(PlayerHumanEntity、其他地方)中找到让玩家使用物品的方法。

这是否可能,如果可能,如何实现?

是的,有可能。多个被黑的客户可以做到这一点。查看客户端源代码并寻找“自动进食”模块。

你可以发送数据包让它看起来像 其他 玩家正在吃东西,但据我所知;对于普通客户端,您不能强迫客户端进食或显示进食动画。客户端告诉服务器它正在吃,然后服务器将数据包发送给其他人他们正在吃。

如果你能安于别人看成是吃东西,我相信就是Player Digging packet that you would need to send with a value of 5. You could send this using ProtocolLib for which there's a decent tutorial