CobbleVirtualNPC
方可梦虚拟NPC对战插件
信息
- 性质: 付费[78R]
- 支持核心: Arclight[Fabric/NeoForge]
- 插件前置: Cobblemon[MOD][depend],LCCobbleEvent[MOD][depend]
- 游戏版本: 1.21.1
- 下载方式: 云端获取
温馨提示
- Youer由于特殊的机制,不支持该核心
- 如果想用NeoForge 我推荐使用Arclight的NeoForge版本
插件介绍
CobbleVirtualNPC 是一款基于 Cobblemon 模组开发的虚拟NPC训练家对战插件,支持自定义NPC训练家队伍、战斗条款、挑战次数限制、冷却时间、前置击败条件、禁止宝可梦验证、自定义经验值和努力值加成、宝可梦携带道具效果等高级特性。
指令列表
| 指令 | 权限要求 | 含义 |
|---|---|---|
| /cvnpc help | cobblevirtualnpc.help | 查看命令帮助 |
| /cvnpc startbattle <配置名> [玩家] | cobblevirtualnpc.startbattle | 与指定配置的NPC对战 |
| /cvnpc reload | cobblevirtualnpc.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: 20language 语言配置文件说明
作用
配置文件 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}' 违反种类规则,队伍中不可存在重复的宝可梦!"游戏截图



