Skip to content

CobblemonBattle

方可梦排位插件

信息

  • 性质: 付费[80R]
  • 支持核心: Arclight[Fabric/NeoForge]
  • 插件前置: Cobblemon[MOD][depend],LCCobbleEvent[MOD][depend]
  • 游戏版本: 1.21.1
  • 下载方式: 云端获取

温馨提示

  • Youer由于特殊的机制,不支持该核心
  • 如果想用NeoForge 我推荐使用Arclight的NeoForge版本

插件介绍

CobblemonBattle 是一款基于 Cobblemon 模组开发的宝可梦排位对战系统插件,提供完整的竞技排位、数据追踪和匹配机制。支持多种战斗模式、完善的条款系统、黑名单验证、观战功能等高级特性。

指令列表

指令权限要求含义
/pb helpPokemonBattle.command查看命令帮助
/pb ebPokemonBattle.command.eb发起结束对战申请
/pb join [比赛配置]pokemonbattle.command.join加入排位赛系统
/pb quitpokemonbattle.command.quit退出当前排位赛匹配
/pb reloadpokemonbattle.command.reload重新加载配置文件
/pb spectator openpokemonBattle.command.spectator打开观战界面
/pb spectator leavepokemonBattle.command.spectator退出观战
/pb add [玩家] [积分]PokemonBattle.command.add增加某玩家积分
/pb subtract [玩家] [积分]PokemonBattle.command.subtract扣除某玩家积分
/pb clear [玩家]PokemonBattle.command.clear清空某玩家积分
/pb detect <玩家名>PokemonBattle.command.detect检测玩家宝可梦队伍信息
/pb record open无权限要求打开全部的比赛记录界面
/pb record open <比赛名字>无权限要求打开指定的比赛记录界面
/pb record clear confirmpokemonbattle.admin清空所有记录
/pb record reloadpokemonbattle.admin重新加载记录
/pb ban <id> <排位名称> <封禁理由> <时长[秒]>pokemonbattle.admin封禁指定比赛的某个玩家
/pb unban <id>pokemonbattle.admin解封某人

占位符支持(PlaceholderAPI)

变量含义
%pokemonbattle_xxx_score%某排位积分
%pokemonbattle_xxx_title%某排位称号
%pokemonbattle_xxx_rank%某玩家当前排位排名
%pokemonbattle_xxx_rank_x%某排位排名 X指的是第几名
%pokemonbattle_xxx_Win%某玩家总胜利场次
%pokemonbattle_xxx_Loss%某玩家总失败场次
%pokemonbattle_xxx_Total%某玩家总比赛场次
%pokemonbattle_xxx_Streak%某玩家当前连胜次数

config 主配置文件说明

作用

配置文件 config.yml ,是主配置文件,它能配置数据库、战斗设置、世界限制、匹配系统、条款等配置。

yaml
# 是否开启调试
# true为开启 false为关闭
# 此功能用于开发者调试,没必要不用开启此功能
debug: false

# 数据库配置
database:
  # 数据库类型: sqlite 或 mysql
  type: sqlite
  # MySQL数据库配置 (仅当type为mysql时生效)
  mysql:
    host: localhost
    port: 3306
    database: pokemonbattle
    username: root
    password: password
    # 连接参数
    properties: "?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai"


# 战斗设置
Battle:
  # 观战
  # 该功能开启时 可以使用 /pb spectator open 来观看排位里的战斗
  # true为开启 false为关闭
  spectators: true
  # 处于战斗时或者处于预览画面时给予双方玩家无敌状态
  # true为开启 false为关闭
  invincible: false

# 世界禁止加入排位设置
World:
  # 是否开启世界禁止加入排位
  # true为开启 false为关闭
  enable: true
  # 禁止哪个世界加入排位
  worlds:
    - world
    - world_nether
    - world_the_end

# 处于排位战斗时 禁止使用指令
DisableCommands:
  # 是否开启禁止使用指令
  # true为开启 false为关闭
  enabled: true
  # 白名单指令
  whitelist:
    - "/pb quit"
    - "/eb"

# 记录比赛界面
Record:
  # 是否开启记录比赛界面
  # 个人建议 机子配置稍微好的情况打开 ~
  # 该功能开启时 可以使用 /pb record open 来打开全部的比赛记录界面
  # 可用命令:
  # /pb record open - 打开所有比赛记录
  # /pb record open <排位名称> - 打开指定排位的记录
  # /pb record clear confirm - 清空所有记录
  # /pb record reload - 重新加载记录
  # 开启该功能后 玩家每开启一场比赛后 比赛结束后 会记录到该比赛记录界面
  # 记录内容为 排位比赛名称 排位比赛双方玩家 排位比赛开始和结束时时间 胜方为谁 败方为谁 各位加多少分 扣多少分
  # true为开启 false为关闭
  enabled: false

# 防炸鱼机制 (这个仍需要更新 如果有好的建议联系作者qwq)
# 开启后相对应的段位才能进行匹配战斗 (!!!!想炸鱼?没门!)
# 如以下配置所示初级训练家只能跟初级训练家匹配 中级训练家只能跟中级练家匹配
# true为开启 false为关闭
matchLimit:
  enabled: false

# 玩家之间短时间内不能重复匹配
# 两个玩家匹配到一起 胜利或者失败后,自定义时间内不能匹配到一起
matchingTimeLimit:
  enabled: false
  # 自定义时间 单位为秒
  time: 50

# 玩家加入匹配时执行的指令
# command 玩家执行
# op 玩家以op执行
# console 玩家以控制台执行
# broadcast 广播信息
# %player% 当前加入的玩家
# %ranked% 玩家加入比赛的名称 指 Ranked配置文件夹里的比赛配置文件名
# %rankedNumber% 该比赛匹配中的人数
# 支持 PlaceholderAPI 变量
MatchingCommands:
  - "broadcast: §7[§e排位通知§7] §7玩家 §a%player% §7加入 §a%ranked% 比赛 §7当前匹配人数 §a%rankedNumber% §7!!"

# 条款的自定义设置
Terms:
  # 超进化条款禁止携带的超级进化石
  # 可以自定义添加或删除超级进化石
  # 格式为物品ID
  superEvolveStone:
    - "mega_showdown:mega_stone"
    - "mega_showdown:abomasite"
    # ... 更多超级进化石

  # 一级神规则的方可梦列表
  # 方可梦种族名称
  firstGodRule:
    - "mewtwo"
    - "lugia"
    - "ho-oh"
    - "kyogre"
    - "groudon"
    - "rayquaza"
    # ... 更多一级神

Ranked 排位赛配置文件说明

作用

位于 plugins/CobblemonBattle/Ranked/ 目录下的配置文件,每个文件代表一个排位赛配置,可创建多个不同的排位赛。

yaml
# 默认排位赛配置文件
#请勿修改
mode: "cobblemon"

# singles (单打): 每位训练家派出一只宝可梦进行一对一战斗,最经典的对战形式
# doubles (双打): 每位训练家派出两只宝可梦,同时在场上进行双人战斗,允许使用双打专属技能与配合战术
# triples (三打): 每方三只宝可梦同时上场,属于高强度战术对抗模式,通常用于大型对战或挑战
# multi (合作双对战): 四名训练师 分别分成两队 每位训练家派出一只宝可梦进行对战, 属于合作对战模式 2打2 该模式需要maga_showdown模组
# royal (1v1v1v1): (该战斗类型 Cobblemon实现不完整) 请勿使用 四名训练家 1v1v1v1 每人分别派出一只宝可梦 1v1v1v1 进行对战
battleType: "singles"

# 世代
gen: 9

# 调整等级
# -1表示不调整
adjustLevel: -1

# 回合数量限制 达到回合数强制结束 双方不得分
# -1表示无限制
roundLimit: -1

# 战斗后结束为玩家宝可梦回满血
fullHeal: true

# 六选几规则
# 在预览画面选择时 只传入选择的前几个宝可梦
# 如果玩家不选择 则默认传入玩家队伍前几位宝可梦
# 用于六选三等功能
# -1 表示无限制,选择的所有宝可梦都会参战
choose: 3

# 该比赛赢了之后赢家增加的积分 支持数学运算 支持 PlaceholderAPI 占位符
winScore: "1"

# 该比赛输了之后败方扣除的积分 支持数学运算 支持 PlaceholderAPI 占位符
failScore: "1"

