- ◆ 支持核心
- Arclight
- ◆ 插件前置
- 无
- ◆ 游戏版本
- 1.21.1

CobblemonBattle 是为 Cobblemon 打造的强大排位系统,拥有美观优雅的贴图UI来进行队伍预览,以及领先的回合倒计时系统,并且支持多赛季多规则制,规则的自定义程度非常优秀,是服务器PVP系统的必备玩法!

- 全贴图UI式可操作队伍预览,可以选择出场顺序与预览携带物,可自定义预览确认倒计时
- 高度自定义的赛季系统,自定义积分段位映射表,自定义匹配策略、战斗场地与赛季奖励
- 高度自定义规则(各种条款、黑白名单宝可梦、各种技能、特性、携带物、形态的指向性禁止)
- 自定义回合倒计时并伴随贴图显示,超时自动判负,防止玩家战斗时挂机
- 完整的封禁系统,可自定义玩家封禁时长
- 傻瓜式的场地设定工具,一键设置对战场地
- 完善的观战系统支持






>> 如图所示

其中,赛季选择工具为左键选择两个点确定一个长方体区域,右键选择区域内出生点,有特效提示
变量:
变量以cobblemonbattle开头
如下:
state-season_赛季名_name 开启的赛季的展示名
state-season_赛季名_rule 开启的赛季的规则列表
state-season_赛季名_start 开启的赛季的开启时间
season_赛季名_name 赛季展示名
season_赛季名_rule 赛季规则列表
player_赛季名_points 玩家点数
player_赛季名_rank 玩家段位
player_赛季名_season 赛季展示名
player_赛季名_battleCount 战斗场次
player_赛季名_winCount 胜场
player_赛季名_loseCount 输场
player_赛季名_fledCount.逃跑次数
player_赛季名_highestPoints 当前赛季到达的最高积分
player_赛季名_maxWinStreak 最高连胜次数
player_赛季名_currentWinStreak 当前连胜次数
player_赛季名_maxLoseStreak 最高连输次数
player_赛季名_currentLoseStreak 当前连输次数
player_赛季名_winRate 胜率
player_赛季名_loseRate 败率
player_赛季名_dailyWinCount 今天胜利次数
player_赛季名_weeklyWinCount 本周胜利次数
player_赛季名_ranking 排名
player_赛季名_nextRank 下一段位名字
player_赛季名_nextRankPoints 距离下一段位还有多少积分
player_赛季名_inBattle 是否在战斗
player_赛季名_inMatching 是否在匹配
player_赛季名_valid_规则名 是否符合规则
player_赛季名_validReason_规则名 不符合规则的第一个原因
player_赛季名_validReasonLine_规则名 不符合规则的所有原因 (换行显示)

