YoTPA

YoTPA是一个轻量级且强大的传送请求插件,具有自适应性能优化。 易于使用,配置简单,专为现代Minecraft服务器打造。

资源图片
![Logo](https://raw.githubusercontent.com/PhyschicWinter9/YoTPA/refs/heads/main/screenshot/yotpa.png) # YoTPA YoTPA是一个轻量级且强大的远程传送请求插件,具有自适应性能优化。易于使用,易于配置,并为现代Minecraft服务器而构建。 ## 功能 ### 自适应性能系统 该插件会自动检测服务器的可用RAM并相应地进行优化——无需任何配置! **4种性能模式:** - **ULTRA_LIGHT** - 适用于512 MB - 1 GB RAM(免费/廉价VPS) - 适合:5-10玩家,最少插件 - **LIGHT** - 适用于1-2 GB RAM(低端服务器) - 适合:10-15玩家,轻量级插件 - **BALANCED** - 适用于2-4 GB RAM(中端服务器) - 适合:15-25玩家,中等插件 - **HIGH_PERFORMANCE** - 适用于4+ GB RAM(高端服务器) - 适合:25+玩家,任何插件 **性能优势:** - 内存使用量减少30-70% - CPU使用量减少25-60% - 维护任务速度提升高达83% - 基于服务器配置的动态优化 ### 核心功能 - **简单的远程传送系统** - 请求远程传送至其他玩家或邀请他们前来 - **倒计时器** - 可配置的传送延迟,带有视觉反馈 - **标题显示** - 清晰的传送倒计时视觉提示 - **移动检测** - 如果玩家在倒计时期间移动,传送将被取消 - **自定义音效** - 使用Minecraft的音效注册表,完全可自定义的音频反馈 - **配置验证** - 通过详细的错误消息,防止因损坏的配置导致服务器崩溃 - **权限系统** - 细粒度的访问控制 - **请求管理** - 切换接收请求,取消发送的请求 - **多线程支持** - 线程安全,支持更多并发玩家 ### 自定义音效 使用Minecraft的声音ID自定义所有插件音效: ```yaml sounds: countdown: "block.note_block.pling" success: "entity.enderman.teleport" cancel: "entity.villager.no" request: "entity.experience_orb.pickup" ``` 在游戏中测试音效:`/playsound minecraft:block.note_block.pling master @s` ## 配置 YoTPA的`config.yml`文件允许您自定义插件的各个方面: - 请求超时时长 - 请求之间的冷却时间 - 传送延迟倒计时 - 性能模式设置 - 不同操作的音效 - 功能开关(统计信息,bStats,标题,音效) ### 配置文件 ```yaml # YoTPA Configuration v1.3.0-Adaptive # Smart Auto-Optimization for All Server Sizes # Request timeout in seconds (how long before a request expires) # Recommended: 30-120 seconds request-timeout: 60 # Request cooldown in seconds (how long before sending another request) # Recommended: 15-60 seconds request-cooldown: 30 # Teleport delay in seconds (countdown before actual teleport) # Recommended: 3-10 seconds teleport-delay: 5 # Performance mode settings performance: # Options: AUTO, ULTRA_LIGHT, LIGHT, BALANCED, HIGH_PERFORMANCE mode: AUTO # Sound effects (use Minecraft sound names) sounds: countdown: "block.note_block.pling" success: "entity.enderman.teleport" cancel: "entity.villager.no" request: "entity.experience_orb.pickup" # Feature toggles features: statistics: true bstats: true titles: true sounds: true ``` ### 配置文件说明 **常规设置:** - `request-timeout` - 远程传送请求剩余有效的时间(以秒为单位)(建议:30-120秒) - `request-cooldown` - 玩家发送另一个请求之前的时间(以秒为单位)(建议:15-60秒) - `teleport-delay` - 实际传送发生之前的倒计时时间(以秒为单位)(最小值:1) **性能设置:** - `performance.mode` - AUTO (推荐), ULTRA_LIGHT, LIGHT, BALANCED, 或 HIGH_PERFORMANCE - AUTO会自动检测服务器的RAM并选择最佳模式 **声音设置:** - 所有声音使用Minecraft的声音注册表格式(小写,带点) - 插件在配置重新加载时验证声音 - 完整声音列表:https://minecraft.wiki/w/Sounds.json **功能开关:** - `statistics` - 启用或禁用统计信息跟踪 - `bstats` - 启用或禁用bStats指标 - `titles` - 启用或禁用倒计时期间的标题动画 - `sounds` - 启用或禁用所有音效 ### 配置验证 使用`/tpareload`重新加载时,插件将验证: - YAML语法 - 所有值都在有效范围内 - 所有声音都存在于Minecraft注册表中 - 如果配置无效,将显示详细的错误消息 示例验证输出: ``` Configuration validation failed! ✗ teleport-delay must be at least 1 second ✗ Sound 'countdown' (invalid.sound) not found in registry Warnings: • request-timeout (5) is very low, recommended: 30-120 Config not applied. Fix errors and try again. Using previous configuration. ``` ## 如何编辑和重新加载 1. 编辑 `plugins/YoTPA/config.yml` 文件 2. 保存您的更改 3. 使用 `/tpareload` 在游戏中应用更改并进行验证 ## 命令概览 | 命令 | 描述 | 权限 | | :------ | :---------- | :--------- | | `/tpa ` | 请求远程传送至其他玩家 | `yotpa.tpa` | | `/tpaccept` | 接受一份挂起的远程传送请求 | `yotpa.tpaccept` | | `/tpadeny` | 拒绝一份挂起的远程传送请求 | `yotpa.tpadeny` | | `/tpahere ` | 请求玩家远程传送至您所在的位置 | `yotpa.tpahere` | | `/tpacancel` | 取消您的发送的远程传送请求 | `yotpa.tpacancel` | | `/tpatoggle` | 切换是否接收远程传送请求 | `yotpa.tpatoggle` | | `/tpareload` | 重新加载插件配置 | `yotpa.reload` | | `/tpainfo` | 查看插件信息和统计信息 | `yotpa.info` | | `/tpastats` | 查看远程传送统计信息 | `yotpa.stats` | **默认:** 所有权限默认授予所有玩家。 ## 详细命令 ### TPA命令 向其他玩家发送远程传送请求。 ``` /tpa ``` | 参数 | 类型 | 描述 | | :-------- | :--- | :---------- | | `player` | `string` | **必需**. 您要远程传送到的玩家名称 | **示例:** ``` /tpa Steve # 请求远程传送至名为Steve的玩家 /tpa Alex123 # 请求远程传送至名为Alex123的玩家 ``` ![TPA命令](https://github.com/PhyschicWinter9/YoTPA/blob/main/screenshot/tpav2.gif?raw=true) **注意:** - 您不能向自己发送请求 - 在发送请求之间有一个可配置的冷却时间(默认:30秒) - 请求将在可配置的时间后过期(默认:60秒) - 目标玩家将收到带有可点击的接受/拒绝按钮的通知 --- ### TPAccept命令 接受其他玩家发起的远程传送请求。 ``` /tpaccept ``` 不需要参数 - 接受最近的远程传送请求。 **示例:** ``` /tpaccept # 接受挂起的远程传送请求 ``` ![TPAccept命令](https://github.com/PhyschicWinter9/YoTPA/blob/main/screenshot/tpaacceptv2.gif?raw=true) **注意:** - 只有当您有挂起的远程传送请求时才有效 - 接受后,传送将开始倒计时 - 玩家必须保持静止,否则倒计时将被取消 - 接受`/tpa`请求时,请求者将远程传送至您 - 接受`/tpahere`请求时,您将远程传送至请求者 --- ### TPADeny命令 拒绝其他玩家发起的远程传送请求。 ``` /tpadeny ``` 不需要参数 - 拒绝最近的远程传送请求。 **示例:** ``` /tpadeny # 拒绝挂起的远程传送请求 ``` ![TPADeny命令](https://github.com/PhyschicWinter9/YoTPA/blob/main/screenshot/tpadenyv2.gif?raw=true) **注意:** - 只有当您有挂起的远程传送请求时才有效 - 请求者将被通知他们的请求被拒绝 - 请求会立即从系统移除 --- ### TPAHere命令 请求其他玩家远程传送至您所在的位置。 ``` /tpahere ``` | 参数 | 类型 | 描述 | | :-------- | :--- | :---------- | | `player` | `string` | **必需**. 您要请求远程传送至您的玩家名称 | **示例:** ``` /tpahere Steve # 请求Steve远程传送至您 /tpahere Alex123 # 请求Alex123远程传送至您 ``` ![TPAHere命令](https://github.com/PhyschicWinter9/YoTPA/blob/main/screenshot/tpaherev2.gif?raw=true) **注意:** - 您不能向自己发送请求 - 在发送请求之间有一个可配置的冷却时间(默认:30秒) - 请求将在可配置的时间后过期(默认:60秒) - 目标玩家必须使用`/tpaccept`接受 --- ### TPACancel命令 取消您的发送的远程传送请求。 ``` /tpacancel ``` 不需要参数 - 取消您最近的发送请求。 **示例:** ``` /tpacancel # 取消您的挂起请求 ``` **注意:** - 只有当您有主动的发送请求时才有效 - 请求者将被通知他们的请求已被取消 - 如果您不小心发送了请求,可以使用它 --- ### TPAToggle命令 切换是否接收远程传送请求。 ``` /tpatoggle ``` 不需要参数 - 切换接收请求的状态。 **示例:** ``` /tpatoggle # 切换接收远程传送请求的开关 ``` **注意:** - 切换为关闭时,其他玩家不能向您发送远程传送请求 - 您将收到消息显示您的当前状态 - 您的设置会持续到服务器重启 --- ### TPAReload命令 验证并重新加载插件配置。 ``` /tpareload ``` 不需要参数 - 重新加载并验证配置文件。 **示例:** ``` /tpareload # 重新加载插件配置 ``` ![TPAReload命令](https://github.com/PhyschicWinter9/YoTPA/blob/main/screenshot/tpareloadv2.gif?raw=true) **注意:** - 需要`yotpa.reload` 权限 (默认:仅限op) - 验证YAML语法和所有配置值 - 检查所有声音是否存在于Minecraft注册表中 - 如果配置无效,将显示详细错误 - 仅当所有验证通过时才应用配置 - 更改config.yml文件后很有用 --- ### TPAInfo命令 查看插件信息和实时统计信息。 ``` /tpainfo ``` 不需要参数 - 显示插件信息。 **示例:** ``` /tpainfo # 查看插件信息和统计信息 ``` **显示:** - 当前性能模式(根据RAM自动检测) - 优化级别和设置 - 活动远程传送请求 - 正在进行的远程传送 - 内存使用统计信息 - 插件版本 **注意:** - 有助于监控插件性能 - 有助于诊断问题 - 显示插件如何针对您的服务器进行优化 --- ### TPAStats命令 查看远程传送统计信息和使用数据。 ``` /tpastats ``` 不需要参数 - 显示远程传送统计信息。 **示例:** ``` /tpastats # 查看远程传送统计信息 ``` **显示:** - 发送的总远程传送请求数 - 接收的总远程传送请求数 - 成功率 - 最活跃的玩家 - 其他使用指标 **注意:** - 需要 `features.statistics: true` 在配置中 - 统计信息按玩家跟踪 - 数据会持续到服务器重启 ## 优化技巧 ### 适用于免费/低配服务器(512MB - 1GB): - 将模式保持为 AUTO 或 ULTRA_LIGHT - 将插件数量限制为 5-8 - 在 server.properties 中将观察距离设置为 4 - 使用 Paper 而不是 Spigot - 将玩家数量限制为 5-10 ### 适用于中端服务器(2-4GB): - 使用 AUTO 或 BALANCED 模式 - 可以运行 10-15 个插件 - 观察距离 6-8 - 15-25 名玩家可以正常运行 ### 适用于高端服务器(4+GB): - 使用 AUTO 或 HIGH_PERFORMANCE 模式 - 没有显著的插件限制 - 观察距离 10-12 - 支持 25+ 名玩家 ## 性能 YoTPA 专为性能而设计: - **轻量级** - 对服务器 TPS 的影响最小 - **线程安全** - 没有来自并发操作的延迟 - **内存效率高** - 自动适应服务器资源 - **异步操作** - 非阻塞任务执行 - **无锁** - 没有竞争条件或死锁 ## 安装 1. 从发布版下载最新的 JAR 文件 2. 将 JAR 文件放在服务器的 `plugins` 文件夹中 3. 重新启动您的服务器 4. 完成!插件将根据您的服务器规范进行自动配置 --- **注意:** 这是我的第一个插件项目!