Cobblemon 自动对战(SV风格)[NeoForge]

Cobblemon 自动对战(SV风格)[NeoForge]

宝可梦 朱/紫“出发吧!”风格自动对战模组,适用于Cobblemon。派出你的宝可梦,它们会自行猎杀附近野生宝可梦——真实基于招式的战斗、稀有保护、瞄准狩猎、经验值/努力值/掉落奖励。支持大规模爆发群体。

Fabric 版本: https://www.curseforge.com/minecraft/mc-mods/cobblemon-auto-battle-sv-styled

宝可梦:朱/紫风格自动对战

本仓库是 viniciusmorenorogato-crypto/CobblemonAutoBattle v1.4.0 的 NeoForge 1.21.1 移植版本。原作者与 MIT 版权声明均已保留。

为 Cobblemon 带来宝可梦 朱/紫 风格的“let's go”自动对战。

派出你的宝可梦,按下按键,它们就会自动搜寻并攻击附近的野生宝可梦——为你赚取经验值、努力值和掉落物,就像宝可梦 朱/紫 中的“let's go”机制一样。或者你也可以瞄准特定的野生宝可梦,让你的伙伴精准出击。

Minecraft 1.21.1 NeoForge Cobblemon 1.7.3 License MIT

功能特性

  • 一键自动对战 — 按下 R 键(可重新绑定)开关。若场上没有宝可梦,会自动派出首只宝可梦。
  • 定向狩猎 — 瞄准一只野生宝可梦并按下 V 键(可重新绑定):最近的狩猎者会去攻击该目标。即使自动对战关闭也可使用——你的首只宝可梦会出战,完成任务后自行返回精灵球。
  • 多狩猎者 — 所有 已派出的宝可梦会同时狩猎,各自挑选目标(不会出现两只狩猎者围攻同一只野生宝可梦的情况)。
  • 朱/紫风格一击必杀对战 — 每次对战通过一次精心编排的打击解决:攻击动画准备 → 同步命中 → 被击败的野生宝可梦播放真实的faint动画并发出叫声,然后消失。
  • 真实招式系统 — 双方都会选择自己最佳的实际招式(真实威力、属性、物理/特殊分类、真实本系加成、完整的属性克制表)。速度决定谁先出手,免疫特性(飘浮、引火、蓄水/蓄电、食草等)会无效化对应属性的招式。
  • 你可能失败 — 如果模拟结果显示野生宝可梦会先击倒你的宝可梦,你的宝可梦会输掉这次交锋:野生宝可梦会反击,你的宝可梦受伤撤退,野生宝可梦存活。你招式的属性克制突然变得重要了(可配置)。
  • 稀有宝可梦保护 — 闪光、传说、幻之、究极异兽、悖谬形态(以及你配置的任何自定义标签/物种)绝不会被攻击。相反,你会收到聊天提示、铃声提醒,并且稀有宝可梦会发光数秒,方便你找到它。
  • 胜利反馈 — 一段只有你能听到的简短三音铃声(朱/紫风格)、被击败物种的叫声,以及安静且音调多变的命中音效。
  • 节奏舒缓 — 狩猎者每次胜利后会原地休息几秒,而不是立刻冲向下一个目标。
  • 智能导航 — 目标搜索以玩家为中心(可配置),并有牵引绳机制可以将游荡的狩猎者拉回(如果落后太远会传送回来),稳定的路径重算,以及防卡死系统,会放弃无法到达的目标。
  • 真实模型动画 — 攻击者会播放其模型的physical/special动画;一切都复用 Cobblemon 自己的可摆姿势动画系统。
  • 公平的目标选择 — 只会攻击等级不超过你的宝可梦等级+可配置余量的野生宝可梦;低生命值的狩猎者会撤退(它们永远不会因自动对战而倒下)。
  • 奖励 — 胜利者获得经验值和努力值(符合物种的努力值产出);掉落物会直接进入你的背包。
  • 完全可配置与本地化 — config/autobattle.json 中有 30 多个选项,可在游戏中热重载。支持英语和葡萄牙语(巴西);欢迎提交翻译!

前置要求

依赖 版本
Minecraft 1.21.1
NeoForge ≥ 21.1
Kotlin for Forge ≥ 5.12.0
Cobblemon ≥ 1.7.3 < 1.8.0

客户端需要安装(键位绑定必需)。在服务器上,则需双端安装。

使用方法

按键(可重新绑定) 动作
R 切换区域自动对战。已派出的宝可梦会攻击你附近的合格野生宝可梦;再次按下可停止(模组派出的宝可梦会被收回)。
V 定向狩猎。瞄准一只野生宝可梦(最多 32 格距离)并按下:最近的狩猎者会去攻击它。若自动对战关闭,这是一次性任务——你的首只宝可梦之后会自行返回。