config.yml
YAML:
# 数据保存设置
saver:
# 异步保存, 推荐打开
async: true
# 保存间隔 (秒)
internal: 60
# 默认存储方式为SQLITE
mysql:
enabled: false
host: localhost
port: 3306
user: root
password: root
database: minecraft
selectTool:
# /cbb zoneitem 领取选择工具, 使用NBT识别
item:
material: GOLDEN_AXE
name: "&6&l对战场地选择工具 &f(&e赛季 &f%season%&f)"
lore:
- "&a▶ &b用于对战场地的选择"
- "&a▶ &e选择后输入&f/cbb savezone <赛季名>&e来保存"
- ""
- "&f▪ &7&l左键单击两点选择区域"
- "&f▪ &7&l再次左键单击取消选择区域"
- "&f▪ &7&l右键单击选择玩家传送点位"
- "&f▪ &7&l再次右键取消选择玩家传送点位"
# 是否开启选择范围显示
showSelectZone: true
# 选择范围显示使用的粒子
showParticle: ENCHANT
# 可以理解为细腻程度, 但是是越低越细腻
showParticleStep: 0.3
# 颜色设置
particleColor:
# 是否开启, 如果开启只能使用红石粒子或其他可以被颜色渲染的粒子
enabled: false
# 颜色名称
# WHITE 白色,
# SILVER 银色,
# GRAY 灰色,
# BLACK 黑色,
# RED 红色,
# MAROON 红褐色,
# YELLOW 黄色,
# OLIVE 黄棕色,
# LIME 黄绿色,
# GREEN 绿色,
# AQUA 天蓝色,
# TEAL 青色,
# BLUE 蓝色,
# NAVY 深蓝色,
# FUCHSIA 紫红色,
# PURPLE 紫色,
# ORANGE 橘色;
name: RED
# 是否使用RGB模式, 如果启动颜色则不在name获取, 在red, green, blue组成的RGB获取
useRgb: false
red: 255
green: 0
blue: 0
rule.yml
YAML:
# 默认配置, 请勿删除
6v6:
name: 66
displayName: "66单打"
# 对战类型
# GEN_9_SINGLES 单打
# GEN_9_DOUBLES 双打
# GEN_9_TRIPLES 三打
format: GEN_9_SINGLES
# 宝可梦使用数量 - 最小 1 - 最大 6
numPokemon: 6
# 治疗恢复 - 对战开始前,是否将宝可梦恢复至满血, 对战结束后会自动恢复
healFirst: true
# 设置对战等级上限
levelCeiling: 50
# 将宝可梦等级提升至等级上限
autoCeiling: true
# 是否开启宝可梦初训家必须是玩家本人
mustOriginalTrainer: false
# 队伍预览
teamPreview: true
# 队伍选择时间
teamSelect: 60
# 展示对手队伍顺序
showOpponentOrder: false
# 展示对手队伍携带物
showOpponentHeldItem: false
# 锁定后的倒计时
lockedCountdown: 5
# 回合时间
turnTime: 30
# 是否启用宝可梦白名单
# 如果开启此选项,只能使用 blackList 中的宝可梦
openWhiteList: false
# 当 openWhiteList 开启时只允许使用下列池中精灵使用
whiteListPool: ["gen1"]
# 当 openWhiteList 开启时只允许使用下列宝可梦
whiteList: [ ]
# 是否启用宝可梦黑名单
# 如果开启此选项 blackList 中的宝可梦将不能出现在战斗中
openBlackList: true
# 当 openBlackList 开启时禁止下列池中精灵使用
# 一级神
blackListPool: ["restricted"]
# 当 openBlackList 开启时下列宝可梦禁止使用
blackList:
- "mewtwo" # 超梦
- "lugia" # 洛奇亚
- "hooh" #凤王
- "kyogre" # 盖欧卡
- "groudon" # 固拉多
- "rayquaza" # 裂空坐
- "deoxys" # 代欧奇希斯
- "dialga" # 帝牙卢卡
- "palkia" # 帕路奇亚
- "giratina" # 骑拉帝纳
- "darkrai" # 达克莱伊
- "arceus" # 阿尔宙斯
# 限制精灵个数
# 宝可梦名称: 数量
pokemonLimit:
pikachu: 1
# 限制精灵池内精灵个数
# 池子: 数量
poolLimit:
# 一级神
restricted: 1
# 禁止使用某些技能
# ["electroweb"]
movesForbidden: [ ]
# 禁止使用某些特性
# ["static"]
abilityForbidden: [ ]
# 禁止某些形态
# ["alolan"]
aspectForbidden: [ ]
# 禁止某些携带物
# ["物品命名空间:注册名"]
heldItemForbidden: [ ]
# 禁止使用某只宝可梦的技能
# 宝可梦名称: ["技能1", "技能2"]
pokemonMovesForbidden:
# 禁止池子内精灵使用的技能
# 池子: ["技能1", 技能2]
poolMovesForbidden:
# 禁止使用某只宝可梦的特性
# 宝可梦名称: ["特性1", "特性2"]
pokemonAbilityForbidden:
# 禁止池子内精灵使用的特性
# 池子: ["特性1", 特性2]
poolAbilityForbidden:
# 禁止使用某只宝可梦的形态
# 宝可梦名称: ["形态1", "形态2"]
pokemonAspectForbidden:
# 喷火龙 mega y
charizard: ["mega_y"]
# 水箭龟 mega
blastoise: ["mega"]
# 胡地 mega
alakazam: ["mega"]
# 耿鬼 mega
gengar: ["mega"]
# 袋兽 mega
kangaskhan: ["mega"]
# 火焰鸡 mega
blaziken: ["mega"]
# 暴飞龙 mega
salamence: ["mega"]
# 巨金怪 mega
metagross: ["mega"]
# 路卡利欧 mega
lucario: ["mega"]
# 谢米-天空形态
shaymin: ["sky-forme"]
# 达摩狒狒-伽勒尔
darmanitan: ["galarian"]
# 酋雷姆-焰白 酋雷姆-暗黑
kyurem: ["white-fusion", "black-fusion"]
# 奈克洛兹玛-黄昏之鬃
# 奈克洛兹玛-拂晓之翼
# 奈克洛兹玛-究极形态
necrozma: ["dusk-fusion", "dawn-fusion", "ultra-fusion"]
# 蕾冠王-骑白马的样子
# 蕾冠王-骑黑马的样子
calyrex: ["ice-rider", "shadow-rider"]
# 月月熊-赫月
ursaluna: ["bloodmoon"]
# 厄诡椪-火灶
ogerpon: ["hearthflame-mask"]
# 禁止池子内精灵使用的形态
# 池子: ["形态1", 形态2]
poolAspectForbidden:
# 禁止使用某只宝可梦的携带物
# 宝可梦名称: ["物品命名空间:注册名"]
pokemonHeldItemForbidden:
# 喷火龙 mega y
charizard: [ "mega_showdown:charizardite_y" ]
# 水箭龟 mega
blastoise: [ "mega_showdown:blastoisinite" ]
# 胡地 mega
alakazam: [ "mega_showdown:alakazite" ]
# 耿鬼 mega
gengar: [ "mega_showdown:gengarite" ]
# 袋兽 mega
kangaskhan: [ "mega_showdown:kangaskhanite" ]
# 火焰鸡 mega
blaziken: [ "mega_showdown:blazikenite" ]
# 暴飞龙 mega
salamence: [ "mega_showdown:salamencite" ]
# 巨金怪 mega
metagross: [ "mega_showdown:metagrossite" ]
# 路卡利欧 mega
lucario: [ "mega_showdown:lucarionite" ]
# 禁止池子内精灵使用的持有物
# 池子: ["持有物1", 持有物2]
poolHeldItemForbidden:
# 分级 ou uu ru nu pu
# 暂不支持
tier: ""
# 是否开启条款
openClauses: true
# 预定义条款
clauses:
# 携带物品规则:队伍中不可携带重复物品。
duplicateItem: true
# 降雨规则:禁止拥有降雨特性的宝可梦。
drizzle: false
# 悠游自如规则:禁止拥有悠游自如特性的宝可梦。
swiftswim: false
# 日照规则:禁止拥有日照特性的宝可梦。
drought: false
# 闪避特性规则:禁止拥有沙隐或雪隐特性的宝可梦。
evasionAbility: true
# 心情不定规则:禁止拥有心情不定特性的宝可梦。
moody: false
# 沙暴规则:禁止拥有沙暴特性的宝可梦。
sandStream: false
# 踩影规则:禁止拥有踩影特性的宝可梦。
shadowTag: false
# 冰雹规则:禁止拥有降雪特性的宝可梦。
snowWarning: false
# 虚张声势规则:禁止拥有虚张声势招式的宝可梦。
swagger: false
# 破壳规则:禁止同时拥有破壳和接棒招式的宝可梦。
smashPass: false
# 一击必杀规则:禁止拥有一击必杀招式的宝可梦。一击必杀招式包括:地裂,断头钳,角钻,绝对零度。
ohKo: true
# 闪避招式规则:禁止拥有影子分身或变小招式的宝可梦
evasionMove: true
# 接力棒条款:禁止拥有接棒招式的宝可梦。
batonPass: false
# 接力仅一次条款:只有一只宝可梦可以拥有接棒招式。
maxOneBatonPass: false
# 喋喋不休规则:禁止拥有喋喋不休招式的宝可梦。
chatter: false
# 天气加速规则:队伍中不可同时存在降雨特性和悠游自如特性 或 日照特性和叶绿素特性 或 沙暴特性和拨沙特性。
weatherSpeed: false
# 心之水滴规则:禁止携带心之水滴的拉帝亚斯或拉帝欧斯。
# TODO
soulDew: false
# 种类规则:队伍中不可存在重复的宝可梦。
multipleSpecies: true
# 速度规则:如果宝可梦拥有接棒招式,则其不能同时拥有 提升速度的招式/特性 和 提升另一项能力的招式/特性。例如带接棒,高速移动,剑舞的巨钳螳螂。
# 由于方可梦的限制,暂未实现
speedPass: false
# 反转对战规则:属性克制关系反转,原本效果绝佳的变为效果不理想,原本没有效果和效果不理想的变为效果绝佳。不改变特性对属性的影响。
# 由于方可梦 pokemon showdown 的限制,暂未实现
inverseBattle: false
# 神兽规则:禁止使用神兽。
forbidLegendary: false
# 催眠规则:战斗中每个队伍只能有一只宝可梦陷入睡眠状态。自己使用睡觉也会触发此规则。
sleepClause: false
# 超级进化规则:禁止携带超级进化石。
# TODO 等待实现
megaStone: false
# 无限战斗规则:禁止能让战斗无限进行的宝可梦,具体指携带苹野果,并学会回收利用,并学会投掷或治愈波动或痛苦平分的宝可BuiltinPool
#PokemonPool.kt梦。
endlessBattle: true
# 王牌空战规则:使用《宝可梦X / Y》中空中对战的规则。
# 暂未实现
skyBattle: false
season.yml
YAML:
s1:
displayName: "S1 赛季"
# 使用段位积分映射
rankMapping: default
# 使用规则
rules: ["66"]
# 对战播报
broadcast: true
# 传送到竞技场对决
teleport: true
# 结束后传送回原地
teleportBack: true
# 结束后多久 (秒) 传送回原地
teleportBackDelay: 5
# 匹配设定
matchmaking:
# 匹配后传送到竞技场/进行队伍预览的倒计时
countdown: 3
# 最大积分差值 -1不限制
maxRatingDifference: -1
# 基础匹配积分差值区间
baseMatchRange: 100
# 积分差值扩展速率
expansionRatePerSecond: 50
# 最大等待时间 超过后直接无视积分差值匹配
maxWaitTimeSeconds: 60
# 积分调整
tierAdjustment:
# 多少积分差距定义为同等对手, 这里250的话,比如玩家积分500,250-750都算是同等对手
sameRange: 250
# 每日达到指定对战次数额外增加积分
dailyWinCount:
1: 30
# 每周达到指定对战次数额外增加积分
weeklyWinCount:
10: 80
# 战胜相同对手n次减少增加积分(取基础积分计算,与额外增加无关)
sameOpponentWin:
# 大等于2次时减少积分
2: "%points% * 0.3"
3: "%points% * 0.5"
4: "%points% * 0.7"
5: "%points% * 0.9"
# 连胜额外增加积分设置
win:
2: "%points% * 0.1"
3: "%points% * 0.2"
5: "%points% * 0.3"
10: "%points% * 0.5"
# 连败保护
lose:
# 连败大等于3场时,减少的扣分分数
3: "%points% * 0.5"
# 同等对手增加分数范围
sameOpponent:
# 击败增加 随机
success: 40-60
# 失败减少
fail: 20-30
# 比自己积分高的对手增加分数范围
higherOpponent:
success: 50-80
fail: 10-20
# 比自己积分低的对手减少分数范围
lowerOpponent:
success: 20-30
fail: 30-50
# 达到指定积分或赛季结算奖励执行命令
# 支持PAPI变量
# command: 玩家执行
# op: 玩家以op执行
# console: 玩家以控制台执行
# tell: 向玩家发送信息
# chat: 让玩家说话
# broadcast: 广播信息
rewards:
'2000': ["tell: 到达2000积分"]
# 这里可以给额外的称号, 指令支持papi变量,可以获取每个排名的玩家
settlement: []
startCommand: []
endCommand: []
rank_mapping.yml
YAML:
default:
# 新手杯段位
0: "新手杯Ⅲ"
350: "新手杯Ⅱ"
700: "新手杯Ⅰ"
# 超级杯段位
1000: "超级杯Ⅳ"
1250: "超级杯Ⅲ"
1500: "超级杯Ⅱ"
1750: "超级杯Ⅰ"
# 高级杯段位
2000: "高级杯Ⅴ"
2200: "高级杯Ⅳ"
2400: "高级杯Ⅲ"
2600: "高级杯Ⅱ"
2800: "高级杯Ⅰ"
# 精英杯段位
3000: "精英杯Ⅴ"
3200: "精英杯Ⅳ"
3400: "精英杯Ⅲ"
3600: "精英杯Ⅱ"
3800: "精英杯Ⅰ"
# 专家杯段位
4000: "专家杯Ⅴ"
4200: "专家杯Ⅳ"
4400: "专家杯Ⅲ"
4600: "专家杯Ⅱ"
4800: "专家杯Ⅰ"
YAML:
# 内建:
# all 所有精灵
# common 普通 (第一世代到第九世代) 除神兽、幻兽、异兽的所有精灵
# legendary 神兽
# mythical 幻兽
# ultra_beast 异兽
# paradox 悖谬
# restricted 一级神
# powerhouse 准神
# baby 宝宝宝可梦
# fossil 化石宝可梦
# gen1 ~ gen9 第一世代-第九世代的精灵, 比如gen5就是第五世代
# fire 火
# water 水
# grass 草
# electric 电
# ice 冰
# normal 一般
# fighting 格斗
# ghost 幽灵
# dark 恶
# fairy 妖精
# bug 虫
# psychic 超能力
# flying 飞行
# steel 钢
# ground 地面
# rock 岩石
# poison 毒
# dragon 龙
# 以上系别包含主、副系别
# 单独主系别精灵池: 系别-primary 如fire-primary
# 单独副系别精灵池: 系别-secondary 如fire-secondary
# 以上精灵池后缀加-forms即为全部形态,如legendary-forms
# 形态精灵池:
# alolan 阿罗拉形态
# galarian 伽勒尔形态
# hisuian 洗翠形态
# paldean 帕底亚形态
# kalosian 卡洛斯形态
# unovan 合众形态
# sinnohan 神奥形态
# hoennian 丰缘形态
# johtonian 城都形态
# kantonian 关都形态
# mega MEGA形态
# primal 原始回归形态
# gmax 超极巨化形态
# totem 图腾形态
# 实例 (最终效果为排除非第一世代、排除非阿罗拉的普通精灵)
example:
# 继承其他精灵池 这里无法使用!语法
inherit: ["common-forms"]
# 排除其他精灵池中的精灵,比如需要gen1内的普通精灵,继承池填写gen1,排除池填写"legendary", "mythical", "ultra_beast", "paradox"
# 如果要排除非某个池中的精灵,使用!语法, 如!legendary, !gen1
discard: ["!gen1", "!alolan"]
# 添加的精灵 (exclude与discard如果添加了,这里不生效)
include: ["pikachu alolan"]
# 从继承池排除的精灵
exclude: []