Minecraft Bukkit - 我如何使用物品实体和坠落块实体作为抛射物?

时间:2013-08-26 22:34:21

标签: java plugins minecraft bukkit projectile

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

非常感谢所有帮助!

1 个答案:

答案 0 :(得分:1)

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

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

如果你想要造成伤害,你必须不断跟踪调度员的位置,检查它是否与玩家相交,并造成相应的伤害。或者,如果你想要一个更简单的方法,只需看看玩家是否拿起物品,从他们的手中取出物品,并造成伤害。