Community listing page, reviews here may not be monitored by the author.
Tinkers' Schema
No reviews yet
Data-driven registration of custom tools for Tinkers' Construct 2 using JSON, with no Java required.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
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, and damage cutoff are all adjustable with sensible defaults.
- Intrinsic traits — Attach any registered trait (e.g.,
splintering,beheading) to a tool. - 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"). - Station routing — Craft in the Tool Station, or restrict to the Tool Forge.
- 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"],
"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 |
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 |
drawSpeedMultiplier |
1.0 |
bow |
rangeMultiplier |
1.0 |
bow |
projectileDamageMultiplier |
1.0 |
bow |
drawMoveSpeed |
null |
bow |
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 |
projectileDamageMultiplier |
1.0 |
Multiplier on the material-derived projectile bonus damage |
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
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.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources