Skip to content

CobbleVirtualNPC

方可梦虚拟NPC对战插件

信息

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

温馨提示

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

插件介绍

CobbleVirtualNPC 是一款基于 Cobblemon 模组开发的虚拟NPC训练家对战插件,支持自定义NPC训练家队伍、战斗条款、挑战次数限制、冷却时间、前置击败条件、禁止宝可梦验证、自定义经验值和努力值加成、宝可梦携带道具效果等高级特性。

指令列表

指令权限要求含义
/cvnpc helpcobblevirtualnpc.help查看命令帮助
/cvnpc startbattle <配置名> [玩家]cobblevirtualnpc.startbattle与指定配置的NPC对战
/cvnpc reloadcobblevirtualnpc.reload重新加载配置文件
/cvnpc addchallenge <玩家> <配置名> <次数>cobblevirtualnpc.addchallenge增加玩家挑战次数
/cvnpc removechallenge <玩家> <配置名> <次数>cobblevirtualnpc.removechallenge减少玩家挑战次数
/cvnpc setchallenge <玩家> <配置名> <次数>cobblevirtualnpc.setchallenge设置玩家挑战次数
/cvnpc resetchallenge <玩家> [配置名]cobblevirtualnpc.resetchallenge重置玩家挑战次数
/cvnpc checkchallenge <玩家> <配置名>cobblevirtualnpc.checkchallenge查看玩家挑战次数
/cvnpc adddefeat <玩家> <配置名>cobblevirtualnpc.adddefeat添加玩家击败记录
/cvnpc removedefeat <玩家> <配置名>cobblevirtualnpc.removedefeat删除玩家击败记录
/cvnpc resetdefeat <玩家>cobblevirtualnpc.resetdefeat重置玩家所有击败记录
/cvnpc checkdefeat <玩家>cobblevirtualnpc.checkdefeat查看玩家击败记录
/cvnpc setcooldown <玩家> <配置名> <秒>cobblevirtualnpc.setcooldown设置玩家冷却时间
/cvnpc removecooldown <玩家> <配置名>cobblevirtualnpc.removecooldown删除玩家冷却时间
/cvnpc clearcooldown <玩家|all>cobblevirtualnpc.clearcooldown清空玩家所有冷却时间
/cvnpc checkcooldown <玩家> <配置名>cobblevirtualnpc.checkcooldown查询玩家冷却状态

config 主配置文件说明

作用

配置文件 config.yml ,是主配置文件,它能配置数据库、战斗指令禁用、胜负指令、超进化条款等配置。

yaml
# 日志输出
debug: false

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

# 处于该插件战斗时 禁止使用指令
DisableCommands:
  # 是否开启禁止使用指令
  # true为开启 false为关闭
  enabled: false
  # 白名单指令
  whitelist: [ ]
  tip: "嗯?!想利用指令卡bug?禁止使用的指令!"

# 玩家赢得比赛执行的指令
# command 玩家执行
# op 玩家以 op 执行
# console 玩家以控制台执行
# broadcast 广播信息
# 变量:
# '{p}' 玩家名称
# '{trainer_name}' 训练家名称
playWinCommand:
  - '[broadcast]&7玩家 &f{p} &7赢得了比赛!'
  - '[broadcast]&7玩家 &f{p} &7击败了训练家 &f{trainer_name}'

# 玩家输掉比赛执行的指令
# 变量:
# '{p}' 玩家名称
# '{trainer_name}' 训练家名称
playLoseCommand:
  - '[broadcast]&7玩家 &f{p} &7输掉了比赛!'
  - '[broadcast]&7玩家 &f{p} &7无力击败了训练家 &f{trainer_name}'

# 超进化条款禁止携带的超级进化石
superEvolveStone:
  - "mega_showdown:mega_stone"
  - "mega_showdown:abomasite"
  # ... 更多超级进化石

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

作用

位于 plugins/CobbleVirtualNpc/npc/ 目录下的配置文件,每个文件代表一个虚拟NPC训练家配置,可创建多个不同的训练家。

yaml
# 战斗配置
battle:
  # AI的战斗水平
  aiLevel: 0
  # 使用 RCT的ai (需要安装rctAPI附属服务端模组)
  # 如果使用该AI 则上面的配置无效
  rctAi: false
  # 是否恢复宝可梦血量
  healPokemon: false
  # 回合数量限制 达到回合数强制结束
  # -1则不受限制
  roundLimit: -1
  # 回合内多久内没有动作视为挂机, 如果超过这个时间则强制结束战斗
  # -1则不受限制
  timeOut: -1
  # 挑战次数 -1表示不限制 无论是输了和赢了 只要是发起战斗就都算挑战次数
  challengeCount: -1
  # 调整玩家对战时宝可梦等级 -1表示不调整
  # 注意此调整只会调整对战时玩家宝可梦等级
  adjustPlayerLevel: -1
  # 调整NPC对战时宝可梦等级 -1表示不调整
  # 注意此调整只会调整对战时NPC宝可梦等级
  adjustNpcLevel: -1
  # n只神规则: 只能携带n只传奇宝可梦 -1表示不限制
  Legend: -1
  # n只究极异兽规则: 只能携带n只究极异兽宝可梦 -1表示不限制
  Monster: -1
  # n只幻兽规则: 只能携带n只幻兽宝可梦 -1表示不限制
  Phantom: -1

# 条款
clause:
  # 是否开启条款
  enable: true
  # 一站到底规则:禁止逃跑
  forfeitClause: false
  # 包包条款:玩家不可以在战斗时使用背包中的道具。
  bagClause: false
  # 队伍顺序条款: 玩家不可以在战斗时切换宝可梦。
  teamOrderClause: false
  # 超级进化条款: 禁止携带超级进化石 可以在config里自由删减添加
  superEvolutionClause: false
  # 神兽条款: 禁止使用传奇宝可梦
  legendaryClause: false
  # 异兽条款: 禁止使用究极异兽宝可梦
  superEvilClause: false
  # 幻兽条款: 禁止使用幻兽宝可梦
  phantomClause: false
  # 种类条款: 队伍中不可存在重复的宝可梦
  speciesClause: false

# 击败npc前置条件
frontNpc:
  list:
    - 'example'
  tip: "需要击败{front_npc}NPC,才能进行挑战"

# 玩家配置
player:
  # 条件
  condition:
    list:
      # 支持 placeholderapi papi变量
      # 内部变量
      # {teamNumber} - 玩家队伍数量
      # {pokemon_party_slot_1_name} - 玩家宝可梦队伍1号位的宝可梦名称
      # {pokemon_party_slot_2_name} - 玩家宝可梦队伍2号位的宝可梦名称
      # ... 以此类推到6号位
      # {pokemon_party_slot_1_localized_name} - 玩家宝可梦队伍1号位的宝可梦本地化名称
      # ... 以此类推到6号位
      - '{teamNumber} >= 1'
    # 不符合条件的提示
    tip: "不符合条件!不能进行战斗!"

  # 对战冷却
  cooldown:
    # 冷却时间(秒) -1 表示无限制
    time: -1
    # 冷却提示
    # {time} 显示剩余时间
    tip: "对战冷却中!请等待{time}秒后再对战!"

  # 禁止的宝可梦配置
  banPokemon:
    tip: "您队伍拥有禁止的宝可梦或者相关属性的宝可梦!不可对战!"
    list:
      # 禁用皮卡丘 等级100 闪光
      - "pikachu level=100 s"
      # 禁用超梦
      - "mewtwo"

  # 禁止指定玩家队伍里拥有数量相同的宝可梦
  banSame:
    tip: "您队伍有相同数量的宝可梦或者相同数量属性的宝可梦!不可对战!"
    list:
      # 禁止两只相同的以下宝可梦
      2:
        - "pikachu level=100 s"
      3:
        - "mewtwo"

  # 禁止玩家队伍指定几号位的宝可梦配置
  banPosition:
    tip: "您队伍指定的位置有禁止的宝可梦或者相关属性的宝可梦!不可对战!"
    list:
      1:
        - "mewtwo"
        - "level=100"
      2:
        - "pikachu level=100 s"
      3: [ ]
      4: [ ]
      5: [ ]
      6: [ ]

# 虚拟训练家配置
npc:
  # 训练家名称
  name: "虚拟人机"
  # 训练家宝可梦队伍
  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"

# 奖励配置
reward:
  # 玩家击败该训练师执行的指令
  # '{p}' 玩家名称
  # '{trainer_name}' 训练家名称
  win:
    - '[tell]&7玩家 &f{p} &7你太强了! 击败了训练家 &f{trainer_name}!'
  # 玩家首次胜利的指令
  firstWin:
    - '[tell]&7玩家 &f{p} &7可以了! 首次击败了训练家 &f{trainer_name}!'
  # 玩家输掉执行的指令
  lose:
    - '[tell]&7玩家 &f{p} &7你真是菜鸟! 输给了训练家 &f{trainer_name}!'
  # 玩家首次失败的指令
  firstLose:
    - '[tell]&7玩家 &f{p} &7你太强了! 首次输给了训练家 &f{trainer_name}!'

# 宝可梦携带道具相关设置
pokemonItem:
  # 是否开启
  enable: true
  # 携带学习装置道具 cobblemon:exp_share
  exp_share: true
  # 携带幸运蛋道具 cobblemon:lucky_egg
  lucky_egg: true
  # 携带力量护裸道具 cobblemon:power_anklet
  power_anklet: true
  # 携带力量束带道具 cobblemon:power_band
  power_band: true
  # 携带力量腰带道具 cobblemon:power_belt
  power_belt: true
  # 携带力量护腕道具 cobblemon:power_bracer
  power_bracer: true
  # 携带力量镜道具 cobblemon:power_lens
  power_lens: true
  # 携带力量负重道具 cobblemon:power_weight
  power_weight: true

# 自定义努力值设置 (不开启时会使用方可梦原版努力值加成)
addEvsConfig:
  enable: false
  addEvs:
    hp: 10
    attack: 10
    defence: 5
    special_attack: 10
    special_defence: 10
    speed: 1
  # 自定义击杀训练师指定宝可梦增加的努力值
  designatedPokemon:
    Pikachu:
      hp: 10
      attack: 20
      defence: 6
      special_attack: 2
      special_defence: 1
      speed: 10

# 自定义经验值设置 (不开启时会使用方可梦原版经验值加成)
addExpConfig:
  enable: false
  addExp: 10
  # 自定义击杀训练师指定宝可梦增加的经验值
  designatedPokemon:
    Pikachu: 20

language 语言配置文件说明

作用

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

yaml
# 语言文件
prefix: "§f[§a虚拟对战§f] "

messages:
  # 战斗相关消息
  battle:
    # 回合数量限制 {roundLimit}为设定的回合数量限制
    roundLimit: "&c已超过设定的回合数{roundLimit},强制结束!"
    # 回合内时间限制 {timeOut}为设定的回合内时间限制
    timeOut: "&c已超过设定的回合内时间{timeOut}秒,强制结束!"
    # 挑战次数限制提示 {limit}为最大挑战次数 {count}为当前已挑战次数
    challengeLimit: "§c挑战次数已达上限!最多挑战{limit}次,当前已挑战{count}次!"
    # 玩家已在战斗中提示
    alreadyInBattle: "§c战斗正在进行中,请先完成当前战斗!"
    # n只神规则:传奇数量限制提示
    legendLimit: "§cn只神规则:只能携带{limit}只传奇宝可梦,当前为{count}只!"
    # n只究极异兽规则:异兽数量限制提示
    monsterLimit: "§cn只究极异兽规则:只能携带{limit}只究极异兽宝可梦,当前为{count}只!"
    # n只幻兽规则:幻兽数量限制提示
    phantomLimit: "§cn只幻兽规则:只能携带{limit}只幻兽宝可梦,当前为{count}只!"

  # 条款相关消息
  clauses:
    # 包包条款消息
    bag_clause: "§c当前比赛开启了包包条款,禁止使用背包中的道具!"
    # 一站到底规则消息
    forfeit_clause: "§c当前比赛开启了一站到底规则,禁止逃跑!"
    # 队形条款消息
    teamOrder_clause: "§c当前比赛开启了队形条款,请勿改变队形!"
    # 超进化条款消息
    superEvolution_Clause: "§c当前比赛开启了超进化条款,请勿使用超进化!"
    # 神兽条款消息
    legendaryClause: "§c宝可梦 '{pokemon}' 违反神兽规则,禁止使用传奇宝可梦!"
    # 异兽条款消息
    superEvilClause: "§c宝可梦 '{pokemon}' 违反异兽规则,禁止使用究极异兽宝可梦!"
    # 幻兽条款消息
    phantomClause: "§c宝可梦 '{pokemon}' 违反幻兽规则,禁止使用幻兽宝可梦!"
    # 种类条款消息
    speciesClause: "§c宝可梦 '{pokemon}' 违反种类规则,队伍中不可存在重复的宝可梦!"

游戏截图

游戏截图1

游戏截图2

游戏截图3

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