- ◆ 支持核心
 - Arclight
 
- ◆ 插件前置
 - Cobblemon PlaceholderAPI
 
- ◆ 游戏版本
 - 1.21.1
 
介绍
CobbleVirtualNPC 是一个 Minecraft 插件项目,旨在创建和管理虚拟 NPC 角色,提供与玩家的宝可梦对战功能,可高度自定义玩家的基础设置、条款规则、条件限制、冷却时间等,可高度自定义训练师宝可梦队伍 AI强度!
能无限对打哦 如(玩家队伍)6只宝可梦 vs (训练家)20只宝可梦
	
		
	
		
	
		
视频演示
https://www.bilibili.com/video/BV1soHGzEEwE/?spm_id_from=333.1387.homepage.video_card.click
游戏截图

作者很听劝!遇到问题尽管说!
注意:
					
					
	
					
						
					
					
					
					
				CobbleVirtualNPC 是一个 Minecraft 插件项目,旨在创建和管理虚拟 NPC 角色,提供与玩家的宝可梦对战功能,可高度自定义玩家的基础设置、条款规则、条件限制、冷却时间等,可高度自定义训练师宝可梦队伍 AI强度!
能无限对打哦 如(玩家队伍)6只宝可梦 vs (训练家)20只宝可梦
指令列表
| 指令 | 权限要求 | 含义 | 
|---|---|---|
| /cvnpc help | cobblevirtualnpc.help | 帮助指令 | 
| /cvnpc startbattle <npc> [玩家id] | cobblevirtualnpc.startbattle | 与某个npc配置进行对战 | 
| /cvnpc reload | cobblevirtualnpc.reload | 重载配置文件 | 
config 主配置
		YAML:
	
	# 日志输出
debug: false
# 玩家赢得比赛执行的指令
# command 玩家执行
# op 玩家以 op 执行
# console 玩家以控制台执行
# broadcast 广播信息
# 变量:
# '{p}' 玩家名称
# '{trainer_name}' 训练家名称
playWinCommand:
  - '[broadcast]&7玩家 &f{p} &7赢得了比赛!'
  - '[broadcast]&7玩家 &f{p} &7击败了训练家 &f{trainer_name}'
# 玩家输掉比赛执行的指令
# command 玩家执行
# op 玩家以 op 执行
# console 玩家以控制台执行
# broadcast 广播信息
# 变量:
# '{p}' 玩家名称
# '{trainer_name}' 训练家名称
playLoseCommand:
  - '[broadcast]&7玩家 &f{p} &7输掉了比赛!'
  - '[broadcast]&7玩家 &f{p} &7无力击败了训练家 &f{trainer_name}'
	npc/example配置
		YAML:
	
	# 战斗配置
battle:
  # AI的战斗水平
  aiLevel: 0
  # 是否恢复宝可梦血量
  healPokemon: false
  # 回合数量限制 达到回合数强制结束
  # -1则不受限制
  roundLimit: -1
  # 回合内多久内没有动作视为挂机, 如果超过这个时间则强制结束战斗
  # -1则不受限制
  timeOut: -1
  # 调整对战时宝可梦等级 -1表示不调整
  # 注意此调整会使双方(包括NPC)的宝可梦在对战时同时调整
  adjustLevel: -1
  # 调整玩家对战时宝可梦等级 -1表示不调整
  # 注意此调整只会调整对战时玩家宝可梦等级
  adjustPlayerLevel: -1
# 条款
clause:
  # 是否开启条款
  enable: true
  # 条款
  # 一站到底规则:禁止逃跑
  forfeitClause: false
  # 包包条款:玩家不可以在战斗时使用背包中的道具。
  bagClause: false
  # 队伍顺序条款: 玩家不可以在战斗时切换宝可梦。
  teamOrderClause: false
  # 超级进化条款: 禁止携带超级进化石 可以在config里自由删减添加
  superEvolutionClause: false
  # 神兽条款: 禁止使用传奇宝可梦
  legendaryClause: false
  # 异兽条款: 禁止使用究极异兽宝可梦
  superEvilClause: false
  # 幻兽条款: 禁止使用幻兽宝可梦
  phantomClause: false
  # 种类条款: 队伍中不可存在重复的宝可梦
  speciesClause: false
