Zen Toolforge will start downloading in 5 seconds...


Join over 10 million players who use the CurseForge app!

Download App Now


Zen Toolforge adds a few minor utilities for working with Tinker's Construct (and Construct's Armory) in CraftTweaker. It does nothing unless CraftTweaker scripts make use of it. To install it, you must install CraftTweaker, ModTweaker, and Tinker's Construct (plus their dependencies in turn). Construct's Armory is supported if it's installed, but it's not required.

The mod includes two significant functions and three minor ones. The two significant ones let CraftTweaker build a tool from a tool definition and a list of materials, and deconstruct tools into their component parts (not including modifier items!). Those are why this mod is called "Zen Toolforge".

I built the mod to fill a need in my own scripting: it allows me to write a script that makes mobs armed with Tinker's Construct weapons in random materials, and armoured the same way with Construct's Armory armour, and set them to drop parts rather than their full armour or tools on defeat.

Some bonus functions let one get an ITICMaterial from an identifier string (dynamically, unlike a bracket handler) and test whether a given item has a trait or modifier.

There's currently a caveat: if you use this in a script that runs before tool materials are loaded, tools may spawn without traits (because the tool materials can't supply their own traits at that point). As a workaround, I recommend using the CraftTweaker updateTag() method to manually apply the trait array NBT. Tools affected by this problem should fix themselves once modified on a Tool Station or Tool Forge.

All the current functions are in the "mods.zentoolforge.Toolforge" module; it should be imported before use. While more documentation is available in the "Pages" section, a list of function signatures follows:

  • buildTool(IItemDefinition, ITICMaterial...) : IItemStack
  • deconstructTool(IItemStack) : IItemStack[]
  • getMaterialFromID(string) : ITICMaterial
  • hasTrait(IItemStack, string) : bool
  • hasModifier(IItemStack, string) : bool

Feel free to request additional methods or give feedback.

In case it's not obvious from the license: you may freely use this mod in modpacks.