狩猎者生命值过低时会撤退并休息,直到被收回并再次派出。稀有/受保护的宝可梦会被宣告而不是被攻击——在区域模式下或你直接瞄准它们时都是如此。

命令(权限等级 2)

命令 效果
/autobattle info 显示当前配置
/autobattle reload 无需重启即可重载 config/autobattle.json

配置

config/autobattle.json 在首次启动时创建,并会在更新后自动修复缺失字段。

目标选择与导航

字段 默认值 描述
enabled true 总开关
anchorToPlayer true 围绕玩家搜索目标(朱/紫风格);false 则以每个狩猎者为中心(自由 roaming)
searchRadius 28.0 围绕锚点扫描目标的半径(格)
leashRadius 40.0 与你的距离超过此值的狩猎者会放弃目标并返回;超过 1.5 倍则会传送到你身边
attackRange 2.5 开始攻击时两个碰撞箱边缘之间的间隙(两个宝可梦的体型会被自动加上)
moveSpeed 1.3 追击速度倍率
followPlayerRadius 8.0 空闲的狩猎者与你距离超过此值时会跟随你
repathIntervalTicks 10 路径重算间隔(刻)(防止走路晃来晃去)
stuckTimeoutTicks 60 向目标移动没有进展持续此时间(刻)→ 放弃该目标
levelMargin 5 等级不超过 狩猎者等级 + 余量 的野生宝可梦为合格目标
directedHuntRange 32.0 V 键的最大瞄准距离

稀有保护

字段 默认值 描述
protectRareTargets true 稀有保护总开关
protectShiny true 绝不攻击闪光宝可梦
protectedLabels legendary, mythical, ultra_beast, paradox 受保护的物种标签(其他模组的标签也有效)
protectedSpecies [] 按名称额外指定受保护的物种
rareGlowSeconds 10 发现的稀有宝可梦发光轮廓时间(0 关闭)
rareFoundSound true 发现稀有宝可梦时的提醒铃声

战斗

字段 默认值 描述
attackWindupTicks 8 攻击动画与命中之间的延迟
attackIntervalTicks 30 战斗之间的最小间隔(刻)
restAfterBattleTicks 60 狩猎者每次胜利后站立不动的时长(3 秒)
retreatHealthPercent 0.2 生命值比例降至该值时撤退
retaliationMultiplier 0.5 狩猎者承受的战斗代价伤害比例
allowDefeat true 不利的对局可能输掉战斗(狩猎者撤退,野生宝可梦存活)
abilityImmunities true 飘浮、引火、蓄水/蓄电等特性会无效化对应属性的招式
damageScale 1.0 全局伤害倍率
randomizeDamage true 应用经典的 85–100% 伤害浮动

特效、音效与奖励

字段 默认值 描述
battleEffects true 模型动画、粒子、击退和音效
faintAnimationTicks 40 被击败的野生宝可梦在消失前保持倒地的时间
victoryJingle true 三音胜利铃声(只有你能听到)
defeatCry true 被击败的物种在倒下时发出叫声
hitSoundVolume 0.35 命中音效音量(0 关闭)
awardXp / xpMultiplier true / 1.0 经验值奖励
awardEvs true 努力值奖励(物种努力值产出)
awardDrops true 将野生宝可梦的掉落物发送到你的背包
announceRewards true 每次胜利发送聊天消息

工作原理(技术细节)

  • 服务端逻辑运行在 NeoForge ServerTickEvent.Post 上;客户端仅注册键位绑定并发送开关/狩猎数据包。定向狩猎在服务端进行射线检测(不信任客户端实体 ID)。
  • 战斗通过一次打击解决:一个轻量级模拟选择双方最佳的真实招式(来自实际招式的威力/属性/分类、真实本系加成、完整属性克制表、特性免疫),将速度纳入谁先出手的判定,并计算战斗需要多少“回合”——按比例扣除狩猎者生命值,或在野生宝可梦会先赢时判定失败。不会实例化真实的 PokemonBattle,因此即使有大量狩猎者也能保持流畅。
  • 动画复用 Cobblemon 的可摆姿势动画数据包——与官方战斗中的 recoil 相同的机制——加上物种真实的faint动画和失败时的叫声。
  • 奖励通过 Cobblemon 自己的 API(addExperienceWithPlayer、努力值产出、物种掉落表)发放,并带有边模标签来源,因此其他模组的事件钩子可以继续正常工作。
  • 稀有检测使用 Cobblemon 官方的物种标签,因此数据包和其他模组标记的物种会自动受到保护。