# 玩家配置
player:
  # 条件
  condition:
    list:
      # 支持 placeholderapi papi变量
      # 内部变量
      # {teamNumber} - 玩家队伍数量
      # {pokemon_party_slot_1_name} - 玩家宝可梦队伍1号位的宝可梦名称
      # {pokemon_party_slot_2_name} - 玩家宝可梦队伍2号位的宝可梦名称
      # {pokemon_party_slot_3_name} - 玩家宝可梦队伍3号位的宝可梦名称
      # {pokemon_party_slot_4_name} - 玩家宝可梦队伍4号位的宝可梦名称
      # {pokemon_party_slot_5_name} - 玩家宝可梦队伍5号位的宝可梦名称
      # {pokemon_party_slot_1_localized_name} - 玩家宝可梦队伍1号位的宝可梦本地化名称
      # {pokemon_party_slot_2_localized_name} - 玩家宝可梦队伍2号位的宝可梦本地化名称
      # {pokemon_party_slot_3_localized_name} - 玩家宝可梦队伍3号位的宝可梦本地化名称
      # {pokemon_party_slot_4_localized_name} - 玩家宝可梦队伍4号位的宝可梦本地化名称
      # {pokemon_party_slot_5_localized_name} - 玩家宝可梦队伍5号位的宝可梦本地化名称
      # {pokemon_party_slot_6_localized_name} - 玩家宝可梦队伍6号位的宝可梦本地化名称
      - '{teamNumber} >= 1'
      - '%player_name% == XiaoCaoAwA'
    # 不符合条件的提示
    tip: "不符合条件!不能进行战斗!"
  # 对战冷却
  cooldown:
    # 冷却时间(秒) -1 表示无限制
    time: -1
    # 冷却提示
    # 变量:
    # {time} 显示剩余时间
    tip: "对战冷却中!请等待{time}秒后再对战!"
  # 禁止的宝可梦配置
  # 玩家队伍拥有禁止的宝可梦或者相关属性的宝可梦
  # 则禁止使用/cvnpc startbattle <配置文件名称>
  banPokemon:
    # 有禁止的宝可梦以及宝可梦的相关属性
    # 使用/cvnpc startbattle <配置文件名称>的提示
    tip: "您队伍拥有禁止的宝可梦或者相关属性的宝可梦!不可对战!"
    # 禁止的宝可梦以及宝可梦的相关属性
    list:
      # 能无限创建禁止宝可梦的配置
      # 该配置跟原版指令类似
      # 能写原版指令的所有标签包括模组增加的标签
      # 如何了解自定义宝可梦的标签
      # 可以使用模组原版/pokemonspawn或者/givepokemon
      # 然后tab 就可以查看所有宝可梦标签
      # 这些标签都可以填写在下面配置中
      # 自由度超乎你的想象
      # 禁用皮卡丘 等级100 闪光
      - "pikachu level=100 s"
      # 禁用超梦 所有属性 形态 携带物等
      - "mewtwo"
      # 禁用所有100级的宝可梦
      - "level=100"
      # 禁用所有携带物为dragon_fang且闪光宝可梦
      - "s helditem=cobblemon:dragon_fang"
      # 禁止技能所有为恶意计划、多变光束、能量吸收、大地之力的宝可梦
      - "moves=NastyPlot,FickleBeam,GigaDrain,EarthPowe"
  # 禁止指定玩家队伍里拥有数量相同的宝可梦或者相同数量属性的宝可梦
  banSame:
    # 禁止的提示
    tip: "您队伍有相同数量的宝可梦或者相同数量属性的宝可梦!不可对战!"
    list:
      # 能无限创建禁止指定玩家队伍里拥有数量相同的宝可梦或者相同数量属性的宝可梦的配置
      # 禁止两只相同的以下宝可梦或者属性的宝可梦
      2:
        - "pikachu level=100 s"
      # 禁止三只
      3:
        - "mewtwo"
      # 禁止五只
      5:
        - "s"
  # 禁止玩家队伍指定几号位的宝可梦配置
  banPosition:
    # 禁止的提示
    tip: "您队伍指定的位置有禁止的宝可梦或者相关属性的宝可梦!不可对战!"
    list:
      # 一共有6个位置
      # 玩家宝可梦队伍1号位
      # 禁止玩家队伍1号位的禁止宝可梦或者相关属性的宝可梦
      1:
        # 能无限创建禁止宝可梦的配置
        - "mewtwo"
        - "level=100"
        - "s helditem=cobblemon:dragon_fang"
      # 玩家宝可梦2号位
      # 禁止玩家队伍2号位的禁止宝可梦或者相关属性的宝可梦
      2:
        - "pikachu level=100 s"
      # 玩家宝可梦3号位 删除配置或不填则忽略
      3: []
      # 玩家宝可梦4号位 删除配置或不填则忽略
      4: []
      # 玩家宝可梦5号位 删除配置或不填则忽略
      5: []
      # 玩家宝可梦6号位 删除配置或不填则忽略
      6: []
 
