• 游客, 欢迎您来到九域资源社区,如果您是新人,请前往 论坛公告 板块查看新人引导教程 或者 点我打开
    如果您发现没有下载许可, 请先验证邮箱再进行下载;金锭可通过每日登陆或资源出售获取,目前没有其他渠道可获取。
CobblemonUltraBattle — 方可梦终极对战|自定义战斗效果(宝可梦特性) + 自定义携带物 + 可视化编辑器,一站式扩展 Cobblemon 战斗[1.21.1]

付费插件 CobblemonUltraBattle — 方可梦终极对战|自定义战斗效果(宝可梦特性) + 自定义携带物 + 可视化编辑器,一站式扩展 Cobblemon 战斗[1.21.1] 1.0.0

没有购买权限 (89.00 钻石)
◆ 支持核心
Arclight
◆ 插件前置
◆ 游戏版本
1.21.1

CobblemonUltraBattle

购买后联系作者QQ:1109132获取授权

项目定位​

CobblemonUltraBattle 是一个面向 Cobblemon 混合端服务器的对战扩展项目。

本模组和插件纯服务端,客户端无需任何修改
本模组和插件纯服务端,客户端无需任何修改
本模组和插件纯服务端,客户端无需任何修改
它的核心目标很直接:

  • 让服主和开发者不改源码也能快速制作新的对战效果(甚至无需重启服务器)
  • 用 JavaScript 为宝可梦对战添加自定义机制(甚至提供编辑器,通过点击积木块的方式一键生成)
  • 同时支持“对战效果”和“自定义携带物”两类脚本扩展
  • 通过可视化编辑器降低脚本配置门槛
如果你希望自己的服务器拥有更丰富的 PvP、道馆、挑战赛、BOSS 战、活动副本、限时赛季机制,这个项目就是为这类需求准备的。

1772978177669.png

1772977905270.png


核心亮点​

1. JavaScript 驱动的对战扩展​

项目支持直接使用 JS 编写战斗逻辑。

你可以在不同战斗事件中执行自定义效果,例如:

  • 战斗开始时触发
  • 每回合开始或结束时触发
  • 使用伤害类招式时触发
  • 额外出招或追击时触发
  • 携带物持续生效、残留结算、招式后生效
这意味着很多传统上必须写插件源码才能做的内容,现在可以用脚本快速完成。

2. 双扩展体系:对战效果 + 自定义携带物​

项目提供两套独立但风格统一的脚本体系:

  • UltraBuff:给宝可梦挂载额外的对战效果
  • Held Item:制作拥有自定义脚本逻辑的携带物
你可以把它理解成:

  • UltraBuff 更适合做天赋、符文、称号效果、羁绊效果、专属战斗被动
  • Held Item 更适合做赛季道具、活动限定道具、职业装备、特殊战斗饰品

3. 丰富的脚本 API​

脚本内可直接调用多类函数:

  • Action.*:执行动作,例如治疗、伤害、发消息、额外使用招式
  • Placeholder.*:读取生命、伤害、个体值、努力值、能力值、世界信息等
  • Global.*:读取当前回合、事件、招式信息
  • Player.*:获取宝可梦所属玩家
  • Counter.*:管理临时计数器、long 计数器、NBT 持久计数器
项目还支持注册自定义函数,让脚本系统继续扩展。

4. 三种计数器体系​

项目内置了非常适合复杂战斗机制的计数器系统:

  • tempValue
    只在当前战斗内有效,战斗结束后清空
  • longValue
    保存在内存中,适合跨战斗累计,但服务器关闭后会清空
  • persistentValue
    持久化写入 Pokemon.persistentData,服务器重启后仍然保留
这使得你可以轻松设计:

  • 连击计数
  • 回合累计触发
  • 宝可梦成长记录
  • 挑战进度
  • 赛季收集数值
  • 个体专属成就标签

5. PlaceholderAPI 联动​

项目支持在脚本中直接调用:

Placeholder.papiParse(playerOrPokemon, "%playerpoints_points%")

它可以:

  • 直接解析玩家对象上的 PlaceholderAPI 变量
  • 如果传入的是 pokemon,会自动通过宝可梦主人解析
  • 当对象为空时安全返回空字符串
这让脚本能够直接打通积分、经济、称号、任务、权限、段位等外部系统。

6. 本地可视化编辑器​

项目自带本地编辑器,可用于:

  • 新建对战效果脚本
  • 新建自定义携带物脚本
  • 可视化拼装常见逻辑块
  • 快捷插入动作函数与计数器操作
  • 自动生成 JS 脚本
  • 查看函数说明与参数示例
对于不想手写完整脚本的服主来说,这会显著降低制作门槛。

7. 热重载与管理支持​

项目支持重载脚本与配置,便于开发和活动期间快速调整。

