当前位置: 首页 > 知识库问答 >
问题:

Minecraft Bukkit-如何使用物品实体和下落块实体作为投射物?

爱琪
2023-03-14

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

非常感谢您的帮助!

共有1个答案

计弘
2023-03-14

您可以用自己的自定义投射物(如物品实体)替换弓箭投射物。你可以抓住ProjectleLaunchEvent并做如下操作:

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

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

 类似资料:
  • 我正在尝试为实体创建一个域模型(聚合),该实体包含子实体,并且可以有父实体。我们有实体包。我们可以把包裹分成更小的包裹(儿童)。每个分开的包都有一个父包。域的哪个部分应该包含域逻辑:聚合还是域服务?e、 g.聚合包有一个方法 分包还是原包?解决这个问题的正确方法是什么? 我希望我的域模型被ddd(应用程序和基础设施)的其他部分保持干净和幂等

  • 问题内容: 使用JPA将实体设为只读的正确方法是什么?我希望我的数据库表永远不会以编程方式进行修改。 我想我知道我应该用锁定我的对象。从数据库检索后,是否可以使用注释使我的实体直接锁定?还是我必须弄乱并覆盖该特定实体的通用DAO? 问题答案: 一种解决方案是使用基于字段的注释,将字段声明为,并仅建议公共获取者。这样做,您的对象无法更改。 (此解决方案不是特定于实体的,它只是构建不可变对象的一种方法

  • 我对这些技术是新的,所以提前道歉。 我在我的应用程序中使用了springboot、Spring JPA、hibernate和mapstruct。

  • 问题内容: 我是Go语言的新手,具有C#背景并且对如何构造Go应用程序感到困惑。 假设我正在构建一个REST API,它将位于数据库之上。还要说,即使完成后,鉴于业务的变迁等,此应用程序可能仍需要频繁更改。 在带有诸如Entity Framework和DTO之类的工具的C#中,我通过从控制器给出的结果中抽象出数据库来缓解此问题。如果更改数据库中一堆字段的名称,则可能必须更改数据库访问逻辑,但是希望

  • 我想录制1分钟屏幕内容。搜索google后,发现api level 21包含类。我的应用程序是为api level 18构建的。 我能使用这个类吗?有没有这方面的支持库?

  • 我只是在学习java ee 6。我的目标是有一个简单的crud应用程序,让我创建编辑列表和删除一个简单的实体,由id,一个名称字符串和一个描述字符串。我使用了eclipse而不是netbeans,使用了JBoss7而不是glass Fish,只是为了查看一些代码http://netbeans.org/kb/docs/web/jsf20-crud.html。嗯....它起作用了。 现在认为我的实体是