2

抱歉这个问题,我想我之前可能已经问过,但是这个网站很混乱,我只是在任何地方都找不到。我是一名 Java 插件开发人员,目前正在学习数据结构和算法课程,如果它有助于了解我会理解多少。我一直在可以将随机物品用作射弹的服务器上,例如金块物品实体或西瓜片物品实体。我想知道是否有人知道如何使物品成为射弹?我想我需要用新方法和诸如此类的东西创建一个新的对象类,但我不确定它是如何工作的,特别是因为我无法更改 Minecraft 自己的代码。

非常感谢所有帮助!

4

1 回答 1

1

您可以用自己的自定义射弹(例如物品实体)替换弓箭射弹。您将捕获 ProjectileLaunchEvent 并执行以下操作:

Entity arrow = event.getEntity();
Vector velocity = arrow.getVelocity();
Item item = arrow.getWorld().dropItem(arrow.getLocation(), ItemStack);
item.setVelocity(velocity);

如果你想造成伤害,你必须通过调度程序不断跟踪它的位置,检查它是否与玩家相交,并造成适当的伤害。或者,如果您想要更简单的方法,只需查看玩家是否拿起物品,将物品从手中拿走并造成伤害。

于 2013-08-27T22:54:07.070 回答