
匠师蓝图
数据驱动的自定义工具注册,用于匠魂2使用JSON,无需Java。
Tinkers' Schema
为 Tinkers' Construct 2 提供数据驱动的工具注册。
Tinkers' Schema 是 Tinkers' Construct 2 的一个附属模组,让你仅使用 JSON 就能添加自定义的近战武器、采掘工具和远程武器。无需 Java 代码,无需编译,无需重构资源包——放入一个配置文件,提供你的模型和纹理,工具就会成为一个功能完整的 Tinkers' 物品。
对于自定义模型和纹理,推荐使用 Resource Loader。
此处提供了一个开箱即用的示例包:Tinkers' Schema - Example Tools。
Tinkers' Schema 本身不会向游戏中添加任何内容。它只提供框架——你需要示例包或自己的 JSON 和资源文件,工具才会出现。
功能特性
- JSON 驱动的注册 —— 每个工具由
config/tinkersschema/tools/中的单个文件定义。 - 一流的 Tinkers' 物品 —— 工具可在工具站和工具锻造台中制作,可修复、可修改,并与现有的 Tinkers' 材料兼容。
- 可配置部件 —— 使用
head、handle、extra、bowlimb、bowstring或任何已注册的属性 ID 来组合任意 Tinkers' 工具部件。支持多个相同类型的部件。 - 可配置属性 —— 伤害、攻击速度、击退、耐久度、挖掘速度和伤害上限均可调整,并具有合理的默认值。
- 固有特性 —— 将任何已注册的特性(例如
splintering、beheading)附加到工具上。 - AOE 范围 —— 采掘工具可以定义自己的范围效果尺寸。
- 自定义 GUI 布局 —— 九宫格槽位预设(
topleft、center、bottomright)或精确像素坐标("12,62")。 - 站点路由 —— 在工具站中制作,或限制为仅工具锻造台。
- 零副作用 —— 没有配置文件意味着对你的游戏没有任何更改。
当前范围
| 工具类型 | 基类 | 用途 |
|---|---|---|
sword |
SwordCore |
近战武器 |
harvest |
AoeToolCore |
具有 AOE 挖掘的采掘工具 |
bow |
BowCore |
使用箭的远程武器 |
需求
- Minecraft 1.12.2
- Forge
- Tinkers' Construct 2
- Mantle
- Resource Loader (推荐用于加载自定义模型和纹理)
快速开始
安装 Tinkers' Schema 及其依赖项。
在
config/tinkersschema/tools/中创建工具定义:
{
"id": "tinkersschema:war_club",
"tooltype": "sword",
"station": "table",
"categories": ["WEAPON"],
"traits": ["splintering"],
"repairParts": [1, 2],
"repairModifiers": { "1": 1.5, "2": 1.5 },
"parts": [
{ "type": "handle", "item": "tconstruct:tool_rod" },
{ "type": "head", "item": "tconstruct:bow_limb" },
{ "type": "head", "item": "tconstruct:bow_limb" }
],
"guiSlots": ["center", "topright", "bottomleft"],
"stats": {
"damagePotential": 0.9,
"attackSpeed": 1.6,
"knockback": 1.1,
"bonusAttack": 0.5,
"attackMultiplier": 1.1,
"durabilityMultiplier": 1.2,
"damageCutoff": 15.0,
"repairModifier": 1.0
}
}
- 通过 Resource Loader 或资源包提供模型和纹理:
resources/tinkersschema/
├── models/item/tools/war_club.tcon.json
├── textures/items/tools/war_club/
│ ├── handle.png
│ ├── limb1.png
│ ├── limb2.png
│ └── limb1_broken.png
└── lang/
├── en_us.lang
└── zh_CN.lang
- 启动游戏。你的工具会出现在工具站和 Tinkers' Construct 创造模式标签页中。
配置参考
必填字段
| 字段 | 描述 |
|---|---|
id |
注册名称,格式为 namespace:path |
tooltype |
sword、harvest 或 bow |
parts |
有序的工具部件列表 |
可选字段
| 字段 | 默认值 | 描述 |
|---|---|---|
station |
"table" |
table(工具站 + 工具锻造台)或 forge(仅工具锻造台) |
categories |
[] |
WEAPON、HARVEST |
traits |
[] |
固有特性 ID |
harvestToolClass |
null |
pickaxe、shovel、axe |
effectiveMaterials |
[] |
AOE 工具的方块材料(ROCK、WOOD 等) |
aoeRange |
[1,1,1] |
采掘工具的 AOE 尺寸 |
repairParts |
[1] |
用于修复的部件索引 |
repairModifiers |
{} |
每个部件索引的修复倍率 |
guiSlots |
preset | 槽位位置(topleft、center、"12,62" 等) |
属性
所有值默认为 Tinkers' Construct 的基准值:
| 属性 | 默认值 | 适用对象 |
|---|---|---|
damagePotential |
1.0 |
全部 |
attackSpeed |
1.6 |
全部 |
knockback |
1.0 |
全部 |
bonusAttack |
0.0 |
全部 |
attackMultiplier |
1.0 |
全部 |
durabilityMultiplier |
1.0 |
全部 |
miningSpeedModifier |
1.0 |
全部 |
damageCutoff |
15.0 |
全部 |
repairModifier |
1.0 |
全部 |
drawSpeedMultiplier |
1.0 |
bow |
rangeMultiplier |
1.0 |
bow |
projectileDamageMultiplier |
1.0 |
bow |
drawMoveSpeed |
null |
bow |
弓属性
bow 工具的附加字段:
| 字段 | 默认值 | 描述 |
|---|---|---|
drawSpeedMultiplier |
1.0 |
基于材料得出的拉弓速度的倍率 |
rangeMultiplier |
1.0 |
基于材料得出的射程的倍率 |
projectileDamageMultiplier |
1.0 |
基于材料得出的弹射物额外伤害的倍率 |
drawMoveSpeed |
null |
拉弓时保留的移动速度。省略则使用原版减速 |
资源
模型和纹理遵循标准资源包布局。将它们放在 .minecraft/resources/tinkersschema/ 中(配合 Resource Loader)或将它们打包为资源包。
- 模型:
models/item/tools/<tool_name>.tcon.json—— 分层工具模型 - 纹理:
textures/items/tools/<tool_name>/<layer>.png—— 灰度,16×16 - 语言:
lang/<locale>.lang—— 键为item.<modid>.<name>.name和.desc
灰度纹理会按照 Tinkers' Construct 自身工具所使用的相同惯例,在渲染时由材料颜色着色。
未来计划
- CraftTweaker/ZenScript 集成
- 弩和弹药(箭、弩箭、投掷物)
- JSON 定义的自定义工具部件
- 稳定的 API 和完整文档
已知限制
- 工具行为(横扫攻击、AOE 逻辑、弓的拉弓机制)继承自 Tinkers' 的基类,无法通过 JSON 重新配置。
- 模型路径绑定到 Tinkers' 的加载惯例:
models/item/tools/<name>.tcon.json。 effectiveMaterials目前仅支持原版方块材料。- 配置更改需要重启游戏(CraftTweaker 1.12.2 不支持
/reload)。
许可证
MIT。基于 ForgeDevEnv(MIT,CleanroomMC)构建。
致谢
- SlimeKnights —— Tinkers' Construct 2
- Lumien231 —— Resource Loader
- CleanroomMC —— ForgeDevEnv
AI 辅助开发。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。