Custom Tool Materials
Artisan Worktables allows you to add and remove tool materials from the mod through the use of .json
files in the config folder.
The tool material definitions are located here:
config/
artisanworktables/
artisanworktables.module.Tools.Materials.Custom.json
artisanworktables.module.Tools.Materials.Generated.json
The artisanworktables.module.Tools.Materials.Generated.json
file is regenerated every time the game is loaded. This will always contain the default values that are shipped with the mod. It is meant for reference only and shouldn't be modified, as it will be overwritten anyway.
The artisanworktables.module.Tools.Materials.Custom.json
is the file you are interested in. This file can be modified to add or remove materials from the mod. Tools are automatically generated from the materials in this file.
Json Format
{
"name": "wood",
"harvestLevel": 0,
"maxUses": 59,
"efficiency": 2.0,
"damage": 0.0,
"enchantability": 15,
"color": "73523e",
"shiny": false,
"ingredient": "ore:plankWood",
"langKey": "material.athenaeum.wood",
"oreDictKey": "artisansToolWood"
}
All the .json
keys should be fairly self explanatory. Some that might not be so obvious are explained below.
ingredient
This is the primary ingredient used in a tool's recipe.
langKey
The lang keys point to entries in a en_us.lang
(or other language) lang file located in a mod's or resource pack's assets
folder.
For example:
"langKey": "material.athenaeum.elementium",
Refers to the entry in the Athenaeum mod's assets/athenaeum/lang
files:
material.athenaeum.elementium=Elementium
You can supply your own lang files using a resource pack or a mod such as Resource Loader.
These lang keys are used when displaying a material's name in-game, like Blacksmith's Elementium Hammer
or Mage's Iron Athame
.
If the material you're adding comes from a mod in the modpack, it is possible that the mod would already have a lang key for the material name that you could use. You could open up the mod's .jar file and dive into the assets/[modname]/lang
folder and inspect those files for a key.
As a last resort, you could simply use the name of the material as the lang key and that would be displayed. For example, using Sand
as the lang key for a sand material would display as Blacksmith's Sand Hammer
or Mage's Sand Athame
. It works, but won't allow for translations.
oreDictKey
All tools generated with this material will be added to the ore dictionary using the oreDictKey
provided.