Cnzw 发表于 2024-6-2 21:42:43

BetterRTP - 支持多世界和众多插件兼容的异步随机传送插件 [1.8-1.19]

本帖最后由 Cnzw 于 2024-6-2 21:44 编辑

https://s21.ax1x.com/2024/06/02/pkGMtyT.png

https://s21.ax1x.com/2024/05/23/pkQMage.png https://s21.ax1x.com/2024/05/21/pkM1UW8.png https://s21.ax1x.com/2024/05/21/pkM1dSS.png https://s21.ax1x.com/2024/05/21/pkM1NJf.png

插件简介
BetterRTP是一个随机传送插件,适用于 Spigot、Paper 和 Folia 服务器。

BetterRTP 可以控制玩家在边界内随机传送的位置,支持最小传送范围防止传送到出生点周围。甚至支持黑名单方块,玩家不会传送到水,岩浆或树梢上。支持在传送时向玩家发送消息:

[*]Folia 支持:探索 1.19 Folia 的强大功能和多线程性能!
[*]多世界:支持多世界传送,定义每个世界的范围和中心点。
[*]世界边界:支持原版边界。
[*]最大/最小 传送范围:防止传送太远,也防止传送太近。
[*]禁用世界:插件不会在被禁用的世界中启用。
[*]黑名单方块:玩家不会传送到黑名单方块上。
[*]安全传送机制:插件会检查传送点是否安全,并多次重试以找到安全传送点。
[*]多插件兼容:支持保护区域(如Res和WG),不会传送到保护区域内。
[*]传送冷却:传送冷却
[*]传送延迟:跟 /tpa 一样,被传送前需要原地等待。
[*]声音、提示和粒子特效:传送时向玩家发送音效、提示和粒子特效。
[*]映射:在末地和地狱输入命令时,可以设置随机传送到主世界。
[*]传送付费:传送付费
[*]进服传送:当玩家首次进入服务器,强制进行随机传送。
[*]传送保护:保护玩家在随机传送后的一段时间内不受伤害。
[*]权限组:支持根据权限组自定义更多传送范围。

支持的区域保护插件:

[*]Residence
[*]WorldGuard
[*]GriefPrevention
[*]Towny
[*]RedProtect
[*]FactionsUUID
[*]Lands
[*]KingdomsX
[*]GriefDefender
[*]hClaims
[*]UltimateClaims
[*]MinePlots
[*]CrashClaims
[*]BetterClaims


BetterRTP 还有 拓展插件(付费),支持跳伞、组队传送等等更多功能。

安装要求

[*]Bukkit/Spigot/Paper 或其分支:1.8 或更高版本
[*]Java:8 或更高版本
[*]无前置插件

https://pump.goatcounter.com/count?p=klpbbs.com/thread-137338-1-1.html&r=klpbbs.com&q=utm_campaign%3DBetterRTP
如何使用

[*]将本插件文件复制到服务器的 plugins 文件夹后重启服务器。
[*]插件默认启用所有世界的随机传送。如需禁用某个世界,请在 config.yml 中禁用该世界。(更推荐使用权限进行控制)
[*]使用 /rtp reload 重载插件配置。
[*]玩家默认没有权限,无法使用 /rtp。如需使用,需要给玩家 betterrtp.world.<worldName> 权限。(指定世界传送 /rtp world <world> 需要权限 betterrtp.world 和对应的 betterrtp.world.<worldName> 权限)


配置随机传送规则
基础配置

[*]Cooldown

    Cooldown:
      Enabled: true
      LockAfter: 0 #在 X 次 rtp 之后将玩家锁定在无限冷却时间
      Time: 60 #In seconds
      PerWorld: false # 仅针对每个世界处理冷却时间?如果禁用,玩家在冷却时间过去之前无法在另一个世界中进行 rtp

[*]Delay
传送延迟,跟 /tpa 一样,被传送前需要原地等待。

Delay:
Enabled: true
Time: 5 #In Seconds
CancelOnMove: true



有四种方法来配置随机传送的规则:

[*]默认:使用 config.yml 中的默认配置。
[*]自定义世界:使用 config.yml 中的 CustomWorlds 配置特定世界的规则。
[*]位置(Locations):当玩家执行 /rtp location <loc_name> 命令时。
[*]权限组:特定玩家在拥有 特定玩家在拥有betterrtp.group.<group_name>权限时的设置 权限时的设置。

