- ◆ 游戏版本
- 1.21.1
- ◆ 服务端核心
- Arclight
- ◆ 前置/依赖
- Cobblemon PlaceholderAPI NyEconomy Vault
- ◆ 模组加载器
- Fabric
SenCobblemonBattleRoyale 是一个方可梦服务器的多赛场大逃杀玩法。每个赛场使用一张独立地图作为模板,插件会在开赛时复制出运行世界,赛后自动删除。开赛前清空背包与队伍、发放比赛物资和初始队伍,再随机传送到安全出生点。支持多赛场同时运行、独立队列、独立运行世界、独立聊天频道、独立缩圈和独立结算,互不干扰。
功能特性
缩圈中心自动使用模板世界出生点,不需要配置中心坐标
多个赛场可以同时开赛,聊天和运行世界互不串联
报名费用可配置,取消报名/流局自动退款
比赛结束或淘汰后恢复原背包、原队伍、原饰品、原位置
背包、盔甲、副手
末影箱
精灵队伍
Accessories 饰品栏(Mega 手环、全能环等)
玩家位置、游戏模式、血量、饥饿值、经验、药水效果、飞行状态等
快照使用独立的 YAML 文件保存,恢复成功后才会删除;恢复失败会保留文件,管理员可以用命令手动恢复。
初始队伍直接放入玩家精灵队伍
支持精灵、特性、性格、招式、携带物
开赛前自动清空旧队伍,避免带出比赛精灵
比赛结束后恢复原队伍与原背包
多阶段配置:等待时间、收缩时间、目标半径、每秒伤害
开赛冻结
保护期
物理 PvP 时间窗
全队濒死淘汰倒计时
单局最长时限,超时按当前战绩结算
淘汰后立即退出比赛并恢复原状态
冠军、淘汰王分别结算
支持多行奖励命令、占位符、控制台/玩家身份执行
未参赛玩家看不到比赛聊天
不同比赛之间的聊天不会串线
未参赛玩家聊天时,正在比赛的玩家不会收到
可由设置开关关闭
config.yml - 主配置文件[节选]
赛场配置[节选]
游戏截图
感谢使用 SenCobblemonBattleRoyale 插件,我将持续更新更多功能。如果你有任何问题或建议,请加入官方插件交流群:1071725065。
功能特性
· 多赛场 · 单地图模式
每个赛场一张模板地图,运行世界独立复制、独立删除缩圈中心自动使用模板世界出生点,不需要配置中心坐标
多个赛场可以同时开赛,聊天和运行世界互不串联
· 报名与状态
支持 Vault、PlayerPoints、NyEconomy 三种经济报名费用可配置,取消报名/流局自动退款
比赛结束或淘汰后恢复原背包、原队伍、原饰品、原位置
· 完整数据备份
比赛前自动备份:背包、盔甲、副手
末影箱
精灵队伍
Accessories 饰品栏(Mega 手环、全能环等)
玩家位置、游戏模式、血量、饥饿值、经验、药水效果、飞行状态等
快照使用独立的 YAML 文件保存,恢复成功后才会删除;恢复失败会保留文件,管理员可以用命令手动恢复。
· 初始物资与初始队伍
每局统一发放配置好的初始物品初始队伍直接放入玩家精灵队伍
支持精灵、特性、性格、招式、携带物
开赛前自动清空旧队伍,避免带出比赛精灵
比赛结束后恢复原队伍与原背包
· 缩圈与阶段
世界边界缩圈,圈外持续伤害多阶段配置:等待时间、收缩时间、目标半径、每秒伤害
开赛冻结
保护期
物理 PvP 时间窗
全队濒死淘汰倒计时
单局最长时限,超时按当前战绩结算
· 淘汰与结算
玩家死亡、毒圈、掉线、主动离场均可判定淘汰淘汰后立即退出比赛并恢复原状态
冠军、淘汰王分别结算
支持多行奖励命令、占位符、控制台/玩家身份执行
· 比赛聊天隔离
参赛者聊天只发送给同一场比赛的存活玩家未参赛玩家看不到比赛聊天
不同比赛之间的聊天不会串线
未参赛玩家聊天时,正在比赛的玩家不会收到
可由设置开关关闭
| 指令 | 描述 | 权限节点 |
|---|---|---|
| /sbr | 打开赛场大厅 | |
| /sbr join <赛场> | 报名加入队列 | |
| /sbr leave | 退出队列 / 提前离场 | - |
| /sbr info <赛场> | 查看赛场状态 | - |
| /sbr help | 查看帮助 | - |
| /sbr admin gui | 重载配置 | OP |
| /sbr admin list | 列出赛场 | OP |
| /sbr admin start <赛场> | 强制开赛 | OP |
| /sbr admin stop <赛场> | 强制结束 | OP |
| /sbr admin editworld <赛场> | 进入临时编辑世界 | OP |
| /sbr admin setspawn <赛场> | 设置出生点 | OP |
| /sbr admin clearspawns <赛场> | 清空出生点 | OP |
| /sbr admin testworld <赛场> | 测试运行世界 | OP |
| /sbr admin recover <玩家> | 恢复单个玩家数据 | OP |
| /sbr admin recoverall | 恢复所有在线玩家 | OP |
PlaceholderAPI
| 变量 | 描述 |
|---|---|
| %senbr_arena_<赛场>_status% | 赛场状态 |
| %senbr_arena_<赛场>_queue% | 队列人数 |
| %senbr_arena_<赛场>_alive% | 当前存活人数 |
| %senbr_arena_<赛场>_players% | 当前参赛人数 |
| %senbr_arena_<赛场>_min% | 最低开赛人数 |
| %senbr_arena_<赛场>_max% | 最大参赛人数 |
| %senbr_arena_<赛场>_fee% | 报名费用 |
| %senbr_player_kills% | 自己本局击杀 |
| %senbr_player_alive% | 自己是否存活 |
| %senbr_player_arena% | 自己所在赛场 |
| %senbr_player_state% | 自己当前状态 |
| %senbr_player_rank% | 自己当前排名 |
| %senbr_alive% | 当前对局存活人数 |
| %senbr_time% | 当前对局时间 |
配置文件结构
YAML:
plugins/SenCobblemonBattleRoyale/
├── config.yml
├── messages.yml
├── loot.yml
├── arenas/
│ ├── lucky.yml
│ └── lucky.spawns.yml # 使用 setspawn 后自动生成
└── snapshots/
config.yml - 主配置文件[节选]
YAML:
# 调试模式
debug: false
# 局内是否清空饰品栏
clear-accessories: false
# 比赛聊天隔离
chat-isolation: true
# 崩溃恢复
recovery:
enabled: true
refund: true
# 局内禁用命令
blocked-commands:
- home
- tpa
- pc
- trade
- heal
- shop
# 局内禁用交互方块
blocked-blocks:
- cobblemon:pc
- cobblemon:healing_machine
- cobblemon:pasture
- cobblemon:egg
赛场配置[节选]
YAML:
# Lucky 单地图大逃杀赛场配置
# 修改后执行 /sbr admin reload
# 出生点可以在游戏内站到目标位置后执行 /sbr admin setspawn lucky
# 赛场显示名
name: Lucky 战场
# 是否启用这个赛场
enabled: true
# 模板世界文件夹名
# 填服务端根目录下的世界文件夹名,例如 lucky
# 插件会复制这个模板世界作为本局运行世界,赛后删除运行世界,模板世界不会被修改
template-world: lucky
# 是否开启方可梦精灵自然刷新
# true 表示比赛运行世界里会自然刷新宝可梦
natural-spawns: true
# 最少开赛人数
# 达到这个人数后开始倒计时
min-players: 2
# 最多参赛人数
# 队列人数达到这个数量后不再接受报名
max-players: 24
# 达到最低人数后,倒计时多少秒开赛
countdown-seconds: 10
# 开局传送到出生点后冻结多少秒
freeze-seconds: 3
# 保护期多少秒
# 保护期内禁止玩家对战、交换和物理 PvP
protection-seconds: 30
# 单局最长多少秒
# 超过这个时间后按当前战绩结算
max-match-seconds: 1800
# 全队濒死后多少秒淘汰
# 设为 0 表示全队濒死立即淘汰
all-fainted-eliminate-seconds: 5
# 结算后延迟多少秒恢复玩家
# 留一点时间给冠军展示和结算提示
settle-delay-seconds: 3
# 报名设置
fee: 0
# 货币类型,可选 vault、playerpoints、nyeconomy
currency: vault
# NyEconomy 的货币名
nye-currency: 奶龙币
# 缩圈设置
zone:
# 开赛时的初始安全区半径
# 根据地图大小和服务器性能调整
initial-radius: 300.0
# 缩圈阶段列表,按顺序执行
phases:
# 第一阶段
- wait-seconds: 120 # 等待多少秒后开始收缩
shrink-seconds: 60
target-radius: 80
damage: 2.0
# 物理 PvP 时间窗
# 时间从比赛正式开始计算
# 保护期结束前,物理 PvP 永远不会开启
physical-pvp:
- start-seconds: 300 # 开赛多少秒后开启
duration-seconds: 120 # 开启后持续多少秒
# 初始物资
# 所有参赛者在开赛时统一获得
initial-items:
- item: cobblemon:poke_ball # 物品 ID
amount: 10 # 发放数量
# 初始队伍
# 所有参赛者使用同一套队伍
nature: 胆小 # 性格
moves: 十万伏特,电光一闪,铁尾,电磁波 # 招式
held-item: 气势披带 # 携带物
# 补给箱物资表
# 赛场世界里所有的箱子,都会按这张表填充
supply:
loot-table: supply
# 空投物资表
airdrop:
# 是否启用空投
enabled: false
# 开赛后多少秒第一次投放
first-delay-seconds: 180
# 两次空投之间间隔多少秒
interval-seconds: 180
# 单局最多投放次数
max-drops: 3
# 空投物资表名称,对应 loot.yml
loot-table: airdrop
# 是否向参赛者公告空投坐标
announce: true
# 是否显示空投粒子
particles: true
# 结算奖励
# 奖励命令会在玩家恢复原背包、原队伍和原位置之后执行
# 支持占位符:{player} {uuid} {kills} {damage} {arena} {arena_name} {duration} {participants} {placement}
# 默认以控制台身份执行;行首写 [player] 则以玩家身份执行
rewards:
# 冠军奖励
champion:
游戏截图