
Cobblemon的Pokebuilder
这个项目是一个针对cobblemon的自定义插件,让玩家可以使用Impactor插件货币来使用特殊的pokebuilder。
PokeBuilder
服务端 Cobblemon 配套模组,将宝可梦属性编辑变成付费的游戏内功能 —— 你的玩家通过完全可点击的 GUI 消耗 Impactor 货币,来优化个体值、锁定性格、切换特性、更改太晶属性、提升极巨化等级、重命名宝可梦、补充亲密度、治愈异常状态,甚至编辑存储在 PC 中的宝可梦。无需记忆命令,无需发放 /op,没有半成品的编辑工具。
PokeBuilder 1.3.3 —— 适用于 Minecraft 1.21.1 / Fabric。需要 Cobblemon 1.7+ 和 Impactor 5.3+。推荐安装 Mega Showdown 以获得极巨化 / 超极巨化 / 太晶显示叠加层。
功能简介
运行 /pb(或 /pokebuilder、/pokebuild)打开队伍界面 —— 每个槽位渲染的是你宝可梦的实际 Cobblemon 模型,而非通用图标。点击其中一个进入编辑器,付费打造你想要的配置:
核心属性:
- 个体值(IVs) —— 将任意单项属性设为 31 或 0,或一次性将六项全部拉满
- 努力值(EVs) —— 将任意属性设为 252 或 0,或完全清空分配
- 性格 —— 从 25 种性格中任选(每次更改统一计价)
- 特性 —— 切换普通特性或解锁隐藏特性 (单独计价 + 权限)
- 闪光 —— 开启或关闭闪光标志
- 性别 —— 在物种允许时切换为相反性别
- 捕获球 —— 更改宝可梦被捕获时使用的精灵球
Mega Showdown 特殊机制:
- 极巨化等级 —— 将等级从 0 提升至服务器 Cobblemon 配置的上限 (按等级计价)
- 超极巨化因子 —— 授予或移除超极巨化权限
- 太晶属性 —— 将宝可梦的属性改为 19 种属性之一(18 种元素属性 + 星晶)
**便捷功能 (1.3.0 新增):**
- 昵称 —— 聊天输入提示,带长度与颜色代码校验;输入
reset恢复为物种名称 - 亲密度 —— 步进器 GUI(+10 / +50 / 最大 / 重置),用于进化条件和报恩/迁怒
- 状态治愈 —— 一键治愈中毒 / 灼伤 / 麻痹 / 冰冻 / 睡眠
每次修改都是一次真实的 Impactor withdraw() —— 不存在影子钱包。大额购买超过可配置阈值时会弹出确认界面,避免有人一键花光积蓄。
PC 存储访问 (1.3.0 新增,需主动开启)
无需将宝可梦从箱子中取出即可编辑存储在 PC 中的宝可梦。队伍界面上新增的"切换到 PC"按钮会打开一个分页浏览的箱子界面 —— 点击任意宝可梦即可进入相同的编辑流程。默认关闭;管理员在配置中设置 features.pc-access = true 并授予每玩家 pokebuilder.use.pc 权限来启用(功能开启后默认允许,可通过 LuckPerms 按组拒绝以实现仅限 VIP 访问)。
同样的每笔交易安全网也保护 PC 编辑:如果宝可梦在"点击编辑"和"点击购买"之间被交易或移动,交易会中止并自动退款。
处处使用主题化的模组物品图标
PokeBuilder 为每个菜单使用 Cobblemon 和 Mega Showdown 中的实际物品 —— 而非原版占位符。部分亮点:
- 队伍界面通过 Cobblemon 的
PokemonItem渲染真实的宝可梦模型 - 个体值编辑器为六项属性分别使用极限特训糖果
- 努力值编辑器使用维生素(HP 增强剂、蛋白质、铁、钙、锌、碳素)
- 性格选择器为每个条目显示对应的性格薄荷
- 特性选择器使用特性胶囊 / 特性膏药
- 精灵球选择器显示实际的 Cobblemon 精灵球物品
- 极巨化等级选择器为按等级缩放的极巨糖果堆叠
- 超极巨化开关为极巨腕带 + 极巨蘑菇
- 太晶属性选择器为对应的 Mega Showdown 太晶碎块
- 昵称图标为命名牌,亲密度为虞美人,状态治愈为蜂蜜瓶
- 当前宝可梦标题栏显示该物种的捕获球
自定义
基于权限的价格层级 (1.3.0 新增) —— 在 config.conf 中为每层设置乘数:
tiers {
default = 1.0
vip = 0.80 # 20 % 折扣
mvp = 0.60
}
玩家获得的第一个持有 pokebuilder.tier.<id> 权限的层级生效,按声明顺序。层级解析按每笔交易进行 —— LuckPerms 的授予/撤销在下一笔购买时即生效。审计日志同时记录标价和解析后的价格,因此 VIP 收据不会令人困惑。
i18n / 语言文件 (1.3.0 新增) —— 每个 UI 字符串位于 assets/pokebuilder/lang/<locale>.json,可通过将 config/pokebuilder/lang/<locale>.json 放入服务器配置目录来覆盖。message-locale 配置键选择语言("auto" = JVM 默认语言,回退到英语)。管理员 GUI 消息编辑叠加在语言基础之上,只有实际增量会持久化到磁盘 —— 你的 config.conf 保持精简。
游戏内管理面板 —— 每个设置都可点击
运行 /pokebuilder admin(默认 OP 4 或 pokebuilder.admin.gui 权限)打开控制面板。每个部分都是可点击的 GUI,无需在聊天中刷配置:
- 价格 —— 每个费用的 +/- 步进器,Shift+点击进行 ×10 跳跃
- 功能 —— 逐个开启或关闭购买项;禁用的功能会从
/pb中隐藏并在服务端拒绝。1.3.0 后有 17 个开关(每个编辑器 + 每个快捷方式 + 昵称 / 亲密度 / 状态治愈 / PC 访问 4 个新增项) - 安全 —— 点击冷却、每分钟最大修改次数、创造模式开关、濒死宝可梦开关
- 限制 —— 阻止传说 / 幻之 / 究极异兽 / 悖谬;聊天输入管理的禁用水种列表
- 音效 —— 主开关、音量、音调
- 消息 —— 左键点击任意消息在聊天中用
&颜色代码重写;右键重置 - 保存到磁盘 —— 原子化
tmp + rename写入,有未保存编辑时会发光 - 从磁盘重新加载 —— 丢弃未保存的内存编辑,重新读取文件;实时重新绑定 Impactor 经济,使货币更改无需重启即可生效
编辑对所有玩家立即生效,但只有点击 保存到磁盘(或运行 /pokebuilder save)后才会持久化。
防御性构建
由于此模组允许玩家付费进行不可逆的游戏状态更改,交易层在设计上极度谨慎:
- 每玩家锁 —— 每次修改都在以玩家 UUID 为键的同步块中运行,因此两次同时点击不会双重扣费
- 原子购买 —— 顺序为 余额检查 → 扣款 → 修改 → 审计。如果 Cobblemon 修改抛出异常,货币会自动退还
- 余额差值验证 —— 每次
withdraw/deposit都会检查玩家操作前后的余额,如果 Impactor 报告 SUCCESS 但余额实际未变(另一模组取消事件、虚拟账户、缓存账户等),则记录 WARN。捕获"一切看起来正常但货币未扣除"这类否则不可见的 bug。 - 宝可梦身份检查 —— 如果你的目标在编辑过程中被交易、放生或存入箱子(无论在队伍还是 PC 中),交易会中止并退款,而不是编辑过期的引用
- 点击冷却 + 每分钟速率限制 —— 阻止快速点击和宏漏洞
- GUI 槽位拦截 —— 菜单中显示的物品无法被拖拽、交换、丢弃、克隆或提取到你的背包
- 每次点击重新检查权限 —— 会话中途降级玩家会立即将其锁定在外
- 交易收据 (1.3.0 新增) —— 每次成功购买都会获得一个唯一的 8 字符 base36 ID 写入审计日志。玩家在
/pb history中查看;管理员在支持工单中引用。 - 原子配置写入 —— 临时文件 + 重命名,因此保存中途崩溃绝不会损坏配置
- 审计日志 —— 每笔交易(玩家、宝可梦 UUID、物种、操作、费用、操作前后余额、成功/失败、折扣时的层级和标价)追加到
logs/pokebuilder-transactions.log。每次管理员 GUI 更改都会记录其旧值和新值 - 功能门控 —— 禁用的功能在 GUI 层、子菜单层和交易层都会检查 —— 纵深防御,无单一绕过
权限(Fabric Permissions API / LuckPerms)
| 节点 | 默认值 | 作用 |
|---|---|---|
pokebuilder.use |
true | 打开 GUI |
pokebuilder.modify.iv / .ev / .nature / .ability / .shiny / .gender / .ball |
true | 各功能的编辑权限 |
pokebuilder.modify.ability.hidden |
true | 切换到隐藏特性 |
pokebuilder.modify.dynamax / .gmax / .tera |
true | 极巨化 / 超极巨化 / 太晶修改 |
pokebuilder.modify.nickname / .friendship / .status_cure |
true | 1.3.0 新功能 |
pokebuilder.use.pc |
true (一旦 features.pc-access 开启) |
通过 /pb 浏览自己的 PC |
pokebuilder.tier.<id> |
— | 价格层级成员资格(例如 .vip、.mvp) |
pokebuilder.bypass.cooldown |
false | 忽略点击冷却 |
pokebuilder.bypass.cost |
false | 免费修改(管理员测试) |
pokebuilder.admin.gui |
OP 4 | 打开管理面板 |
pokebuilder.admin.save |
OP 4 | 保存配置到磁盘 |
pokebuilder.admin.reload |
OP 3 | 从磁盘重新加载配置 |
pokebuilder.admin.debug |
OP 4 | 运行 /pokebuilder debug |
pokebuilder.admin.history |
OP 3 | 查看任意玩家的 /pokebuilder history |
绕过节点默认不授予任何人。授予 OP 不会自动授予绕过 —— 如需使用请借助权限插件。
命令
/pokebuilder 打开队伍选择器
/pokebuild /pb 别名
/pb history [page] 玩家自己的购买历史(含交易 ID)
/pokebuilder version 显示已安装版本
/pokebuilder admin 打开管理面板 (需要权限)
/pokebuilder save 将实时编辑持久化到磁盘 (需要权限)
/pokebuilder reload 重新读取 config.conf + 重新挂钩经济 (需要权限)
/pokebuilder debug 导出实时经济状态用于诊断 (需要权限)
/pokebuilder history player <name> 任意玩家的购买历史 (需要权限)
配置
config/pokebuilder/config.conf 是一个 HOCON 文件。手动编辑后运行 /pokebuilder reload,或使用管理 GUI 并点击 保存到磁盘。该文件在首次启动时以合理默认值生成。
重要子节:
economy—— currency-id(留空 = 服务器主货币)、显示名称覆盖、格式prices—— 每个操作的费用features—— 17 个开/关切换tiers—— 基于权限的价格乘数restrictions—— 阻止传说 / 幻之 / 究极异兽 / 悖谬 + 按物种阻止列表security—— 冷却、速率限制、创造 / 濒死开关message-locale——"auto"或特定语言如"en_us"/"fr_fr"
审计日志位于 logs/pokebuilder-transactions.log。
需求
硬依赖:
- Minecraft 1.21.1
- Fabric Loader ≥ 0.17.2
- Fabric API
- Cobblemon 1.7+
- Impactor (Fabric) 5.3+ —— 提供经济后端
推荐(仅当你想要宝可梦概要界面上的极巨化 / 超极巨化 / 太晶显示叠加层时需要;PokeBuilder 的购买流程无需它即可工作,因为底层字段是 Cobblemon 原生的):
- Mega Showdown 1.7.3+
- Architectury API 13.0.8+ (Mega Showdown 的硬依赖)
- Accessories 1.1.0+ (Mega Showdown 的硬依赖)
- owo-lib 0.12.15+ (Accessories 的硬依赖)
PokeBuilder 是仅服务端的。玩家客户端只需安装 Cobblemon 和 Fabric API;他们无需安装 PokeBuilder、Impactor、Mega Showdown、accessories、owo-lib 或 architectury 即可使用其任何功能。一切都通过标准背包数据包传递。
它刻意不是什么
- 不是客户端模组 —— 仅服务端运行,无需客户端安装
- 不是商店 —— 不售卖宝可梦、物品或精灵球;只修改你已拥有的宝可梦
- 不是经济插件 —— Impactor 是余额的唯一真实来源;PokeBuilder 不铸造任何货币
- 不是宝可梦编辑器替代品 —— 只暴露精选的安全编辑子集。物种 / 等级 / 招式 / 携带物品 / 经验值等刻意不在范围内,以免玩家轻易获得未应得的内容
目标用户
已经运行 Impactor 经济,并希望为玩家提供付费、自助的方式来完善具有竞技可行性的宝可梦的 Cobblemon 服务器服主 —— 无需编写自定义命令,无需发放 /op,也无需信任管理员在聊天中手动兑现"5 万换 6V"的请求。借助 1.3.0 的 PC 访问和新的生物编辑功能(昵称 / 亲密度 / 状态治愈),该模组现在覆盖了完整的自助"打磨我的收藏"工作流,且全程无需将宝可梦取出存储。
许可证: MIT 作者: souljagger
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。