Materials
EE does not come with any pre-configured materials. Therefore creation of any materials will need to be done entirely by the modpack developer.
To create a new material:
- Locate the
emendatusenigmatica\materialconfig folder inside the root config folder. - Create a *.json file inside this folder for each material you wish to add to the game.
The file you have just created represents a Material Data Object.
Below you will find a more detailed break down of a Material Data Object showing what is required for each material and giving a brief explanation of each module and data field. All Data Generation will be done by the mod the next time you run your game.
An example of a complete material file can be found here.
Note: The mod is capable of using the material color data in this file to create tint-based textures for your materials, however should you prefer a more artistic option you can provide your own textures through a custom Resource Pack. More information on how to setup your own EE Resource Pack and a set of available textures and texture templates are available here. If no texture is provided via a resource pack the mod will automatically generate textures the next time the game is run.
"id": ""* REQUIRED FIELD
Used for all registry naming conventions, note: this must be a unique identifier for each material.
example:
"id": "iridium"
"source": ""* REQUIRED FIELD
Identifies whether the material added is
vanilla, ormodded. This field affects recipes, and other data generation.example:
"source": "modded"
"localizedName": ""* REQUIRED FIELD
Used for the generation of the lang (en_us) entries of the material. This is the name you will see in game and in JEI
example:
"localizedName": "Iridium"
"processedTypes": [ ]* REQUIRED FIELD
A list object which contains a list of strings of supported types. A complete list of supported Processed Types can be found here.
example:
"processedTypes": ["storage_block", "ingot", "ore", "gear"]
"disableDefaultOre": trueThis field only affects
"source": "vanilla"materials, and if set totrue, it will disable the ore generation of these materials.example:
"disableDefaultOre": false
"properties": { }This json object houses the Material Properties module.
"oreDrop": { }This json object houses the Material Ore Drop module.
"colors": { }This json object houses the Material Color module.
"compat": { }This json object houses the Material Compat module.
"materialType": ""* REQUIRED FIELD
Identifies whether the material is
metal,gem, oralloybased.example:
"materialType": "metal"
"harvestLevel": 0Determines the harvest level requirement of the appropriate tool. Only Vanilla tiers are accepted, and they are the following:
0: Wood/Gold1: Stone2: Iron3: Diamond4: Netheriteexample:
"harvestLevel": 3
"hasParticles": trueIf set to
true, the Ore block of this material will have particles. You can set your particles color in the Material Color module.example:
"hasParticles": true
"isBurnable": trueIf set to
true, all Processed Types of this material will have a burn time associated with them, marking them as a valid furnace fuel.example:
"isBurnable": true
"burnTime": 0Determines the efficiency of the Material as a burnable fuel. The default should be
1600which is similar to Vanilla Coal, and can smelt 8 items.example:
"burnTime": 3600
"blockRecipeType": 0If the material has both
gemandstorage_blockas processed types, this field can be used to determine whether the block recipe is 9x or 4x gems per block.example:
"blockRecipeType": 4
[Required if the Material has ore, but no gem or raw as a Processed Type, or if you want to specify a Min/Max drop count]
"drop": ""If the material has no
gemas a processed type, but it is agemmaterial type, this field can be used to determine the dropped item.example:
"drop": "minecraft:lapis_lazuli"
"min": 0Determines the minimum number of drops when mining the ore.
example:
"min": 4
"max": 0Determines the maximum number of drops when mining the ore.
example:
"max": 9
[All colors should be Hexadecimal value without #]
"fluidColor": ""Used to tint the Fluid and Fluid Bucket of the Material.
example:
"fluidColor": "0099ff"
"particlesColor": ""Used for the particles color of the Material Ores if
hasParticlesis set totrue.example:
"particlesColor": "c5dbed"
"materialColor": ""Used to tint textures if no actual texture is provided through a Resource Pack.
example:
"materialColor": "b5a642"
While EE comes with compat integration for many mod recipes, some recipes require additional information such as the secondary outputs of Thermal and Create. The below fields are used to determine these values.
The first step is to setup the mod compat, and recipe type objects as the following "create": { "crushing": { ... }, "splashing": { ... } } for Create, or "thermal": { "induction": { ... } } for Thermal Expansion.
Based on the mod/recipe type objects you setup, the rest of the fields can be populated with the below information;
Crushing recipe is generated when the Material contains ore and crushed_ore processed types.
"firstOutputCount": 0Determines the count of the item created for the 1st output.
example:
"firstOutputCount": 2
"secondOutputCount": 0Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 4
"secondOutputChance": 0.0Determines the chance of the item created for the 2nd output.
example:
"secondOutputCount": 0.25
Splashing recipe is generated when the Material contains crushed_ore and nugget processed types.
"secondOutput": ""Determines the item created for the 2nd output.
example:
"secondOutput": "minecraft:apple"
"secondOutputCount": 0Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 3
"secondOutputChance": 0.0Determines the chance of the item created for the 2nd output.
example:
"secondOutputChance": 0.35
Pulverizer recipe is generated when the Material contains ingot and dust, gem and dust, ore and dust, or ore and gem processed types.
"firstOutputCount": 0Determines the count of the item created for the 1st output.
example:
"firstOutputCount": 2
"firstOutputChance": 0.0Determines the chance of the item created for the 1st output.
example:
"firstOutputChance": 0.3
"secondOutput": ""Determines the item created for the 2nd output.
example:
"secondOutput": "minecraft:ghast_tear"
"secondOutputCount": 0Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 6
"secondOutputChance": 0.0Determines the chance of the item created for the 2nd output.
example:
"secondOutputChance": 0.45
Induction Smelter recipe is generated when the Material contains an dust and ingot, ore and ingot, ore and gem processed types.
"firstOutputCount": 0Determines the count of the item created for the 1st output.
example:
"firstOutputCount": 4
"firstOutputChance": 0.0Determines the chance of the item created for the 1st output.
example:
"firstOutputChance": 0.27
"secondOutput": ""Determines the item created for the 2nd output.
example:
"secondOutput": "minecraft:ender_pearl"
"secondOutputCount": 0Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 5
"secondOutputChance": 0.0Determines the chance of the item created for the 2nd output.
example:
"secondOutputChance": 0.32
The creation of Alloy induction recipes is also supported, and it is based on the input of items in this section, and if the materialType is set to alloy.
"firstInput": ""Determines the item used for the 1st input for an Alloy.
example:
"firstInput": "minecraft:gold_ingot"
"firstInputCount": 0Determines the count of the item used for the 1st input for an Alloy.
example:
"firstInputCount": 1
"secondInput": ""Determines the item used for the 2nd input for an Alloy.
example:
"secondInput": "minecraft:iron_nugget"
"secondInputCount": 0Determines the count of the item used for the 2nd input for an Alloy.
example:
"secondInputCount": 5
"thirdInput": ""Determines the item used for the 3rd input for an Alloy.
example:
"thirdInput": "emendatusenigmatica:iridium_ingot"
"thirdInputCount": 0Determines the count of the item used for the 3rd input for an Alloy.
example:
"thirdInputCount": 2
Note: If a mod you want is missing, you can either request it on Github, or create your own recipe through other means like KubeJS for example.
- Ars Nouveau: Crushing Spell recipes.
- Blood Magic: Ore 2x/3x recipes.
- Create: Crushing and Washing recipes.
- Mekanism: Ore 2x/3x/4x/5x recipes.
- Occultism: Spirit Crushing recipes.
- Thermal: Pulverizer and Induction Smelter recipes.
General: storage_block
ingot
gem
ore
raw
nugget
dust
plate
gear
rod
fluid
Mekanism: slurry
crystal
shard
clump
dirty_dust
Blood Magic: fragment
gravel
Create: crushed_ore