优先级为 权限组 > 位置 > 自定义世界 > 默认,如果对应项(如最大传送距离)没有配置,则使用下一个优先级的配置。

所有的四种方法都可以使用下列配置:

[*]UseWorldBorder
兼容原版世界的世界边界?(必须先使用 /worldborder 设置世界边界)。
[*]Biomes
设置一个可以传送到的生物群系列表(白名单),群系名称 在这里查看。
[*]MaxRadius
最大传送距离,注意是半径。
[*]MinRadius
最小传送距离,注意是半径。
[*]CenterX
[*]CenterZ
中心点
[*]Shape
随机传送范围的形状,可用:square,circle
[*]MinY
找到安全位置的最小高度,不能大于0
[*]MaxY
最大Y找到一个安全的位置,不能低于64(海平面)
[*]RTPOnDeath
在玩家死亡且复活后,强制进行随机传送。(需要配置和权限)


默认
位于 config.yml:

Default:
UseWorldBorder: false
## "Biomes: []" means all biomes are allowed! #
## Biomes are optional, more biomes at https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html #
Biomes: []
MaxRadius: 1000
MinRadius: 10
## If "UseWorldBorder" is set to true above, Center X and Z will be ignored! #
CenterX: 0
CenterZ: 0
Shape: 'square'
MaxY: 320
MinY: 0
RTPOnDeath: false


自定义世界
位于 config.yml:

CustomWorlds:
- custom_world_name:
      UseWorldBorder: false
      MaxRadius: 1000
      MinRadius: 100
      CenterX: 0
      CenterZ: 0
      Shape: circle
      Price: 50
      MinY: 0
      MaxY: 320
      Cooldown: 300 #5 minute world cooldown
- other_custom_world:
      MaxRadius: 100000
      MinRadius: 1000
      CenterX: 123
      CenterZ: -123
      Price: 0
      Biomes:
      - 'desert'
      - 'forest'


位置
原文档
位置更多用在“单世界多传送区域”这类场景,例如“大逃杀”类型的小游戏供玩家随机出生。
大多数生存世界的随机传送用不到位置,所以不做翻译。

权限组
位于 config.yml:
玩家需要有 betterrtp.group.<group_name>,在对应世界传送时会使用自定义的传送规则。

PermissionGroup: #Player requires "betterrtp.group.<group_name>" to trigger these configs
Enabled: false
Groups:
    - vip: # permission: betterrtp.group.vip
      - Build_World: #World named "Build_World"
            Priority: 100 #Higher the less prioritized
            MaxRadius: 10000
            MinRadius: 1000
            Cooldown: 500 #Custom Cooldowns for Permission Group!
      - Survival_World:
            UseWorldBorder: false
            MaxRadius: 5000
            MinRadius: 1000
            CenterX: 10
            CenterZ: 10
            Cooldown: 500 #Custom Cooldowns for Permission Group!
    - vip2: # permission: betterrtp.group.vip2
      - Build_World:
            Priority: 1 #Lower the more prioritized
            MaxRadius: 25000
            MinRadius: 10000
            Cooldown: 450 #Custom Cooldowns for Permission Group!


更多配置

[*]Config 主配置文件,启用和禁用功能,并配置各种传送规则。(部分翻译)
[*]经济 配置传送扣钱、扣饥饿值。
[*]效果 配置传送时的消息提示、声音、粒子特效、无敌时间、药水效果等。
[*]告示牌 配置告示牌传送。


权限和命令
命令:/rtp - 随机传送!
权限:betterrtp.use & betterrtp.world.<world>
Group: betterrtp.group.<group> (when using PermissionGroups)
---
命令:/rtp help - 显示所有命令
权限:betterrtp.use
---
命令:/rtp edit <args> - 快速编辑世界参数,而无需进入配置文件。
权限:betterrtp.edit
---
命令:/rtp player <player> - 随机传送其他玩家。
-- OR --
命令:/rtp player_sudo <player > - Randomly teleport a player as if they are an admin
权限:betterrtp.player
---
命令:/rtp world <world> - 随机传送到另一个世界。
权限:betterrtp.world & betterrtp.world.<world>
---
命令:/rtp reload - 重载插件配置。
权限:betterrtp.reload
---
命令:/rtp version - 查看当前版本。
权限:betterrtp.use
---
命令:/rtp biome <biome1, biome2...> - 随机传送到特定群系。
权限:betterrtp.biome
---
命令:/rtp info - 显示所有的世界和配置的参数。
权限:betterrtp.info
---
命令:/rtp location <location_name> - 使用提供的位置名称进行远程传送。
权限:betterrtp.location
如果在 locations.yml 中启用了 UseLocationsInSameWorld ,则可以将 /rtp location <loc> 用于当前世界之外的任何位置。
权限:betterrtp.location.bypass
---
命令:/rtp test - 测试传送效果(如声音、粒子效果)而不用真正随机传送.
权限:betterrtp.admin
---
命令:/rtp queue - View all generated queued up locations
权限:betterrtp.admin