# 回合内多久内没有动作视为挂机, 如果超过这个时间则强制结束战斗
timeOut:
  # 是否开启
  # true为开启 false为关闭
  enabled: true
  # 在第 60 秒强制结束战斗
  time: 60
  # 回合开始显示的两个对战玩家的标题内容
  # %time% 为剩余时间
  Title: "请在%time%内有所动作"
  #副标题
  SubTitle: "请勿使用挂机软件!否则强制结束比赛!"
  # 当玩家做出对战动作时显示的标题内容
  # 当玩家选择技能或者切换宝可梦时 会切换到这个标题
  # %player% 对方对战玩家名称
  # %time% 对方未做出对战动作的剩余时间
  Title1: "等待对方%player%玩家做出动作"
  # 副标题
  SubTitle1: "对方还剩余%time%"

# 玩家的宝可梦被击败后 如果不切换宝可梦 多久强制结束战斗
timeOutLose:
  enabled: true
  # 在第 60 秒强制结束战斗
  time: 60
  # 己方宝可梦被击败后 显示的标题内容
  Title: "请在%time%内有所动作"
  #副标题
  SubTitle: "请勿恶意卡战斗!否则强制结束比赛"
  # 对方宝可梦被击败后 显示的标题内容
  Title1: "等待对方%player%玩家做出动作"
  # 副标题
  SubTitle1: "对方还剩余%time%"

# 是否开启预览界面选择时间
# 允许双方预览队伍teamPreview这个配置开启后才会生效
teamSelectTime:
  switch: true
  time: 60

# 是否开启预览界面对方的显示属性
# 关闭后 预览界面将不会显示对方的属性 只会显示自己宝可梦的属性
# 开启后 预览界面会显示对方的属性
teamPreviewOpponent: true

# 段位 (能无限创建)
Rank:
  # 阶段
  1:
    # 所需积分
    score: 0
    # 称号
    title: "§a初级§f训练家"

    # 降级时执行的指令
    # command 玩家执行
    # op 玩家以op执行
    # console 玩家以控制台执行
    # broadcast 广播信息
    # 支持 PlaceholderAPI 变量
    DemoteCommands:
      - "broadcast: 恭喜 %player% 降级为 §a初级§f训练家!"

  2:
    score: 25
    title: "§e中级§f训练家"
    # 晋级时执行的指令
    # command 玩家执行
    # op 玩家以op执行
    # console 玩家以控制台执行
    # broadcast 广播信息
    # 支持 PlaceholderAPI 变量
    PromotionCommands:
      - "broadcast: 恭喜 %player% 成为 §e中级§f训练家!"

    # 降级时执行的指令
    # command 玩家执行
    # op 玩家以op执行
    # console 玩家以控制台执行
    # broadcast 广播信息
    # 支持 PlaceholderAPI 变量
    DemoteCommands:
      - "broadcast: 恭喜 %player% 降级为 §e中级§f训练家!"

    # 晋级时奖励执行的指令
    # 该配置不会重复执行 晋级时仅执行一次 执行完一次后降级时再升级 升级时再降级都不会再执行
    # command 玩家执行
    # op 玩家以op执行
    # console 玩家以控制台执行
    # broadcast 广播信息
    # 支持 PlaceholderAPI 变量
    RewardCommands:
      - "broadcast: 恭喜 %player% 获得 §e中级§f训练家 §f奖励!"
      - "command: give %player% 5 0"

  3:
    score: 75
    title: "§6高级§f训练家"
    # 晋级时执行的指令
    PromotionCommands:
      - "broadcast: 恭喜 %player% 成为 §6高级§f训练家!"

    # 降级时执行的指令
    DemoteCommands:
      - "broadcast: 恭喜 %player% 降级为 §6高级§f训练家!"

    # 晋级时奖励执行的指令
    RewardCommands:
      - "broadcast: 恭喜 %player% 获得 §6高级§f训练家 §f奖励!"

  4:
    score: 150
    title: "§5大师级§f训练家"
    # 晋级时执行的指令
    PromotionCommands:
      - "broadcast: 恭喜 %player% 成为 §5大师级§f训练家!"

    # 降级时执行的指令
    DemoteCommands:
      - "broadcast: 恭喜 %player% 降级为 §5大师级§f训练家!"

    # 晋级时奖励执行的指令
    RewardCommands:
      - "broadcast: 恭喜 %player% 获得 §5大师级§f训练家 §f奖励!"

# 战斗规则 前三不要动它 是默认规则
# 后面为模组自带的规则 如有卡战斗的情况 请勿使用
# 经过测试 使用模组自带的规则 会卡战斗 请勿使用
# 该功能兼容模组以后的功能所设计的
rules:
  - "Obtainable"
  - "+Past"
  - "+Unobtainable"
