TeleportEffects

一个Bukkit插件,用于拦截服务器中的每一次传送,并添加冷却时间和效果。

资源图片
**TeleportEffects** 是一个 **Bukkit 插件**,它 **拦截每次传送** 并 **重新安排传送时间**,同时在 **起点** 和 **终点** 创建一些 **粒子效果**。


在继续之前,此页面是插件的一个 **简要介绍**,包含 **有限的信息**。 如果您需要 **更完整的解释**,建议您查看 [GitHub Wiki 页面](https://github.com/Fulminazzo/TeleportEffects/wiki)。 ## 命令 该插件仅提供一个命令:**/toggleteleporteffects** ### /toggleteleporteffects #### 权限: teleporteffects.toggle #### 别名: [toggleteleporte, togglete, tte] 在真实服务器上测试过 TeleportEffects 后,人们发现最恼火的是(出于 **视觉** 或 **性能原因**)**效果本身**。 即使这在一定程度上抵消了插件的主要功能,**ToggleTeleportEffects** 命令仍然被实现,它完全实现了这个功能:它 **隐藏为玩家创建的所有效果**。 此选项已为每个用户保存,这意味着不需要在 **每次登录时** 执行此命令。 ## 权限 **teleporteffects.bypass**: 拥有此权限的任何用户都将自动跳过传送冷却。 这建议适用于管理员或工作人员。 **teleporteffects.toggle**: 执行命令 /toggleteleporteffects 所需的权限。 ## 配置 每次 **传送** 都由四个 **粒子生成阶段** 组成。 每个阶段都由 **config.yml** 中的一些参数来定义,更改这些参数将更改这些阶段。 ### 阶段1 **阶段1** 是第一个出现的阶段。 此阶段持续 **总时长** 的 **1/3**,默认为 **1 秒**。 ![](https://raw.githubusercontent.com/Fulminazzo/TeleportEffects/master/images/Stage1.png) *X 个点* 将在围绕玩家眼睛位置的圆圈上均匀分布,该圆圈会根据 **initial-offset** 度进行平移,半径为 **initial-distance**。 然后,每隔一刻 (一个迭代到另一个迭代之间的时间间隔),这些粒子将旋转 **rotation-angle**,它们的高度将从其先前值增加 **height-increment** 个方块,并且它们将更靠近玩家。 在经过 1/3 时间秒后,粒子将达到 **final-distance**,它们将停止生成,**阶段2** 将开始。 ### 阶段2 **阶段2** 将是 **阶段1** 的后续,从第一阶段结束的地方开始。 此阶段持续 **总时长** 的 **2/3**,默认为 **2 秒**。 ![](https://raw.githubusercontent.com/Fulminazzo/TeleportEffects/master/images/Stage2.png) 所以,此阶段直接从 **阶段1** 获取粒子的 **最后位置**,并从那里开始生成粒子,高于和低于该水平,距离上一次迭代 **height-increment** 个方块。 所有其他选项都继承并延续自第一阶段,但请注意,在这种情况下,**final-distance** 实际上是粒子与玩家的 **初始** 和 **最终距离**。 ### 阶段3 虽然前两个阶段是 **顺序的**,但 **第三阶段** 在 **阶段2** **同时** 发生。 这意味着它在 **总时长** 的 **1/3** 之后开始,并且与 **第二个阶段** 相同的 **持续时间**。 但是,**阶段3** 在 **传送目的地** 生成粒子,而不是在玩家周围生成,如前几阶段所示。 ![](https://raw.githubusercontent.com/Fulminazzo/TeleportEffects/master/images/Stage3.png) **阶段3** 开始在高于最终目的地 **2.5 个方块** 的圆形半径内生成粒子。 按照 **360° / distance-angle** 个 **点** 的数量,以 **initial-distance** 个方块的 **半径** 开始生成。 然后,这些粒子将每隔一刻 (一个迭代到另一个迭代之间的时间间隔) **下降** **height-decrement** 个方块,直到它们与目的地位置的距离达到 **final-distance** 个方块。 到那时,**阶段4** 将开始。 ### 阶段4 **阶段4** 是 **最后** 且不太重要的阶段。 它 **直接链接** 到 **阶段3** 结束,但在 **传送** 发生 **之后**(即在持续时间秒之后)。 ![](https://raw.githubusercontent.com/Fulminazzo/TeleportEffects/master/images/Stage4.png) 所以,**阶段4** 的粒子将在玩家的 **脚下** 以圆形半径生成,类似于 **阶段3** 的粒子,使用 **与前一阶段相同的** **点数**。 它们将沿 **直线** 移动,直到经过 **stage4-duration** 秒,然后它们将被移除。 ## API **TeleportEffects** 是一个相对较小的插件,一些人可能希望将其集成到其自定义模式核心 (例如 **FactionCore**) 或其 **传送插件** 中。 无论如何,实现此目标都很简单。 要了解如何使用 **TeleportEffects API** 并在 GitHub 页面 [Wiki](https://github.com/Fulminazzo/TeleportEffects/wiki) 上了解有关插件的更多信息,请查看。