这意味着你可以:

  • 快速迭代平衡
  • 在线修正脚本逻辑
  • 临时上线节日活动内容
  • 为赛事服快速切换规则

适合做什么​

你可以用 CobblemonUltraBattle 做出很多“有服务器特色”的内容,例如:

  • 专属宝可梦被动
  • 职业流派效果
  • 道馆馆主技能机制
  • 赛季限定战斗词条
  • 带成长记录的培养系统
  • 根据玩家积分动态变化的技能效果
  • 绑定玩家经济或任务进度的奖励技能
  • BOSS 战多阶段机制
  • 活动副本里的特殊战斗道具

JS 示例(就算不会写js,也可以用编辑器直接生成,可以无脑制作任何携带物)

示例 1:低血线触发斩杀​

({
id: "executioner",
name: "处刑者",
onUseDamagingMove(pokemon, opponents, allies, battle) {
const target = opponents[0];
if (!target) return;

const hp = Placeholder.getHealth(target);
const maxHp = Placeholder.getMaxHealth(target);
if (maxHp <= 0) return;

if (hp / maxHp <= 0.15) {
Action.damagePokemon(target, maxHp);
Action.sendBattleMessage(`${pokemon.displayName} 触发了处刑者,一击带走了 ${target.displayName}!`);
}
}
})

示例 2:回合累计恢复​

({
id: "guardian_pulse",
name: "守护脉冲",
onTurnEnd(pokemon, opponents, allies, battle) {
const triggers = Counter.addLongValue("guardian_pulse_count", 1, pokemon);
if (triggers % 2 === 0) {
Action.healPokemonPercent(pokemon, 10);
Action.sendBattleMessage(`${pokemon.displayName} 的守护脉冲生效,恢复了生命值。`);
}
}
})

示例 3:写入宝可梦 NBT 的永久成长记录​

({
id: "veteran_mark",
name: "百战印记",
onBattleEnd(pokemon, opponents, allies, battle) {
const total = Counter.addPersistentValue("battle_finish_count", 1, pokemon);
if (total === 100) {
Action.sendBattleMessage(`${pokemon.displayName} 达成了 100 场战斗记录!`);
}
}
})

示例 4:联动 PlaceholderAPI 的积分增伤​

({
id: "rank_power",
name: "段位之力",
onUseDamagingMove(pokemon, opponents, allies, battle) {
const pointsText = Placeholder.papiParse(pokemon, "%playerpoints_points%");
const points = Number(pointsText || 0);
const bonus = Math.min(30, Math.floor(points / 100));

if (bonus > 0) {
Action.setFinalDamage(Placeholder.getCurrentDamage() + bonus);
Action.sendBattleMessage(`${pokemon.displayName} 获得了 ${bonus} 点段位增伤。`);
}
}
})

示例 5:自定义携带物​

({
name: "Vital Berry",
spritenum: 1,
consumed: true,
num: -1,
gen: 9,
isNonstandard: "Past",

onUpdate(pokemon, source, effect) {
const hp = Placeholder.getHealth(pokemon);
const maxHp = Placeholder.getMaxHealth(pokemon);
if (maxHp <= 0) return;

if (hp / maxHp <= 0.25) {
Action.healPokemonPercent(pokemon, 20);
Action.consumeHeldItem(pokemon);
Action.sendBattleMessage(`${pokemon.displayName} 吃下了 Vital Berry!`);
}
}
})


为什么适合你的服务器​

  • 它不是单纯“加几个配置项”,而是提供了一整套可编程战斗扩展框架
  • 它兼顾了脚本开发者和普通服主,可写代码,也可走编辑器
  • 它既能做轻量平衡,也能做重度特色玩法
  • 它可以与 PlaceholderAPI 等生态联动,方便接入现有服务器系统
  • 它天然适合做“本服专属内容”,不容易和其他服务器同质化
  • 高自由度
  • 脚本化战斗扩展
  • 可视化编辑
  • 可做服务器专属机制

项目介绍​

CobblemonUltraBattle 是一个面向 Cobblemon 混合端服务器的脚本化对战扩展项目,支持自定义对战效果、自定义携带物、战斗事件脚本、计数器系统、PlaceholderAPI 联动与本地可视化编辑器,让服务器能够快速打造专属 PvP、道馆、BOSS 与活动战斗玩法。

欢迎使用本模组​

  • 用脚本重塑 Cobblemon 对战体验
  • 给你的 Cobblemon 服务器加入真正的专属战斗机制
  • 不止是配置文件,而是一整套可编程战斗系统
  • UltraBuff + 自定义携带物 + 可视化编辑器,一站式扩展 Cobblemon 战斗
  • 1772977894357.png
    1772977894357.png
    628.1 KB · 查看: 20