#  - "Team Preview" (队伍预览) 允许玩家在对战开始前查看对方的队伍 实测 并没有什么用 所以作者自制了个预览界面
#  - "Endless Battle Clause" (无限战斗条款) 禁止使用可能导致战斗无限进行的组合(如携带苹野果 + 回收利用 + 投掷/治愈波动)
#  - "Cancel Mod" (取消模组效果) 禁用部分特殊天气、场地等效果,确保战斗更贴近基础机制
#  - "Sleep Clause" (睡眠条款) 限制队伍中只能有一只宝可梦处于睡眠状态
#  - "HP Percentage Mod" (百分比血量显示) 在战斗界面中显示宝可梦剩余 HP 的百分比数值


# 防刷分机制
# true为开启 false为关闭
# 开启后在预览画面主动选择退出的一方会扣相对应的积分,没有选择退出的一方不会进行加分处理
# 对战双方内部击杀 :如果杀手也在预览界面中(即对战的另一方),则扣除杀手的积分
# 第三方玩家击杀 :如果杀手是第三方玩家(不在预览界面中),则不扣除任何人的积分
# 自然死亡 :如果没有杀手(如自然死亡、环境伤害、自杀等),则扣除死亡玩家的积分
scoreSystem:
  enabled: false
  # 主动退出的一方扣除的积分 支持数学运算 支持 PlaceholderAPI 占位符
  PointsDeduction: "1"

# 比赛介绍
# 介绍会显示在排位列表界面对应的比赛按钮lore中
introduction:
  - "&7这是一个普通的比赛"
  - "&7- 神兽限制:"
  - "&f- 啊吧啊吧啊吧啊吧"
  - "&7- 技能效果限制:"
  - "&f- 啊吧啊吧啊吧啊吧"
  - "&7- 招式限制:"
  - "&f- 啊吧啊吧啊吧啊吧"
  - "&7- 技能限制:"
  - "&f- 啊吧啊吧啊吧啊吧"

# 该比赛开放时间
# 没有到该比赛开放时间 则无法匹配该比赛
# 24小时制
openTime:
  # 开关
  # true为开启 false为关闭
  enabled: false
  # 开始时间
  # 早上8点半可以开始匹配该比赛
  start: "8:30"
  # 结束时间
  # 晚上8点半关闭该比赛
  end: "18:30"
  #没有到开放时间 pb join 该比赛的提示
  message: "§7该比赛开放时间未到"

# 虚拟NPC
virtualNPC:
  # 是否开启
  # 如果开启 到达一定的时间没有匹配到人 则开启虚拟npc对战
  enabled: false
  # 多久匹配时长 没有匹配到人 开启虚拟npc对战 (秒)
  time: 300
  # 使用哪个NPC配置
  npc: "example"

# 比赛场地 如果开启 匹配成功进入比赛后 会先进入比赛场地 然后进行战斗
# 如果开启 请确保在服务器启动前设置好坐标 不然会按照这个坐标 嘎嘎乱飞 哈哈哈哈
# 比赛场地 如果关闭 玩家就会在原地进行对战
# true 为开启 false 为关闭
field:
  enabled: false
  coordinate:
    # 场地1
    # 该场地可无限创建
    # 如果 1 比赛场地以及有人 下一个匹配该比赛的两个玩家将会进入 2 比赛场地 以此类推
    # 如果该配置所有比赛场地都已经有人 则会随机进入一个比赛场地
    1:
      # 玩家 1 战斗场地的坐标
      p1: world [0,0,0] # 玩家1的坐标
      p1yaw: 0.0 # 玩家1水平朝向角度
      p1pitch: 0.0 # 玩家1垂直朝向角度
      # 玩家 2 战斗场地的坐标
      p2: world [0,0,0] # 玩家2的坐标
      p2yaw: 0.0 # 玩家2水平朝向角度
      p2pitch: 0.0 # 玩家2垂直朝向角度
    #场地2
    2:
      # 玩家 1 战斗场地的坐标
      p1: world [0,0,0] # 玩家1的坐标
      p1yaw: 0.0 # 玩家1水平朝向角度
      p1pitch: 0.0 # 玩家1垂直朝向角度
      # 玩家 2 战斗场地的坐标
      p2: world [0,0,0] # 玩家2的坐标
      p2yaw: 0.0 # 玩家2水平朝向角度
      p2pitch: 0.0 # 玩家2垂直朝向角度
    #场地3
    3:
      # 玩家 1 战斗场地的坐标
      p1: world [0,0,0] # 玩家1的坐标
      p1yaw: 0.0 # 玩家1水平朝向角度
      p1pitch: 0.0 # 玩家1垂直朝向角度
      # 玩家 2 战斗场地的坐标
      p2: world [0,0,0] # 玩家2的坐标
      p2yaw: 0.0 # 玩家2水平朝向角度
      p2pitch: 0.0 # 玩家2垂直朝向角度
    # 是否开启返回原来位置
    # 开启后战斗结束会返回原来位置
    block: false

