Tinkers’ Schema
Data-driven registration of custom tools for Tinkers' Construct 2 using JSON, with no Java required.
截图
介绍
Tinkers’ Schema
Data-driven tool registration for Tinkers’ Construct 2.
Tinkers’ Schema is an addon for Tinkers’ Construct 2 that lets you add custom melee weapons, harvest tools, and ranged weapons using only JSON. No Java code, no compilation, no resource pack restructuring — drop a config file, supply your models and textures, and the tool becomes a fully functional Tinkers’ item.
For custom models and textures, Resource Loader is recommended.
A ready-to-use example pack is available here: Tinkers’ Schema – Example Tools.
Tinkers’ Schema by itself adds nothing to the game. It only provides the framework — you need the example pack or your own JSON and resource files for any tool to appear.
Features
- JSON-driven registration — Each tool is defined by a single file in
config/tinkersschema/tools/. - First-class Tinkers’ items — Tools are craftable in the Tool Station and Tool Forge, repairable, modifiable, and compatible with existing Tinkers’ materials.
- Configurable parts — Combine any Tinkers’ tool parts using
head,handle,extra,bowlimb,bowstring, or any registered stat ID. Multiple parts of the same type are supported. - Configurable stats — Damage, attack speed, knockback, durability, mining speed, damage cutoff, and bow handling are all adjustable with sensible defaults.
- Intrinsic traits — Attach any registered trait (e.g.,
splintering,beheading) to a tool, with optional display colors. - AOE range — Harvest tools can define their own area-of-effect dimensions.
- Custom GUI layout — Nine-grid slot presets (
topleft,center,bottomright) or precise pixel coordinates ("12,62"), freely mixed. - Station routing — Craft in the Tool Station, or restrict to the Tool Forge.
- Guidebook entries — Add custom pages to the Tinkers’ Construct book (“Materials and You”) via JSON.
- Zero side effects — No config files means no changes to your game.
Current Scope
| Tool Type | Base Class | Use Case |
| ——— | ———- | ——– |
| sword | SwordCore | Melee weapons |
| harvest | AoeToolCore | Harvest tools with AOE mining |
| bow | BowCore | Ranged weapons using arrows |
Requirements
- Minecraft 1.12.2
- Forge
- Tinkers’ Construct 2
- Mantle
- Resource Loader (recommended for loading custom models and textures)
Quick Start
- Install Tinkers’ Schema and its dependencies.
- Create a tool definition in
config/tinkersschema/tools/:
{
"id": "tinkersschema:war_club",
"tooltype": "sword",
"station": "table",
"categories": ["WEAPON"],
"traits": ["splintering"],
"traitColors": { "splintering": "yellow" },
"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
}
}
- Provide the model and textures via Resource Loader or a resource pack:
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
- Launch the game. Your tool appears in the Tool Station and the Tinkers’ Construct creative tab.
Configuration Reference
Required Fields
| Field | Description |
| —– | ———– |
| id | Registry name in namespace:path form |
| tooltype | sword, harvest, or bow |
| parts | Ordered list of tool parts |
Optional Fields
| Field | Default | Description |
| —– | ——- | ———– |
| station | "table" | table (Tool Station + Tool Forge) or forge (Tool Forge only) |
| categories | [] | WEAPON, HARVEST |
| traits | [] | Intrinsic trait IDs |
| traitColors | {} | Display color per trait (e.g., {"splintering": "yellow"}) |
| harvestToolClass | null | pickaxe, shovel, axe |
| effectiveMaterials | [] | Block materials for AOE tools (ROCK, WOOD, etc.) |
| aoeRange | [1,1,1] | AOE dimensions for harvest tools |
| repairParts | [1] | Part indices used for repair |
| repairModifiers | {} | Repair multiplier per part index |
| guiSlots | preset | Slot positions (topleft, center, "12,62", etc.) |
Stats
All values default to Tinkers’ Construct baselines:
| Stat | Default | Applies To |
| —- | ——- | ———- |
| damagePotential | 1.0 | All |
| attackSpeed | 1.6 | All |
| knockback | 1.0 | All |
| bonusAttack | 0.0 | All |
| attackMultiplier | 1.0 | All |
| durabilityMultiplier | 1.0 | All |
| miningSpeedModifier | 1.0 | All |
| damageCutoff | 15.0 | All |
| repairModifier | 1.0 | All |
Bow Stats
Additional fields for bow tools:
| Field | Default | Description |
| —– | ——- | ———– |
| drawSpeedMultiplier | 1.0 | Multiplier on the material-derived draw speed |
| rangeMultiplier | 1.0 | Multiplier on the material-derived range |
| bonusDamageMultiplier | 1.0 | Multiplier on the material-derived bonus damage |
| baseProjectileDamage | 0.0 | Inherent damage, scaled by draw progress |
| projectileDamageModifier | 1.0 | Final damage modifier |
| baseInaccuracy | 0.0 | Shot spread. Higher is less accurate |
| projectileSpeedMultiplier | 1.0 | Projectile velocity multiplier |
| drawMoveSpeed | null | Movement speed retained while drawing. Omit for vanilla slowdown |
Assets
Models and textures follow the standard resource pack layout. Place them in .minecraft/resources/tinkersschema/ (with Resource Loader) or package them as a resource pack.
- Models:
models/item/tools/<tool_name>.tcon.json— layered tool model - Textures:
textures/items/tools/<tool_name>/<layer>.png— grayscale, 16×16 - Language:
lang/<locale>.lang— keysitem.<modid>.<name>.nameand.desc - Guidebook:
book/index.json,book/sections/*.json,book/<locale>/...— Tinkers’ Construct book pages
Grayscale textures are tinted by the material color at render time, following the same convention used by Tinkers’ Construct’s own tools.
Future Plans
- CraftTweaker/ZenScript integration
- Crossbows and ammunition (arrows, bolts, throwables)
- JSON-defined custom tool parts
- Stable API and full documentation
Known Limitations
- Tool behavior (sweep attack, AOE logic, bow draw mechanics) is inherited from Tinkers’ base classes and cannot be reconfigured through JSON.
- Model paths are bound to Tinkers’ loading convention:
models/item/tools/<name>.tcon.json. effectiveMaterialscurrently supports vanilla block materials only.- Config changes require a game restart (CraftTweaker 1.12.2 does not support
/reload).
License
MIT. Built on ForgeDevEnv (MIT, CleanroomMC).
Credits
- SlimeKnights — Tinkers’ Construct 2
- Lumien231 — Resource Loader
- CleanroomMC — ForgeDevEnv
AI-assisted development.
常见问题
Tinkers’ Schema 支持哪些 Minecraft 版本?
Tinkers’ Schema 支持 Minecraft Java 版 1.12.2,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Tinkers’ Schema 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
moos2333 的其他作品
查看全部 →Casual Tinkering
A mod that adds some new tools for Tinkers' Construct.
Casual Tinkering
A simple mod that adds tools for Tinkers' Construct
Casual Tinkering
A simple mod that adds tools for Tinkers' Construct
Tinkers’ Gadgets
A lightweight Tinkers' Construct addon featuring tools, new materials, and exclusive projectile traits.
评论
登录后评论和评分