You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Materials are in-game items or fluids. They can be dusts, ingots, gems, fluids and all their derivatives.
7
-
To make a new material, write an `event.create()` call in the registering function, like in the examples.
8
-
Write inside the parentheses the name of the material inside `''` or `""`.
9
-
(**NOTE**: to add a material that is present on the periodic table, but doesn't have any in-game items/fluids, look below for how to do it)
7
+
!!! note
8
+
To add a material that is present on the periodic table, but doesn't have any in-game items/fluids, look at the [material modification page](./Modifying-Existing-Materials.md).
10
9
11
10
You can change the properties of the material by adding any combination of the following calls:
12
11
13
12
-`.ingot()` will make the material have both an ingot and dust form.
14
13
-`.dust()` will make the material have a dust form. Don't use this together with `.ingot()`.
15
-
-`.gem()` will make the material have both a gem form and a dust form. Don't use those together with `.dust()` or `.ingot()`
14
+
-`.gem()` will make the material have both a gem form and a dust form. Don't use those together with `.dust()` or `.ingot()`.
16
15
-`.liquid()` will make the material have a liquid (fluid) form with liquid properties.
16
+
-`.block()` will make the material have a placeable (block) fluid form. Requires `.liquid()`.
17
17
-`.gas()` will make the material have a gas (fluid) form with gas properties.
18
18
-`.plasma()` will make the material have a plasma (fluid) form with plasma properties.
19
19
-`.polymer()` will make the material have a dust form with polymer properties.
20
+
-`.ore()` will create an ore from the material.
21
+
- Optionally you can add any of these sets of parameters:
22
+
1. `boolean isEmissive` -> `true` for emissive textures
23
+
2. `int oreMultiplier, int byproductMultiplier` -> how many crushed ores will be given from one raw ore and how many byproducts dusts will be given throughout the ore processing
24
+
3. `int oreMultiplier, int byproductMultiplier, boolean isEmissive` -> see previous points
20
25
-`.burnTime(int burnTime)` will turn the material into a furnace fuel.
21
26
-`.fluidBurnTime(int burnTime)` defines how long the fluid of the material will burn.
22
27
-`.components(component1, component2, ...)` describes the composition. The components are a list of elements of the following form: `'Kx material_name'`, where `K` is a positive integer.
28
+
-`.element(element)` is similar to `.components()`, but is used when the material represents an element.
23
29
-`.iconSet(set)` gives the material an icon set.
24
-
-`.color(int colorCode)` gives the material a color. The color must be provided as a hex value in the following form: `0xNNNNNN`, where `N` are digits.
30
+
-`.color(int colorCode)` gives the material a color. The color must be provided as a hex value in the following form: `0xRRGGBB`.
25
31
-`.secondaryColor(int colorCode)` gives the material a secondary color. If this is not being called, the secondary value will default to white(0xffffff).
26
-
- The secondary color is the overlay over the primary color on the material. This can be seen in the dust of a material, as the secondary color outline is visible. Rotors are another solid example.
27
-
-`.flags(flag1, flag2, ...)` can be used to select certain properties of the material, like generating gears, or disabling decomposition.
28
-
Examples of use can be found in [Material Flags](https://gregtechceu.github.io/GregTech-Modern/Modpacks/Materials-and-Elements/Material-Flags/)
29
-
-`.element(element)` -> similar to `.components()`, but is used when the material represents an element.
30
-
-`.rotorStats(/* int */ power, /* int */ efficiency, /* float */ damage, /* int */ durability)` -> this will create a turbine rotor from this material
31
-
1. Power is the EU/t and fuel consumption multiplier the turbine gets when equipped with this rotor.
32
-
This output varies depending on speed of turbine and rotor holder.
33
-
2. Efficiency is how well it handles fuel.
34
-
A smaller number will make it consume more fuel while a bigger number means it uses less fuel.
35
-
Actual efficiency: rotorEfficiency * holder Efficiency / 100
36
-
3. Damage is the amount of damage that happens to the player when opening the ui of a running turbine's rotor holder.
-`.blastTemp()` is meant to be paired together with `.ingot()`. Will generate a EBF recipe (and an ABS recipe) based on the parameters you give it:
42
-
1. temperature -> dictates what coil tier it will require (check the coil tooltips for their max temperature).
43
-
If the temperature is below 1000, it will also generate a PBF recipe.
44
-
If temperature is above 1750, a hot ingot will be generated, this requiring a Vacuum Freezer.
45
-
2. (optional) gas tier -> can be `null` for none, `'low'` for nitrogen, `'mid'` for helium, `'high'` for argon, `'higher'` for neon or `'highest'` for krypton.
46
-
3. (optional) EU per tick -> the recipe voltage
47
-
4. (optional) duration in ticks -> how long the recipe should take
48
-
-`.ore()` will create an ore from the material.
49
-
- Optionally you can add any of these sets of parameters:
50
-
1. is emissive -> `true` for emissive textures
51
-
2. ore multiplier and byproduct multiplier -> how many crushed ores will be given from one raw ore and how many byproducts dusts will be given throughout the ore processing
52
-
3. ore multiplier, byproduct multiplier, is emissive
53
-
-`.washedIn()`
54
-
-`.separatedIn()`
55
-
-`.separatedInto()`
56
-
-`.oreSmeltInto()`
57
-
-`.polarizesInto()`
58
-
-`.arcSmeltInto()`
59
-
-`.maceratesInto()`
60
-
-`.ingotSmeltInto()`
61
-
-`.addOreByproducts()`
62
-
-`.cableProperties()` generates wires and cables(if material is not a superconductor). The following parameter sets can be given:
63
-
1. Voltage, amperage, loss per block
64
-
2. Voltage, amperage, loss per block, is superconductor -> for a super conductor, set loss as 0 and is super conductor as true
65
-
3. Voltage, amperage, loss per block, is super conductor, critical temperature
66
-
-`.fluidPipeProperties()`
67
-
-`.itemPipeProperties()`
68
-
-`.addDefaultEnchant()`
32
+
- The secondary color is the overlay over the primary color on the material. This can be seen in the dust of a material, as the secondary color outline is visible. Rotors are another solid example.
33
+
-`.addDefaultEnchant(string EnchantName, int level)` gives the material a default enchant.
69
34
70
35
!!! tip "Harvest Level & Burn Time"
71
36
For `.ingot()`, `.dust()` and `.gem()`, optionally you can put inside the parentheses any of these sets of parameters:
72
37
73
38
1. harvest level (e.g. `.ingot(2)` will make the material have the harvest level of iron tools)
74
39
2. harvest level, burn time (e.g. `ingot(2, 2000)` will make the material have the harvest level of iron tools and will burn in furnaces as fuel for 2000 ticks or 100 seconds).
75
40
76
-
!!! tip "Disabling Decomposition"
77
-
Depending on the composition, GT will autogenerate an electrolyzer or centrifuge recipe to decompose the material. You can block that by adding the disable decomposition flag. `DISABLE_DECOMPOSITION`
78
-
79
41
!!! tip "Choosing EU/t"
80
42
GT has some builtin constants to ease choosing the required EU/t:
43
+
81
44
- `GTValues.V` for a full amp of power at the selected tier
45
+
82
46
- `GTValues.VA` for a full amp, adjusted for cable loss
47
+
83
48
- `GTValues.VH` for half an amp
49
+
84
50
- `GTValues.VHA` for half an amp, adjusted for cable loss
85
51
86
52
These values are arrays containing the respective EU/t values for each tier.
@@ -91,51 +57,117 @@ You can change the properties of the material by adding any combination of the f
91
57
```
92
58
93
59
??? tip "Color Pickers"
94
-
To chose a color for your material, you can checkout https://www.w3schools.com/colors/colors_picker.asp
60
+
To chose a color for your material, you can checkout the [color picker](https://www.w3schools.com/colors/colors_picker.asp).
95
61
After you select a color with the above tool, copy the 6 digits that follow the # under the color preview.
0 commit comments