Materials
EE does not come with any pre-configured materials. Therefore the 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 breakdown 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 set up 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.
Material JSON file content:
Material Core module:
Used for all registry naming conventions, note: this must be a unique identifier for each material.
Identifies whether the material added is
vanilla
, ormodded
. This field affects recipes, and other data generation.
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.
A list object which contains a list of strings of supported types. A complete list of supported Processed Types can be found here.
This field only affects
"source": "vanilla"
materials, and if set totrue
, it will disable the ore generation of these materials. This includes the standard Vanilla Ores and the large Ore Veins of Copper and Iron.
This JSON object houses the Material Properties module.
This JSON object houses the Material Ore Drop module.
This JSON object houses the Material Tools module.
This JSON object houses the Material Armor module.
This JSON object houses the Material Color module.
This JSON object houses the Material Gas module.
This JSON object houses the Material Compat module.
Material Properties module:
Identifies whether the material is
metal
,gem
, oralloy
based.
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
If set to
true
, the Ore block of this material will have particles.You can set your particles color in the Material Color module.
If set to
true
, the Storage Block of this material will undergo 4 stages of oxidization when exposed to air. The oxidization can be scrapped off with an axe, or waxed with a Honeycomb similar to Vanilla Copper Blocks.You can set your oxidization color in the Material Color module.
If set to
true
, the Ore block of this material will glow in the dark.
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.
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.
If the material has both
gem
andstorage_block
as processed types, this field can be used to determine whether the block recipe is 9x or 4x gems per block.
If the material has
gem
as a processed type, and is a tint-based material, you can specify a texture to be used out of 10 available templates.
Material Ore Drop module:
[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]
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.
Determines the minimum number of drops when mining the ore.
Determines the maximum number of drops when mining the ore.
Forces the drop to use a Uniformed Count similar to Vanilla Redstone instead of a standard range like Vanilla Lapis Lazuli.
If left undefined it defaults to
false
Material Tools module:
[Required if the Material has sword
, pickaxe
, axe
, shovel
, hoe
, or paxel
as a Processed Type]
Determines the Base Attack Damage of all tools.
Determines the Harvest Level of all tools. This mainly affects Pickaxes and Paxels against Stone-based blocks.
Determines the Enchantability factor of all tools.
Determines the Base Efficiency of all tools.
a TOOL object should be created for each tool type.
Currently supported tools are: "sword", "pickaxe", "axe", "shovel", "hoe", and "paxel"
"damage": float
- Determines the Damage Modifier of the tool.Formula: Base Damage + Damage Modifier + 1 (unarmed damage)
"speed": float
- Determines the Speed Modifier of the tool.Formula: Base Efficiency + Speed Modifier
"durability": integer
- Determines the Durability of the tool.
Material Armor module:
[Required if the Material has helmet
, chestplate
, leggings
, boots
, or shield
as a Processed Type]
Determines whether wearing a full set of armor should provide the wearer with a set bonus.
This JSON object houses a list of effects which activates once a full set is worn.
The list of effects can be a mix of both Vanilla and Modded effects.
"effect": string
- Determines the effect of the set bonus.
"level": integer
- Determines the level of the effect.
"showParticles": boolean
- Determines whether the effect spawns particles around the player when the set bonus is active.
"showIcon": boolean
- Determines whether the effect icon is visible in the HUD when the set bonus in active.
Determines the name of the set.
Provides the set a bit of a flavor text, describing the set bonus.
Determines the Base Armor Toughness value of all armor pieces.
Determines the Enchantability factor of all armor pieces.
Determines the Knockback Resistance value of all armor pieces.
a ARMOR object should be created for each armor piece.
Currently supported armor pieces are: "helmet", "chestplate", "leggings", "boots", and "shield"
"protection": integer
- Determines the Protection of the armor piece.
"durability": integer
- Determines the Durability of the armor piece.
Material Color module:
[All colors should be Hexadecimal values without #]
Used to tint the Fluid and Fluid Bucket of the Material.
Used for the particles of the Material Ores if
hasParticles
is set totrue
.
Used for the oxidization effect on the Storage Blocks if
hasOxidization
is set totrue
.
Used to tint textures if no actual texture is provided through a Resource Pack.
Used to tint the
infuse_type
,slurry
andgas
of the Material.NOTE: This is only applicable if you are also using the Mekanism Addon
Material Gas module:
[Required if the material has gas
as a processed type]
Determines whether this gas can be used as a Fuel.
Determines the burn ticks of this Fuel.
Determines the amount of energy produced per tick of this Fuel.
Determines whether this gas is Radioactive.
Determines the Radioactivity of this gas in Sv/h.
Determines whether this gas can be used as a Coolant.
Determines the type of the Coolant whether it is
cooled
orheated
.
Determines the Thermal Enthalpy of this Coolant. Thermal Enthalpy defines how much energy one mB of the chemical can store.
Determines the Conductivity of this Coolant. 'Conductivity' defines the proportion of a reactor's available heat that can be used at an instant to convert this coolant's cool variant to its heated variant.
Material Compat module:
This section is used to determine whether this specific material should/shouldn't have default modded compat recipes.
Some recipes require additional information (i.e. secondary output, chance of output ..etc.) which can be specified in a custom JSON file for each material. Information on how to set up these files can be found in the Compat section.
By default, all compat recipes generation is set to true
; to disable the generation of a specific mod you should simply provide the id
and the set the boolean value to false
.
Note: If a mod you want EE to compat with is not included in the list below, you can either request it on Github, or create your own recipe through other means like KubeJS for example.
Below is a list of all supported mods, which will be updated whenever a new mod compat is added;
Mekanism:
Thermal Expansion:
Create:
Ars Nouveau:
Occultism:
List of currently available Processed Types:
General: storage_block
ingot
gem
ore
raw
nugget
dust
plate
gear
rod
fluid
cluster
sword
pickaxe
axe
shovel
hoe
paxel
helmet
chestplate
leggings
boots
shield
Mekanism: infuse_type
gas
slurry
crystal
shard
clump
dirty_dust
Create: crushed_ore
Last updated