blackList:
  # 禁止的宝可梦配置
  # 玩家队伍拥有禁止的宝可梦或者相关属性的宝可梦
  # 则禁止加入排位匹配
  banPokemon:
    # 有禁止的宝可梦以及宝可梦的相关属性
    tip: "您队伍拥有禁止的宝可梦或者相关属性的宝可梦!不可对战!"
    # 禁止的宝可梦以及宝可梦的相关属性
    list:
      # 能无限创建禁止宝可梦的配置
      # 该配置跟原版指令类似
      # 能写原版指令的所有标签包括模组增加的标签
      # 如何了解自定义宝可梦的标签
      # 可以使用模组原版/pokemonspawn或者/givepokemon
      # 然后tab 就可以查看所有宝可梦标签
      # 这些标签都可以填写在下面配置中
      # 自由度超乎你的想象
      # 禁用皮卡丘 等级100 闪光
      - "pikachu level=100 s"
      # 超梦
      - "mewtwo"

  # 黑名单宝可梦 支持英文且支持本地化名称
  # 何为本地化名称?
  # 就是你模组的语言文件,以下配置都以本地化语言文件为基准
  # 适配这种写法 blackListPokemon: ["烈空坐", "超梦", "阿尔宙斯"]
  blackListPokemon:
    - 阿尔宙斯

  # 黑名单闪光宝可梦 支持英文且支持本地化名称
  # 适配这种写法 blackListPokemon: ["烈空坐", "超梦", "阿尔宙斯"]
  blackListFlash:
    # 禁用闪光的裂空坐宝可梦
    - 烈空坐

  # 黑名单携带物
  # 适配这种写法 blackListHeldItem: [cobblemon:dragon_fang]
  # 有的大佬问 为什么此项不使用中文?这样好麻烦!!!!
  # cobblemon:dragon_fang 使用此名称是因为可以适配其它附属模组 谢谢理解!
  # 如何查询携带物名称?
  # Q:F3+H 鼠标移至携带物 便可以显示名称
  # 以下配置以此类推
  blackListHeldItem: [ ]

  # 黑名单特性 支持英文且支持本地化名称
  # 适配这种写法 blackListAbility: [猛火]
  blackListAbility:
    - 猛火

  # 黑名单技能 支持英文且支持本地化名称
  # 适配这种写法 blackListMove: [吹飞]
  blackListMove:
    - 吹飞

  # 黑名单世代宝可梦
  # 读取的是generation里的文件里的宝可梦
  blackListGeneration: [ ]

# 对战时使用技能的次数
battleBanFrequency:
  # true为开启 false为关闭
  enabled: false
  # 技能
  Move:
    # 技能本地化名称,只能使用次数
    - "吹飞,1"
    - "地震,2"
  # 道具
  prop:
    # 道具名称,只能使用次数
    - "cobblemon:ether,1"

# 对战胜利执行指令
# command 玩家执行
# op 玩家以 op 执行
# console 玩家以控制台执行
# broadcast 广播信息
# 支持 PlaceholderAPI 变量
WinCommand:
  - "broadcast:§7[§e排位通知§7]§7[%pokemonbattle_default_title%:§bl%player%§7]§a获得比赛胜利!"
  - "command: say 噶嘎嘎!你赢了!"

# 对战失败执行指令
# command 玩家执行
# op 玩家以 op 执行
# console 玩家以控制台执行
# broadcast 广播信息
# 支持 PlaceholderAPI 变量
LoseCommand:
  - "broadcast: §7[§e排位通知§7]§7[%pokemonbattle_default_title%:§b%player%§7]§a获得比赛失败!"
  - "command: say 芜湖!输了!nice!"

