-
Notifications
You must be signed in to change notification settings - Fork 16
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\material
config 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": "string"
- [* Required]
Used for all registry naming conventions, note: this must be a unique identifier for each material.
example:
"id": "iridium"
"source": "string"
- [* Required]
Identifies whether the material added is
vanilla
, ormodded
. This field affects recipes, and other data generation.example:
"source": "modded"
"localizedName": "string"
- [* Required]
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": [ "string" ]
- [* Required]
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": boolean
This field only affects
"source": "vanilla"
materials, and if set totrue
, it will disable the ore generation of these materials.example:
"disableDefaultOre": false
"materialType": "string"
- [* Required]
Identifies whether the material is
metal
,gem
, oralloy
based.example:
"materialType": "metal"
"harvestLevel": integer
Determines the harvest level requirement of the appropriate tool. Only Vanilla tiers are accepted, and they are the following:
0: Wood/Gold
1: Stone
2: Iron
3: Diamond
4: Netherite
example:
"harvestLevel": 3
"hasParticles": boolean
If 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": boolean
If 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": integer
Determines the efficiency of the Material as a burnable fuel. The default should be
1600
which is similar to Vanilla Coal, and can smelt 8 items.example:
"burnTime": 3600
[Required if the Material Type is set to gem
, and has ore
as a Processed Type]
"drop": "string"
If the material has no
gem
as a processed type, but it is agem
material type, this field can be used to determine the dropped item.example:
"drop": "minecraft:lapis_lazuli"
"min": integer
Determines the minimum number of drops when mining the ore.
example:
"min": 4
"max": integer
Determines the maximum number of drops when mining the ore.
example:
"max": 9
[All colors should be Hexadecimal value without #]
"fluidColor": "string"
Used to tint the Fluid and Fluid Bucket of the Material.
example:
"fluidColor": "0099ff"
"particlesColor": "string"
Used for the particles color of the Material Ores if
hasParticles
is set totrue
.example:
"particlesColor": "c5dbed"
"materialColor": "string"
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.
Crushing recipe is generated when the Material contains ore
and crushed_ore
processed types.
"firstOutputCount": integer
Determines the count of the item created for the 1st output.
example:
"firstOutputCount": 2
"secondOutputCount": integer
Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 4
"secondOutputChance": float
Determines 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": "string"
Determines the item created for the 2nd output.
example:
"secondOutput": "minecraft:apple"
"secondOutputCount": integer
Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 3
"secondOutputChance": float
Determines 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": integer
Determines the count of the item created for the 1st output.
example:
"firstOutputCount": 2
"firstOutputChance": float
Determines the chance of the item created for the 1st output.
example:
"firstOutputChance": 0.3
"secondOutput": "string"
Determines the item created for the 2nd output.
example:
"secondOutput": "minecraft:ghast_tear"
"secondOutputCount": integer
Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 6
"secondOutputChance": float
Determines 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": integer
Determines the count of the item created for the 1st output.
example:
"firstOutputCount": 4
"firstOutputChance": float
Determines the chance of the item created for the 1st output.
example:
"firstOutputChance": 0.27
"secondOutput": "string"
Determines the item created for the 2nd output.
example:
"secondOutput": "minecraft:ender_pearl"
"secondOutputCount": integer
Determines the count of the item created for the 2nd output.
example:
"secondOutputCount": 5
"secondOutputChance": float
Determines 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": "string"
Determines the item used for the 1st input for an Alloy.
example:
"firstInput": "minecraft:gold_ingot"
"firstInputCount": integer
Determines the count of the item used for the 1st input for an Alloy.
example:
"firstInputCount": 1
"secondInput": "string"
Determines the item used for the 2nd input for an Alloy.
example:
"secondInput": "minecraft:iron_nugget"
"secondInputCount": integer
Determines the count of the item used for the 2nd input for an Alloy.
example:
"secondInputCount": 5
"thirdInput": "string"
Determines the item used for the 3rd input for an Alloy.
example:
"thirdInput": "emendatusenigmatica:iridium_ingot"
"thirdInputCount": integer
Determines 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.
storage_block
ingot
gem
ore
raw
nugget
dust
plate
gear
rod
fluid
slurry
crystal
shard
clump
dirty_dust
fragment
gravel
crushed_ore