DashAPI

增加了一个以方块为单位而非向量设置实体速度的功能。

资源图片
# DashAPI DashAPI 添加了 "dash()": 以方块为单位设置实体的速度,而不是向量。 [![Github All Releases](https://img.shields.io/github/downloads/lichenaut/DashAPI/total.svg)]() ## 教程 首先,将 DashAPI 包含到您的项目中。 然后,在您的 "plugin.yml" 文件中添加此依赖项。 `depend: [DashAPI]` 要获取此 API 的实例以供使用,请使用 "DashAPI.getInstance()" 定义一个 "DashFunctions" 对象: ``` DashAPI api; @Override public void onEnable() { api = DashAPI.getInstance(); } ``` 示例 #1 (基本函数): ``` @EventHandler public void onClick(PlayerInteractEntityEvent event) { api.dash(event.getRightClicked(), 10, 10, -10); } ``` 当玩家与实体交互时,实体将向前方、向上和向左分别移动 10 个方块,在 Minecraft 的 x、y 和 z 轴上。 示例 #2 (调整): ``` @EventHandler public void onCrouch(PlayerToggleSneakEvent event) { api.dash(event.getPlayer(), 10, 100, 0, true, true, true); } ``` 当玩家蹲下或站起身时,由于 “adjustHorizontal” 为 true,他们将相对于他们的视线方向向前移动,并且玩家的当前速度将添加到 dash 中,由于 “additive” 为 true。 此外,由于实体可以垂直移动的最大方块数是 60(水平方向是 43),因此该插件将值 100 减小到 60 并将玩家向上移动 60 个方块,假设没有重力(例如,玩家在飞行中)。 最后,由于 “adjustVertical” 设置为 true,玩家的视线上下会影响 dash 的 y 值。 示例 #3 (int 和 Double 输入): ``` @EventHandler public void bounceClick(PlayerInteractEntityEvent event) { api.dash(event.getPlayer(), 0, event.getPlayer().getLocation().getDirection().getY() * -4, 0); } ``` 可以在任何组合中使用块距离的 int 值和速度的 Double 值,在本例中为 (int, Double, int)。 在本示例中,当玩家与实体交互时,玩家视线方向的 y 值乘以 -4,这意味着如果玩家向下看单击实体,他们将以较大的正 y 速度移动。 示例 #4 (乘数): ``` @EventHandler public void pushAndPull(PlayerInteractEntityEvent event) { api.dash(event.getRightClicked(), event.getPlayer().getLocation().getDirection()); api.dash(event.getPlayer(), event.getRightClicked().getVelocity(), 0.5, 0.5, 0.5); } ``` 第一个 dash 应用于玩家交互的实体,基于玩家所面向的方向,创建击退效果。 第二个 dash 应用于玩家,基于所单击实体的速度,创建拉动效果。 此外,拉动效果的 x、y 和 z 乘数都减半,这意味着,如果重复进行,交互的实体最终会离玩家太远,无法进行交互。