# 玩家加入匹配该比赛时执行的指令
# command 玩家执行
# op 玩家以op执行
# console 玩家以控制台执行
# broadcast 广播信息
# tell 发送信息给玩家
# %player% 当前加入的玩家
# %ranked% 玩家加入该比赛的名称 指 Ranked配置文件夹里的比赛配置文件名
# %rankedNumber% 该比赛匹配中的人数
# 支持 PlaceholderAPI 变量
MatchingCommands:
  - "tell: §7[§e排位通知§7] §7玩家 §a%player% §7加入 §a%ranked% 比赛 §7当前匹配人数 §a%rankedNumber% §7!!"

# 是否开启条款
openClauses:
  # 总开关 true为开启 false为关闭
  # 总开关关闭后,所有条款都关闭
  enabled: true
  # 条款
  Clauses:
    # 接力棒条款:禁止拥有接棒招式的宝可梦。
    batonPassClause: false

    # 接力仅一次条款:只有一只宝可梦可以拥有接棒招式。
    maxOneBatonPass: false

    # 喋喋不休规则:禁止拥有喋喋不休招式的宝可梦。
    chatter: false

    # 降雨规则:禁止拥有降雨特性的宝可梦。
    drizzle: false

    # 降雨 - 悠游自如规则:队伍中不可同时存在降雨特性和悠游自如特性。
    drizzleSwim: false

    # 日照规则:禁止拥有日照特性的宝可梦。
    drought: false

    # 无限战斗规则:禁止能让战斗无限进行的宝可梦,具体指携带苹野果,并学会回收利用,并学会投掷或治愈波动或分担痛楚的宝可梦。
    endlessBattle: false

    # 闪避特性规则:禁止拥有沙隐或雪隐特性的宝可梦。
    evasionAbility: false

    # 超级进化规则:禁止携带超级进化石。
    megaStone: false

    # 心情不定规则:禁止拥有心情不定特性的宝可梦。
    moody: false

    # 一击必杀规则:禁止拥有一击必杀招式的宝可梦。一击必杀招式包括:地裂,断头钳,角钻,绝对零度。
    ohKo: false

    # 沙暴规则:禁止拥有沙暴特性的宝可梦。
    sandStream: false

    # 踩影规则:禁止拥有踩影特性的宝可梦。
    shadowTag: false

    # 破壳规则:禁止同时拥有破壳和接棒招式的宝可梦。
    smashPass: false

    # 冰雹规则:禁止拥有降雪特性的宝可梦。
    snowWarning: false

    # 心之水滴规则:禁止携带心之水滴的拉帝亚斯或拉帝欧斯。
    soulDew: false

    # 种类规则:队伍中不可存在重复的宝可梦。
    multipleSpecies: false

    # 速度规则:如果宝可梦拥有接棒招式,则其不能同时拥有 提升速度的招式/特性 和 提升另一项能力的招式/特性。例如带接棒,高速移动,剑舞的巨钳螳螂。
    speedPass: false

    # 虚张声势规则:禁止拥有虚张声势招式的宝可梦。
    swagger: false

    # 天气加速规则:队伍中不可同时存在降雨特性和悠游自如特性 或 日照特性和叶绿素特性 或 沙暴特性和拨沙特性。
    weatherSpeed: false

    # n只神兽规则: 只能携带n只传奇宝可梦
    # -1 表示不限制,0 表示完全禁止,1+ 表示可以携带对应数量
    nLegend: -1

    # n只究极异兽规则: 只能携带n只究极异兽宝可梦
    # -1 表示不限制,0 表示完全禁止,1+ 表示可以携带对应数量
    nMonster: -1

    # n只幻兽规则: 只能携带n只幻兽宝可梦
    # -1 表示不限制,0 表示完全禁止,1+ 表示可以携带对应数量
    nPhantom: -1

    # n只一级神规则: 只能携带n只一级神宝可梦
    # -1 表示不限制,0 表示完全禁止,1+ 表示可以携带对应数量
    nOneGod: -1

    # 闪光规则: 禁止使用闪光宝可梦
    flashBan: false

    # 一站到底规则:禁止逃跑。
    forfeitClause: false

    # 包包条款:玩家不可以在战斗时使用背包中的道具。
    bagClause: false

    # 队伍顺序条款: 玩家不可以在战斗时切换宝可梦。
    teamOrderClause: false

    # Z招式条款: 玩家不能使用Z招式。
    zMoveClause: false

    # Mega进化条款: 玩家不能使用MEGA进化
    megaClause: false

    # 极巨化条款: 玩家不能使用极巨化
    gigantamaxClause: false

    # 太晶化条款: 玩家不能使用太晶化
    primalClause: false

    # 究极爆发: 玩家不能使用究极爆发
    ultraBurstClause: false

