“它看起来像一串随意拼起来的法术卡片:爆炸、速度、括号、加号……但当你把它们串成一个序列,你就会明白它真正的目标:让魔法像工程一样可组合、可复用、可扩展。”
——GPT-5.2 Thinking(乱编)
Programmable Magic 是一个基于 NeoForge 1.21.11 的魔法模组:核心玩法不是“学会一个强力技能”,而是把一组「法术卡片」按顺序放进魔杖界面,组合出可复用的施法序列。你可以把它理解成“把魔法写成一条能跑的流程”——并且随着插件、计算模组与网络设备的加入,这条流程会逐渐工程化。
- 版本:本项目基于 NeoForge
1.21.11(minecraft_version_range=[1.21.11,1.22))。 - 进度:目前仍处于早期开发阶段,内容、平衡与配方可能会频繁调整。
- 灵感方向:组合式法术系统与“把能力工程化”的玩法(本项目为独立实现,不依赖其他同类模组)。
- 反馈与交流:欢迎提 Issue/PR,或通过 README 顶部链接联系作者。
- 法术序列:一次释放会按顺序执行“法术卡片”,其中既有「效果」也有「修饰/控制/载体/计算」等模块。
- 表达式计算:提供数字、括号与运算符等计算模组,让法术参数更像“写公式”而不是“堆配置”。
- 魔力消耗:以「辐射 / 温度 / 动量 / 压力」四系魔力作为成本维度,从背包中的「魔力单元」扣除。
- 魔杖与插件:通过插件扩展存储槽、供应与释放等能力,让同一把魔杖可以走不同的“构筑路线”。
- 魔力网络(开发中):已实装线缆/产生器/缓存器与基础网络逻辑,为后续设备化与自动化做地基。
总体来说,Programmable Magic…
- 鼓励“组合”而不是“刷数值”:强度更多来自组合方式与参数表达,而不是单一等级的堆叠。
- 鼓励“可复用”的施法构筑:一组法术序列可以针对不同场景快速改装与复制。
- 试图把魔法推向工程化:后续路线将围绕网络、路由、缓存与输入输出等方向展开(仍在开发中)。
- 基础效果:爆炸、速度加成、放置方块、药水附加、点燃、萤光、数据打印等。
- 调整模组:延时、触地触发、触实体触发、威力提升/倍率等。
- 控制模组:条件判断、循环、逻辑运算(与/或/非)与比较运算(等于/不等/大小比较)等。
- 计算模组:数字与四则/幂、括号、动态常量(如视角向量、施法者位置/实体等)、存储读写等。
- 魔力网络原型:魔力线缆、魔力产生器、魔力缓存器。
- 提纯红石粉:红石粉右击「盛水炼药锅」(下方有火/灵魂火)→ 掉落「纯净红石粉」。
- 原始合金熔炼炉:
- 任意锄头右击砖块 → 转化为合金炉(扣 1 点耐久,返还 1×「砖」),并具有朝向与三态贴图/音效。
- 投入「纯净红石粉」+「金锭」,用岩浆桶点火 5 秒完成;空手可取回原料。
- 挖掘掉落:任何状态掉落 3×「砖」;若为「阻挡状态」且用「镐类工具」挖掘,额外掉落 2×「红石-金合金」+ 1×「黑曜石」。
- 运行环境:Minecraft
1.21.11+ NeoForge21.11.19-beta(或满足neo_version_range的兼容版本)。 - 获取方式:优先从 GitHub Releases 下载成品构建。
- 使用方法:将本模组的
.jar放入mods文件夹后启动游戏。
- 要求:JDK 21(Gradle Toolchain 自动处理)、NeoForge 1.21.11。
- 常用命令:
- 构建:
./gradlew build(Windows 使用gradlew.bat build) - 运行客户端:
./gradlew runClient(Windows 使用gradlew.bat runClient) - 数据生成:
./gradlew runData(Windows 使用gradlew.bat runData)
- 构建:
- 流水线:
- 贴图切片:
src/main/resources/buildassets.sh(Windows 使用buildassets.ps1,依赖 Pillow),构建前自动生成 UI/物品/方块贴图切片。 - 数据生成:datagen 产物在打包前自动合并到构建资源目录,无需手工维护
generatedJSON。
- 贴图切片:
src/main/java/org/creepebucket/programmable_magic
├─ spells/ # 法术核心:效果/调整/控制/载体/计算、序列执行、费用计算
├─ gui/wand/ # 魔杖界面:法术展示/存储槽位、交互管线
├─ items/ # 物品:法术卡片、魔杖、魔力单元等
├─ mananet/ # 魔力网络:接口与简化网络原型(开发中)
├─ block(+blockentity)/events/ # 方块与交互事件(含早期流程方块)
├─ registries/ # 注册中心(方块/物品/方块实体/菜单/标签/法术)
└─ data/ # 数据生成器(blockstate、模型、客户端 items)
src/main/resources
├─ assets/programmable_magic # 基础资源(语言、手写模型/状态)
├─ build_assets.py|.sh|.json # 贴图切片脚本与配置
└─ pack.mcmeta # 资源包元数据
src/generated/resources # 数据生成输出(构建时自动合并)
- 魔法科技:设备化的法术执行/路由/缓存与输入输出,总线/节点式网络,联动红石与外部能力。
- 法术生态:更多可组合的“载体/控制/计算”模组与素材生产线,形成从开荒到中后期的闭环。
本项目使用 GPL-3.0,详见 LICENSE。