权限列表


permissions:
    betterrtp.*:
      children:
            betterrtp.use: true
            betterrtp.world.*: true
            betterrtp.bypass.*: true
            betterrtp.player: true
            betterrtp.reload: true
            betterrtp.updater: true
            betterrtp.biome: true
    betterrtp.world.*:
      description: RTP in all enabled worlds
    betterrtp.bypass.*:
            children:
                betterrtp.bypass.cooldown: true
                betterrtp.bypass.delay: true
                betterrtp.bypass.economy: true
    betterrtp.use:
      description: Use RTP command
      default: true
    betterrtp.world:
      description: Use world command
    betterrtp.player:
      description: RTP another player
    betterrtp.biome:
      description: RTP to specific biomes
    betterrtp.group.*:
      description: Use a permission group to rtp with different restrictions
    betterrtp.sign:
      description: Ability to create an RTP sign
    betterrtp.bypass.cooldown:
      description: Bypass cooldowns
    betterrtp.bypass.delay:
      description: Bypass delays
    betterrtp.bypass.economy:
      description: Bypass economy
    betterrtp.reload:
      description: Reload the config
      default: op
    betterrtp.updater:
      description: Get notification on new updates
      default: op
    betterrtp.info:
      description: View info about all worlds rtp will work in
      default: op
    betterrtp.test:
      description: While debugger enabled, be able to test particles, potion effects and sounds
      default: op
    betterrtp.edit:
      description: Edit a custom/default world rtp center/radius
      default: op



PAPI变量

[*]%betterrtp_count%:获取已完成的随机传送总数
[*]%betterrtp_cooldown%:获取当前世界的冷却时间
[*]%betterrtp_cooldown_<world_name>%:获取指定世界的冷却时间
[*]%betterrtp_cooldowntime%:获取当前世界适用的冷却时间
[*]%betterrtp_cooldowntime_<world_name>%:获取这个世界适用的冷却时间
[*]%betterrtp_canrtp%:如果玩家可以在当前世界进行随机传送,则获取原因或输出“yes”
[*]%betterrtp_canrtp_<world_name>%:如果玩家可以在指定的世界进行随机传送,则获取原因或输出“yes”
[*]%betterrtp_canrtpcooldown%:获取玩家的冷却时间是否可以随机传送
[*]%betterrtp_canrtpcooldown_<world_name>%:获取玩家的冷却时间是否可以随机传送
[*]%betterrtp_canrtpprice%:获取玩家的游戏币是否能支付随机传送
[*]%betterrtp_canrtpprice_<world_name>%:获取玩家的游戏币是否能支付随机传送
[*]%betterrtp_canrtphunger%:获取玩家的饥饿值是否能支付随机传送
[*]%betterrtp_canrtphunger_<world_name>%:获取玩家的饥饿值是否能支付随机传送
[*]%betterrtp_price%:获取在当前世界进行随机传送的价格
[*]%betterrtp_price_<world_name>%:获取在指定世界进行随机传送的价格

另 placeholders.yml 文件中还可以配置时间格式和 %betterrtp_canrtp% 的原因。

统计信息
https://bstats.org/signatures/bukkit/BetterRTP.svg

更多
本插件已加入 插件搬运计划,会定期同步外网资源的更新。

搬运催更 & 问题反馈:快速响应问卷 或在下方留下评论。
https://s21.ax1x.com/2024/05/23/pkQQcZR.png
页: [1]
查看完整版本: BetterRTP - 支持多世界和众多插件兼容的异步随机传送插件 [1.8-1.19]