Skip to content

Commit 0605357

Browse files
authored
make MetaItem, MetaTileEntity, and Material IDs configurable (#362)
1 parent 348a64f commit 0605357

16 files changed

Lines changed: 194 additions & 87 deletions

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# 2.7.6
2+
- Make MetaItem, MetaTileEntity, and Material IDs configurable via cfg
3+
- Each category uses a configurable start ID; individual IDs are calculated as offsets
4+
- Default values match the previous hardcoded values, so no impact on existing worlds
5+
6+
* * *
7+
18
# 2.7.5
29
- Re: Fix DEDA logic.
310

src/main/java/com/github/gtexpert/core/api/unification/material/GTEFirstDegreeMaterials.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,26 @@
1111
import gregtech.api.unification.material.Material;
1212
import gregtech.api.unification.material.properties.BlastProperty.GasTier;
1313

14+
import com.github.gtexpert.core.common.GTEConfigHolder;
15+
1416
public class GTEFirstDegreeMaterials {
1517

1618
/**
17-
* 24001 - 24100
19+
* Default: 24001 - 24100
1820
*/
1921
public static void init() {
20-
// Artificial Bone 24001
21-
ArtificialBone = new Material.Builder(24001, gteId("artificial_bone"))
22+
int startId = GTEConfigHolder.startIDs.coreMaterial;
23+
24+
// Artificial Bone
25+
ArtificialBone = new Material.Builder(startId, gteId("artificial_bone"))
2226
.dust(1)
2327
.color(0xFAFAFA)
2428
.flags(FORCE_GENERATE_BLOCK, MORTAR_GRINDABLE, EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES)
2529
.components(Calcium, 10, Phosphate, 6, Hydrogen, 2, Oxygen, 2)
2630
.build();
2731

2832
// NM_HEA_NPs
29-
NM_HEA_NPs = new Material.Builder(24002, gteId("nm_hea_nps"))
33+
NM_HEA_NPs = new Material.Builder(startId + 1, gteId("nm_hea_nps"))
3034
.ingot()
3135
.liquid(new FluidBuilder().temperature(1200))
3236
.color(0xa90000).iconSet(METALLIC)
@@ -41,7 +45,7 @@ public static void init() {
4145
.build();
4246

4347
// Naquadah Rocket Fuel
44-
NaquadahRocketFuel = new Material.Builder(24003, gteId("naquadah_rocket_fuel"))
48+
NaquadahRocketFuel = new Material.Builder(startId + 2, gteId("naquadah_rocket_fuel"))
4549
.liquid(new FluidBuilder().temperature(1200))
4650
.color(0x2E4C00)
4751
.flags(NO_WORKING)

src/main/java/com/github/gtexpert/core/api/unification/material/ingredients/AEFirstDegreeMaterials.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,21 @@
1414
import gregtech.api.unification.ore.OrePrefix;
1515

1616
import com.github.gtexpert.core.api.GTEValues;
17+
import com.github.gtexpert.core.integration.ae.AEConfigHolder;
1718

1819
public class AEFirstDegreeMaterials {
1920

2021
/**
21-
* 24151 - 24175
22+
* Default: 24151 - 24175
2223
*/
2324
public static void init() {
25+
int startId = AEConfigHolder.materialStartId;
26+
2427
// Certus Quartz
2528
OrePrefix.block.modifyMaterialAmount(CertusQuartz, 4);
2629

2730
// Charged Certus Quartz
28-
ChargedCertusQuartz = new Material.Builder(24151, gteId("charged_certus_quartz"))
31+
ChargedCertusQuartz = new Material.Builder(startId, gteId("charged_certus_quartz"))
2932
.dust()
3033
.liquid(new FluidBuilder().temperature(1200))
3134
.color(0xCFDAFF).iconSet(MaterialIconSet.CERTUS)
@@ -35,7 +38,7 @@ public static void init() {
3538
OrePrefix.block.modifyMaterialAmount(ChargedCertusQuartz, 4);
3639

3740
// Fluix
38-
Fluix = new Material.Builder(24152, gteId("fluix"))
41+
Fluix = new Material.Builder(startId + 1, gteId("fluix"))
3942
.dust()
4043
.liquid(new FluidBuilder().temperature(1200))
4144
.color(0x846994).iconSet(MaterialIconSet.CERTUS)
@@ -45,7 +48,7 @@ public static void init() {
4548
OrePrefix.block.modifyMaterialAmount(Fluix, 4);
4649

4750
// Fluix Alloy
48-
FluixAlloy = new Material.Builder(24153, gteId("fluix_alloy"))
51+
FluixAlloy = new Material.Builder(startId + 2, gteId("fluix_alloy"))
4952
.ingot()
5053
.liquid(new FluidBuilder().temperature(1200))
5154
.color(0x4A3954).iconSet(MaterialIconSet.SHINY)

src/main/java/com/github/gtexpert/core/api/unification/material/ingredients/AvaritiaFirstDegreeMaterials.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@
1212
import gregtech.api.unification.material.properties.ToolProperty;
1313

1414
import com.github.gtexpert.core.api.unification.material.info.GTEMaterialIconSet;
15+
import com.github.gtexpert.core.common.GTEConfigHolder;
1516

1617
public class AvaritiaFirstDegreeMaterials {
1718

1819
public static void init() {
20+
int startId = GTEConfigHolder.startIDs.avaritiaMaterial;
1921
// Neutronium
2022
// Neutronium.setMaterialRGB(0x000000);
2123
// Neutronium.setMaterialIconSet(GTEMaterialIconSet.NEUTRONIUM);
2224
Neutronium.addFlags(GENERATE_SMALL_GEAR, GENERATE_FOIL, GENERATE_RING, GENERATE_ROTOR, NO_SMELTING);
2325

2426
// Infinity
25-
Infinity = new Material.Builder(24186, gteId("infinity"))
27+
Infinity = new Material.Builder(startId, gteId("infinity"))
2628
.dust(7).ingot(7)
2729
.liquid(new FluidBuilder().temperature(10800))
2830
.iconSet(GTEMaterialIconSet.INFINITY)

src/main/java/com/github/gtexpert/core/api/unification/material/ingredients/DEFirstDegreeMaterials.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,34 @@
1717

1818
import com.github.gtexpert.core.api.GTEValues;
1919
import com.github.gtexpert.core.api.util.Mods;
20+
import com.github.gtexpert.core.integration.deda.DEDAConfigHolder;
2021

2122
public class DEFirstDegreeMaterials {
2223

2324
/**
24-
* 24176 - 24200
25+
* Default: 24176 - 24200
2526
*/
2627
public static void init() {
28+
int startId = DEDAConfigHolder.materialStartId;
29+
2730
// Cryotheum
28-
Cryotheum = new Material.Builder(24176, gteId("cryotheum"))
31+
Cryotheum = new Material.Builder(startId, gteId("cryotheum"))
2932
.liquid(new FluidBuilder().temperature(2))
3033
.color(0x00B6FF).iconSet(MaterialIconSet.FLUID)
3134
.flags(NO_WORKING, DISABLE_DECOMPOSITION)
3235
.components(Electrotine, 1, EnderPearl, 1, Ice, 4)
3336
.build();
3437

3538
// Pyrotheum
36-
Pyrotheum = new Material.Builder(24177, gteId("pyrotheum"))
39+
Pyrotheum = new Material.Builder(startId + 1, gteId("pyrotheum"))
3740
.fluid(GCYMFluidStorageKeys.MOLTEN, new FluidBuilder().temperature(10273))
3841
.color(0xE42C13).iconSet(MaterialIconSet.BRIGHT)
3942
.flags(NO_WORKING, DISABLE_DECOMPOSITION)
4043
.components(Redstone, 1, Sulfur, 1, Blaze, 16)
4144
.build();
4245

4346
// Dragon Dust
44-
Dragon = new Material.Builder(24178, gteId("dragon"))
47+
Dragon = new Material.Builder(startId + 2, gteId("dragon"))
4548
.dust()
4649
.color(0x000000).iconSet(MaterialIconSet.ROUGH)
4750
.flags(NO_WORKING, DISABLE_DECOMPOSITION)
@@ -51,7 +54,7 @@ public static void init() {
5154
.build();
5255

5356
// Draconium
54-
Draconium = new Material.Builder(24180, gteId("draconium"))
57+
Draconium = new Material.Builder(startId + 4, gteId("draconium"))
5558
.ore(2, 1, true)
5659
.ingot(5)
5760
.liquid(new FluidBuilder().temperature(1200))
@@ -72,7 +75,7 @@ public static void init() {
7275
.build();
7376

7477
// Awakened Draconium
75-
AwakenedDraconium = new Material.Builder(24181, gteId("awakened_draconium"))
78+
AwakenedDraconium = new Material.Builder(startId + 5, gteId("awakened_draconium"))
7679
.ingot(6)
7780
.liquid(new FluidBuilder().temperature(1200))
7881
.color(0xFF6C00).iconSet(MaterialIconSet.METALLIC)
@@ -90,7 +93,7 @@ public static void init() {
9093
.build();
9194

9295
// Chaos Dust
93-
Chaos = new Material.Builder(24179, gteId("chaos"))
96+
Chaos = new Material.Builder(startId + 3, gteId("chaos"))
9497
.dust()
9598
.color(0x000000).iconSet(MaterialIconSet.ROUGH)
9699
.flags(NO_WORKING, DISABLE_DECOMPOSITION)

src/main/java/com/github/gtexpert/core/api/unification/material/ingredients/EIOFirstDegreeMaterials.java

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,32 @@
1212
import gregtech.api.unification.material.properties.BlastProperty.GasTier;
1313

1414
import com.github.gtexpert.core.api.GTEValues;
15+
import com.github.gtexpert.core.integration.eio.EnderIOConfigHolder;
1516

1617
public class EIOFirstDegreeMaterials {
1718

1819
/**
19-
* 24101 - 24150
20+
* Default: 24101 - 24150
2021
*/
2122
public static void init() {
23+
int startId = EnderIOConfigHolder.materialStartId;
24+
2225
// Soulsand Dust
23-
SoulSand = new Material.Builder(24101, gteId("soul_sand"))
26+
SoulSand = new Material.Builder(startId, gteId("soul_sand"))
2427
.dust()
2528
.color(0x846C4C).iconSet(MaterialIconSet.SAND)
2629
.flags(NO_WORKING)
2730
.build();
2831

2932
// Chorusfruit Dust
30-
ChorusFruit = new Material.Builder(24102, gteId("chorus_fruit"))
33+
ChorusFruit = new Material.Builder(startId + 1, gteId("chorus_fruit"))
3134
.dust()
3235
.color(0x8C648C).iconSet(MaterialIconSet.DULL)
3336
.flags(NO_WORKING)
3437
.build();
3538

3639
// Electrical Steel
37-
ElectricalSteel = new Material.Builder(24103, gteId("electrical_steel"))
40+
ElectricalSteel = new Material.Builder(startId + 2, gteId("electrical_steel"))
3841
.ingot()
3942
.liquid(new FluidBuilder().temperature(1200))
4043
.color(0x949494).iconSet(MaterialIconSet.METALLIC)
@@ -47,7 +50,7 @@ public static void init() {
4750
.build();
4851

4952
// Energetic Alloy
50-
EnergeticAlloy = new Material.Builder(24104, gteId("energetic_alloy"))
53+
EnergeticAlloy = new Material.Builder(startId + 3, gteId("energetic_alloy"))
5154
.ingot()
5255
.liquid(new FluidBuilder().temperature(1200))
5356
.color(0xED8009).iconSet(MaterialIconSet.SHINY)
@@ -61,7 +64,7 @@ public static void init() {
6164
EnergeticAlloy.setFormula("Au2(Si(FeS2)5(CrAl2O3)Hg3)2", true);
6265

6366
// Vibrant Alloy
64-
VibrantAlloy = new Material.Builder(24105, gteId("vibrant_alloy"))
67+
VibrantAlloy = new Material.Builder(startId + 4, gteId("vibrant_alloy"))
6568
.ingot()
6669
.liquid(new FluidBuilder().temperature(1200))
6770
.color(0xBAC63F).iconSet(MaterialIconSet.SHINY)
@@ -75,7 +78,7 @@ public static void init() {
7578
VibrantAlloy.setFormula("BeK4N5(Au2(Si(FeS2)5(CrAl2O3)Hg3)2)", true);
7679

7780
// Redstone Alloy
78-
RedstoneAlloy = new Material.Builder(24106, gteId("redstone_alloy"))
81+
RedstoneAlloy = new Material.Builder(startId + 5, gteId("redstone_alloy"))
7982
.ingot()
8083
.liquid(new FluidBuilder().temperature(1200))
8184
.color(0x942323).iconSet(MaterialIconSet.DULL)
@@ -88,7 +91,7 @@ public static void init() {
8891
.build();
8992

9093
// Conductive Iron
91-
ConductiveIron = new Material.Builder(24107, gteId("conductive_iron"))
94+
ConductiveIron = new Material.Builder(startId + 6, gteId("conductive_iron"))
9295
.ingot()
9396
.liquid(new FluidBuilder().temperature(1200))
9497
.color(0xD1A79B).iconSet(MaterialIconSet.ROUGH)
@@ -101,7 +104,7 @@ public static void init() {
101104
.build();
102105

103106
// Pulsating Iron
104-
PulsatingIron = new Material.Builder(24108, gteId("pulsating_iron"))
107+
PulsatingIron = new Material.Builder(startId + 7, gteId("pulsating_iron"))
105108
.ingot()
106109
.liquid(new FluidBuilder().temperature(1200))
107110
.color(0x6EAC7D).iconSet(MaterialIconSet.SHINY)
@@ -114,7 +117,7 @@ public static void init() {
114117
.build();
115118

116119
// Dark Steel
117-
DarkSteel = new Material.Builder(24109, gteId("dark_steel"))
120+
DarkSteel = new Material.Builder(startId + 8, gteId("dark_steel"))
118121
.ingot()
119122
.liquid(new FluidBuilder().temperature(1200))
120123
.color(0x5F5F5F).iconSet(MaterialIconSet.METALLIC)
@@ -127,7 +130,7 @@ public static void init() {
127130
.build();
128131

129132
// Soularium
130-
Soularium = new Material.Builder(24110, gteId("soularium"))
133+
Soularium = new Material.Builder(startId + 9, gteId("soularium"))
131134
.ingot()
132135
.liquid(new FluidBuilder().temperature(1200))
133136
.color(0x5A4226).iconSet(MaterialIconSet.DULL)
@@ -140,7 +143,7 @@ public static void init() {
140143
.build();
141144

142145
// End Steel
143-
EndSteel = new Material.Builder(24111, gteId("end_steel"))
146+
EndSteel = new Material.Builder(startId + 10, gteId("end_steel"))
144147
.ingot()
145148
.liquid(new FluidBuilder().temperature(1200))
146149
.color(0xBCB682).iconSet(MaterialIconSet.METALLIC)
@@ -158,7 +161,7 @@ public static void init() {
158161
true);
159162

160163
// Iron Alloy
161-
ConstructionAlloy = new Material.Builder(24112, gteId("construction_alloy"))
164+
ConstructionAlloy = new Material.Builder(startId + 11, gteId("construction_alloy"))
162165
.ingot()
163166
.liquid(new FluidBuilder().temperature(1200))
164167
.color(0x524C53).iconSet(MaterialIconSet.ROUGH)
@@ -171,7 +174,7 @@ public static void init() {
171174
.build();
172175

173176
// Crystalline Alloy
174-
CrystallineAlloy = new Material.Builder(24113, gteId("crystalline_alloy"))
177+
CrystallineAlloy = new Material.Builder(startId + 12, gteId("crystalline_alloy"))
175178
.ingot()
176179
.liquid(new FluidBuilder().temperature(1200))
177180
.color(0x9FE4E4).iconSet(MaterialIconSet.SHINY)
@@ -184,7 +187,7 @@ public static void init() {
184187
.build();
185188

186189
// Melodic Alloy
187-
MelodicAlloy = new Material.Builder(24114, gteId("melodic_alloy"))
190+
MelodicAlloy = new Material.Builder(startId + 13, gteId("melodic_alloy"))
188191
.ingot()
189192
.liquid(new FluidBuilder().temperature(1200))
190193
.color(0xA877A8).iconSet(MaterialIconSet.SHINY)
@@ -197,7 +200,7 @@ public static void init() {
197200
.build();
198201

199202
// Stellar Alloy
200-
StellarAlloy = new Material.Builder(24115, gteId("stellar_alloy"))
203+
StellarAlloy = new Material.Builder(startId + 14, gteId("stellar_alloy"))
201204
.ingot()
202205
.liquid(new FluidBuilder().temperature(1200))
203206
.color(0xDBDECC).iconSet(MaterialIconSet.SHINY)
@@ -210,7 +213,7 @@ public static void init() {
210213
.build();
211214

212215
// Crystalline Pink Slime
213-
CrystallinePinkSlime = new Material.Builder(24116, gteId("crystalline_pink_slime"))
216+
CrystallinePinkSlime = new Material.Builder(startId + 15, gteId("crystalline_pink_slime"))
214217
.ingot()
215218
.liquid(new FluidBuilder().temperature(1200))
216219
.color(0xE79EDB).iconSet(MaterialIconSet.SHINY)
@@ -223,7 +226,7 @@ public static void init() {
223226
.build();
224227

225228
// Energetic Silver
226-
EnergeticSilver = new Material.Builder(24117, gteId("energetic_silver"))
229+
EnergeticSilver = new Material.Builder(startId + 16, gteId("energetic_silver"))
227230
.ingot()
228231
.liquid(new FluidBuilder().temperature(1200))
229232
.color(0x598DB3).iconSet(MaterialIconSet.SHINY)
@@ -236,7 +239,7 @@ public static void init() {
236239
.build();
237240

238241
// Vivid Alloy
239-
VividAlloy = new Material.Builder(24118, gteId("vivid_alloy"))
242+
VividAlloy = new Material.Builder(startId + 17, gteId("vivid_alloy"))
240243
.ingot()
241244
.liquid(new FluidBuilder().temperature(1200))
242245
.color(0x469BB1).iconSet(MaterialIconSet.SHINY)

src/main/java/com/github/gtexpert/core/api/unification/material/ingredients/TCFirstDegreeMaterials.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,18 @@
1010
import gregtech.api.unification.material.Material;
1111
import gregtech.api.unification.material.info.MaterialIconSet;
1212

13+
import com.github.gtexpert.core.integration.tc.TCConfigHolder;
14+
1315
public class TCFirstDegreeMaterials {
1416

1517
/**
16-
* 24191 - 24199
18+
* Default: 24191 - 24199
1719
*/
1820
public static void init() {
21+
int startId = TCConfigHolder.materialStartId;
22+
1923
// Thaumium
20-
Thaumium = new Material.Builder(24191, gteId("thaumium"))
24+
Thaumium = new Material.Builder(startId, gteId("thaumium"))
2125
.dust(3).ingot(3)
2226
.liquid(new FluidBuilder().temperature(1200))
2327
.color(0x9664c8).iconSet(MaterialIconSet.METALLIC)
@@ -29,7 +33,7 @@ public static void init() {
2933
.build();
3034

3135
// Void Metal
32-
VoidMetal = new Material.Builder(24192, gteId("void_metal"))
36+
VoidMetal = new Material.Builder(startId + 1, gteId("void_metal"))
3337
.dust(4).ingot(4)
3438
.liquid(new FluidBuilder().temperature(1200))
3539
.color(0x1c0639).iconSet(MaterialIconSet.SHINY)

0 commit comments

Comments
 (0)