# 虚拟训练家配置
npc:
  # 训练家名称
  name: "虚拟人机"
  # 训练家宝可梦队伍
  team:
    # 能无限创建宝可梦队伍配置
    # 20只宝可梦都没问题 照样打!
    # 该配置跟原版指令类似
    # 能写原版指令的所有标签包括模组增加的标签
    # 如何了解自定义宝可梦的标签
    # 可以使用模组原版/pokemonspawn或者/givepokemon
    # 然后tab 就可以查看所有宝可梦标签
    # 这些标签都可以填写在下面配置中
    # 宝可梦1号位
    # 超梦 等级100 特性为全能变身 maga形态为mega_x 携带物为龙牙
    - "mewtwo level=100 s ability=zerotohero mega_evolution=mega_x helditem=cobblemon:dragon_fang"
    # 宝可梦2号位
    # 皮卡丘 等级 闪光 其他任何属性随机
    - "pikachu level=100 s"
    # 宝可梦3号位
    # 皮卡丘 等级100 闪光 技能为放电 打雷 光墙 十五伏特 特性为再生力
    - "pikachu level=100 s moves=Discharge,Thunder,Lightscreen,Thunderbolt ability=Regenerator"
# 奖励配置
reward:
  # 玩家击败该训练师执行的指令
  # command 玩家执行
  # op 玩家以 op 执行
  # console 玩家以控制台执行
  # broadcast 广播信息
  # tell 发送信息 仅接收者可见
  # 变量:
  # '{p}' 玩家名称
  # '{trainer_name}' 训练家名称
  # 支持 placeholderapi papi变量
  win:
    - '[tell]&7玩家 &f{p} &7你太强了! 击败了训练家 &f{trainer_name}!'
  # 玩家输掉该训练师执行的指令
  # command 玩家执行
  # op 玩家以 op 执行
  # console 玩家以控制台执行
  # broadcast 广播信息
  # tell 发送信息 仅接收者可见
  # '{p}' 玩家名称
  # '{trainer_name}' 训练家名称
  # 支持 placeholderapi papi变量
  lose:
    - '[tell]&7玩家 &f{p} &7你真是菜鸟! 输给了训练家 &f{trainer_name}!'
# 增加努力值设置
# 无论玩家无论输掉或者击败该训练家都会增加努力值
# 前提是只有玩家上场的宝可梦才会增加努力值
# 且要击败训练家的宝可梦才能增加努力值
# 如果上场了的宝可梦且没有击杀训练家宝可梦则不增加努力值
# 只有上场了的宝可梦且击杀了训练家宝可梦才增加努力值
addEvsConfig:
  # 是否启用
  enable: false
  # 击杀训练师的宝可梦默认增加的努力值
  # 支持数学运算
  # 支持papi 变量
  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
  # 击杀训练师的宝可梦默认增加的经验值
  # 支持数学运算
  # 支持papi 变量
  addExp: 10
  # 自定义击杀训练师指定宝可梦增加的经验值
  # 如果击杀下面指定的宝可梦,那么击杀者宝可梦则会增加下列指定的经验值
  designatedPokemon:
    # 击杀训练师指定宝可梦
    # 可以无限添加不同的宝可梦配置
    Pikachu: 20
	language配置
		YAML:
	
	# 语言文件
prefix: "§f[§a虚拟对战§f] "
messages:
  # 战斗相关消息
  battle:
    # 回合数量限制 {roundLimit}为设定的回合数量限制
    roundLimit: "&c已超过设定的回合数{roundLimit},强制结束!"
    # 回合内时间限制 {timeOut}为设定的回合内时间限制
    timeOut: "&c已超过设定的回合内时间{timeOut}秒,强制结束!"
  # 条款相关消息
  clauses:
    # 包包条款消息
    bag_clause: "§c当前比赛开启了包包条款,禁止使用背包中的道具!"
    # 一站到底规则消息
    forfeit_clause: "§c当前比赛开启了一站到底规则,禁止逃跑!"
    # 队形条款消息
    teamOrder_clause: "§c当前比赛开启了队形条款,请勿改变队形!"
    # 超进化条款消息
    superEvolution_Clause: "§c当前比赛开启了超进化条款,请勿使用超进化!"
    # 神兽条款消息
    legendaryClause: "§c宝可梦 '{pokemon}' 违反神兽规则,禁止使用传奇宝可梦!"
    # 异兽条款消息
    superEvilClause: "§c宝可梦 '{pokemon}' 违反异兽规则,禁止使用究极异兽宝可梦!"
    # 幻兽条款消息
    phantomClause: "§c宝可梦 '{pokemon}' 违反幻兽规则,禁止使用幻兽宝可梦!"
	视频演示
https://www.bilibili.com/video/BV1soHGzEEwE/?spm_id_from=333.1387.homepage.video_card.click
游戏截图

结语
感谢使用 CobbleVirtualNpc 插件,我们持续更新更多功能。如果你有任何问题或建议,请加入官方插件交流群:966720491。作者很听劝!遇到问题尽管说!
注意: