BsruRTP

一个强大且多功能的随机传送(RTP)Spigot/Paper服务器插件。该插件提供两种不同的RTP模式:一种是基于GUI的经典传送,用于单个玩家;另一种是独特的、基于事件的ZoneRTP系统,用于群体传送。

资源图片
# 🔌 bsruRTP 插件
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![GitHub Repo stars](https://img.shields.io/github/stars/Nattapat2871/BsruRTP?style=flat-square)](https://github.com/Nattapat2871/BsruRTP/stargazers) ![Visitor Badge](https://api.visitorbadge.io/api/VisitorHit?user=Nattapat2871&repo=BsruRTP&countColor=%237B1E7A&style=flat-square)

English ภาษาไทย 一款功能强大且用途广泛的随机传送 (RTP) 插件,适用于 Spigot/Paper 服务器。该插件提供两种不同的 RTP 模式:一种是用于单个玩家的经典 GUI 传送,另一种是用于组队传送的独特事件驱动型 ZoneRTP 系统。它具有高度的可配置性,专为现代 Minecraft 服务器设计。 --- ## ✨ 功能 ### 标准 RTP (/rtp) - **基于 GUI 的传送:** 一个直观的菜单,供玩家选择要传送到的世界。 - **静止倒计时:** 短暂的倒计时要求玩家在传送前保持静止。 - **冷却系统:** 防止玩家垃圾使用 RTP 命令。 - **安全位置查找:** 先进算法查找安全的传送点,包括检查以避免下界屋顶和熔岩海洋。 ### ZoneRTP - **持续计时器:** 创建带有循环倒计时的 RTP 区域,这些倒计时持续运行,从而创建服务器范围内的事件。 - **组队传送:** 当计时器归零时,区域内的所有玩家都会传送到相同的位置。 - **区域要求:** 配置区域以要求玩家必须站在特定类型的方块上,并在特定的垂直高度内。 - **全局可见性:** 使用 PlaceholderAPI 在服务器上的任何地方显示区域倒计时。 ### 通用功能 - **高度可配置:** 自定义 GUI、所有消息、声音、半径和时间。 - **完整的管理员控制:** 一组强大的命令可创建、删除和管理所有插件功能。 - **多世界支持:** 与香草世界以及由 **Multiverse-Core** 管理的世界完美兼容。 - **PlaceholderAPI 支持:** 深度集成,用于显示动态信息。 --- ## 🎮 兼容性 - **Minecraft 版本:** `1.17` - `1.21+` - **服务器软件:** Spigot, Paper 以及它们的衍生版本。 --- ## 🛠️ 安装 1. 从 [Releases](https://github.com/Nattapat2871/BsruRTP/releases) 页面下载最新的 `.jar` 文件。 2. 将下载的 `.jar` 文件放入服务器的 `/plugins` 目录中。 3. (可选) 安装 [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.624/) 以获得占位符支持。 4. 启动或重启服务器。 5. 配置生成的 `config.yml` 和 `zones.yml` 文件以满足您的需求。 --- ## 📋 命令 & 权限 | 命令 | 描述 | 权限节点 | 默认 | | :--- | :--- | :--- | :--- | | `/rtp` | 打开随机传送 GUI。 | `bsrurtp.use` | `true` | | `/bsrurtp` | 显示插件信息。 | `bsrurtp.admin` | `op` | | `/bsrurtp help` | 显示所有插件命令。 | `bsrurtp.admin` | `op` | | `/bsrurtp reload` | 重新加载所有插件配置。 | `bsrurtp.reload` | `op` | | `/bsrurtp status` | 显示插件的当前状态。 | `bsrurtp.status` | `op` | | `/bsrurtp tpzone ` | 传送到区域的中心。 | `bsrurtp.tpzone` | `op` | | `/zonertp create ...` | 创建一个新的 RTP 区域。 | `bsrurtp.admin.zone` | `op` | | `/zonertp remove ` | 删除一个 RTP 区域。 | `bsrurtp.admin.zone` | `op` | --- ## 🔌 占位符 (PlaceholderAPI) - `%bsrurtp_zone_secs_%` - 显示特定循环 RTP 区域的剩余秒数。 - **示例:** `%bsrurtp_zone_secs_spawn-event%` 将显示“spawn-event”区域的倒计时。 - 如果区域不存在或尚未启动其计时器,则显示“N/A”。 --- ## ⚙️ 配置 该插件使用两个主要配置文件: ### `config.yml` 此文件控制标准 `/rtp` 命令、全局消息、声音和 ZoneRTP 行为。 ```yaml # ZoneRTP 中垂直检查的高度(从区域中心 Y 值开始)。 # 例如,如果设置为 4 并且区域的 Y 值为 65,则它将在 Y 65 到 69 之间检查玩家。 zone-vertical-check-height: 4 # 允许使用 /rtp 的世界。 allowWorlds: - world - world_nether - world_the_end # 每个世界传送半径。 radius: world: 2000 world_nether: 2000 world_the_end: 2000 # /rtp 命令的冷却设置。 cooldown: enabled: true seconds: 5 message: "&c请再等待 {cooldown} 秒后再传送一次!" # /rtp GUI 设置。 gui: title: "&a选择传送到的世界" slots: world: 11 world_nether: 13 world_the_end: 15 icons: world: material: GRASS_BLOCK name: "&a传送至主世界" lore: - "&7在线: %server_online%" - "&7点击随机传送。" world_nether: material: NETHERRACK name: "&c传送至下界" lore: - "&7点击随机传送。" world_the_end: material: END_STONE name: "&d传送至末地" lore: - "&7点击随机传送。" # 各种动作的声音效果。 sounds: gui_click: "ui.button.click" waiting: "entity.enderman.teleport" teleport: "entity.player.levelup" fail: "block.note_block.bass" cancel_on_move: "ENTITY_VILLAGER_NO" zone_countdown_tick: "BLOCK_NOTE_BLOCK_HAT" zone_teleport: "ENTITY_ENDERMAN_TELEPORT" # 所有插件消息。 messages: no_permission: "&c您没有使用此命令的权限。" reload_success: "&a配置已成功重新加载!" reload_failed: "&c重新加载配置失败!" world_not_allowed: "&c不允许在此世界中进行 RTP。" already_in_rtp: "&c您正在等待传送。" world_not_found: "&c找不到此世界。" teleport_fail: "&c找不到安全的位置。请重试。" teleport_success: "&a已成功传送至 {location}" rtp_start: "&e将在 {seconds} 秒后传送。请不要移动!" countdown_actionbar: "&e将在 {seconds}s 后传送..." rtp_cancel_move: "&c因为您移动了,传送已取消。" rtp_cancel_world: "&c因为您更改了世界,传送已取消。" # ZoneRTP 的消息 zone_countdown_title: "&a&lRTP 区域" zone_countdown_subtitle: "&f将在 &e{seconds} &f秒后传送!" zone_teleport_success: "&b您已由 RTP 区域传送!" ```