language 语言配置文件说明

作用

配置文件 language.yml ,插件的语言文件,可自定义所有提示词。

yaml
# 语言配置文件

# 通用消息
common:
  prefix: "[§e宝可梦排位§f]"
  no-permission: "§c你没有权限使用此命令"
  player-only: "§c只有玩家才能使用此命令!"
  player-not-found: "§c找不到玩家!"
  invalid-ranked-config: "§c找不到排位配置 '%config%'!"
  reload-success: "§a重载成功"

# 匹配系统
match:
  already-matching: "你已经开始匹配!"
  not-matching: "你并没有开始匹配!"
  joined: "你已开始匹配! 该比赛为: §a{config}"
  quit: "你已退出匹配!"
  config-not-found: "§c找不到比赛 '{config}'!可用比赛: {available}"

# 宝可梦队伍验证
team:
  no-pokemon: "请最少携带一只宝可梦!"
  no-alive-pokemon: "请至少有一只宝可梦能够战斗!"
  doubles-requirement: "§c双打模式需要至少2只宝可梦,当前队伍只有{count}只"

# 黑名单验证消息
blacklist:
  pokemon: "§c宝可梦 '{0}' 在黑名单中"
  flash: "§c检测到闪光宝可梦 '{0}' 在黑名单中"
  ability: "§c检测到特性 '{0}' 在黑名单中"
  held-item: "§c携带物 '{0}' 在黑名单中"
  move: "§c检测到技能 '{0}' 在黑名单中"

# 强制结束战斗
eb:
  not-in-battle: "§c你当前不在排位战斗中!"
  request-sent: "§a已向对方发送结束战斗请求,等待对方确认..."
  accepted: "§a你已同意结束战斗!"
  denied: "§c你已拒绝结束战斗请求!"

# 观战系统
spectator:
  disabled: "§c观战功能不可使用,请联系管理员开启观战配置!"
  watching: "§a你现在正在观战 §e{player} §a的宝可梦战斗"

# 战斗系统
battle:
  start: "队伍预览完成,战斗开始!"
  timeout: "§f[§e宝可梦排位§f] 战斗因超时而强制结束!双方不得分!"
  round-limit: "§f[§e宝可梦排位§f] 战斗已达到回合限制,比赛强制结束!双方不得分!"

# 条款验证消息 (部分示例)
clauses:
  baton-pass:
    banned: "§f[§e宝可梦排位§f] §c检测到宝可梦 '{pokemon}' 违反接力棒条款"
  oh-ko:
    banned: "§f[§e宝可梦排位§f] §c检测到宝可梦 '{pokemon}' 违反一击必杀规则"
  multiple-species:
    banned: "§f[§e宝可梦排位§f] §c违反种类规则,队伍中存在重复的宝可梦种类: {pokemon}"
  # ... 更多条款消息可自定义

# 虚拟NPC对战
virtual-npc:
  match-timeout: "§a匹配超时,已为你安排NPC对战!对手: §e{npc_name}"
  config-not-found: "§cNPC配置不存在,无法启动NPC对战"

npc 虚拟训练家配置文件说明

作用

位于 plugins/CobblemonBattle/npc/ 目录下的配置文件,用于配置虚拟NPC训练家的队伍和属性。

yaml
# 虚拟训练家配置
npc:
  # 可以无限创建队伍配置
  1:
    # 选择该队伍的权重
    weight: 1
    # 训练家名称
    name: "虚拟人机"
    # AI的战斗水平
    aiLevel: 0
    # NPC外观类型
    # Cobblemon NPC Class ID [就是数据包的NPC]
    # 留空或不填则随机选取
    npcClass: "cobblemon:standard"
    team:
      - "mewtwo level=100 s ability=zerotohero mega_evolution=mega_x helditem=cobblemon:dragon_fang"
      - "pikachu level=100 s"
      - "pikachu level=100 s moves=discharge,thunder,lightscreen,thunderbolt ability=regenerator"

游戏截图

游戏截图1

游戏截图2

游戏截图3

游戏截图5

游戏截图4

游戏截图6

游戏截图7

游戏截图8

游戏截图9

本站服务于: LG系列插件用户