This commit is contained in:
Shiroyasha 2025-09-14 20:52:18 +03:00
commit d8d0e9d536
Signed by: shiroyashik
GPG key ID: E4953D3940D7860A
2567 changed files with 167778 additions and 0 deletions

View file

@ -0,0 +1,201 @@
// priority: 3
/**
* Gregtech Chemical Materials Registry.
* This file is for custom fluids (And some solids!)
* used in custom chemlines like JEAN and Polyethyl Cyanoacrylate.
*/
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("butanol")
.fluid()
.color(0xc7af2e)
.components("4x carbon", "10x hydrogen", "1x oxygen")
.formula("C4H9OH")
event.create("phosphorus_trichloride")
.fluid()
.color(0xe8c474)
.components("1x phosphorus", "3x chlorine")
event.create("phosphoryl_chloride")
.fluid()
.color(0xe8bb5b)
.components("1x phosphorus", "1x oxygen", "3x chlorine")
event.create("tributyl_phosphate")
.fluid()
.color(0xe8c474)
.components("12x carbon", "27x hydrogen", "4x oxygen", "1x phosphorus")
.formula("(C4H9O)3PO")
// Scaleline (Breaks Ender Dragon Scales down into useful materials)
event.create("hydrochloric_dragon_scale_solution")
.fluid()
.color(0x697898)
.components("2x hydrogen", "2x chlorine", "2x manganese", "1x tantalum", "4x carbon")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("(HCl)2Mn2TaC?")
event.create("hydrochloric_manganese_solution")
.fluid()
.color(0x697898)
.components("2x hydrogen", "2x chlorine", "2x manganese")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("(HCl)2Mn2")
event.create("graphitic_tantalum")
.dust()
.color(0x747499).secondaryColor(0x999974)
.components("1x tantalum", "4x carbon")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("TaC")
event.create("hydrofluoric_graphitic_tantalum_solution")
.fluid()
.color(0x424272)
.components("2x hydrogen", "2x fluorine", "1x tantalum", "4x carbon")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("(HF)2TaC")
event.create("hydrofluoric_tantalum_solution")
.fluid()
.color(0x626299)
.components("2x hydrogen", "2x fluorine", "1x tantalum")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("(HF)2Ta")
// Guardian Scaleline (Breaks Guardian Scales down into useful materials)
event.create("guardian_scale_slurry")
.fluid()
.color(0x8bbeaf)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
// JEAN gasoline ingredients
event.create("chlorine_triflouride")
.gas()
.color(0xCBC4EF)
.components("1x chlorine", "3x fluorine")
event.create("chloroethane")
.gas()
.color(0xDEEDE6)
.components("2x carbon", "5x hydrogen", "1x chlorine")
.formula("C2H5Cl")
event.create("tetraethyllead")
.fluid()
.color(0x6E6F9E)
.components("1x lead", "8x carbon", "20x hydrogen")
.formula("Pb(CH3CH2)4")
event.create("sodium_lead_alloy")
.ingot()
.color(0x58649B)
.components("1x lead", "1x sodium")
// Crystal Matrix Line
event.create("acetylene")
.gas()
.color(0xFF4F4F)
.components("2x carbon", "2x hydrogen")
event.create("calcium_carbide")
.dust()
.color(0xCFC870)
.components("1x calcium", "2x carbon")
// Ingredients to create Polyethyl Cyanoacrylate, (PECA) a post-tank polymer
event.create("sodium_cyanide")
.dust()
.color(0x7FB4C7)
.components("1x sodium", "1x carbon", "1x nitrogen")
event.create("chloroacetic_mixture")
.fluid()
.color(0x2D80B5)
event.create("chloroacetate")
.dust()
.color(0x2D8BAE)
.components("1x chlorine", "2x carbon", "3x hydrogen", "2x oxygen")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("ClCH2CO2H")
event.create("dichloroacetate")
.fluid()
.color(0x2D8BBE)
.components("1x chlorine", "1x chloroacetate")
.formula("Cl2CH2CO2H")
event.create("trichloroacetate")
.fluid()
.color(0x2D8BCE)
.components("1x chlorine", "1x dichloroacetate")
.formula("Cl3CH2CO2H")
event.create("cyanoacetic_acid")
.dust()
.color(0x5B8988)
.components("1x nitrogen", "3x carbon", "3x hydrogen", "2x oxygen")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("C3H3NO2")
.ignoredTagPrefixes([TagPrefix.dustTiny, TagPrefix.dustSmall])
event.create("ethyl_cyanoacetate")
.liquid()
.color(0x488176)
.components("1x nitrogen", "5x carbon", "7x hydrogen", "2x oxygen")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("C5H7NO2")
event.create("uncracked_ethyl_cyanoacrylate")
.liquid()
.color(0x616863)
.components("1x nitrogen", "6x carbon", "7x hydrogen", "2x oxygen")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create("ethyl_cyanoacrylate")
.liquid()
.color(0x516863)
.components("1x nitrogen", "6x carbon", "7x hydrogen", "2x oxygen")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula("C6H7NO2")
event.create("polyethyl_cyanoacrylate")
.polymer()
.color(0x708787)
.components("1x nitrogen", "6x carbon", "7x hydrogen", "2x oxygen")
.fluidPipeProperties(3000, 12000, true, true, true, false)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.STICKY)
.formula("C6H7NO2");
// Dimethyl sulfoxide sub-chain (PECA catalyst)
event.create("dimethyl_sulfoxide")
.liquid()
.color(0xBFB178)
.components("2x carbon", "6x hydrogen", "1x sulfur", "1x oxygen")
event.create("dimethyl_sulfide")
.liquid()
.color(0xACB279)
.components("2x carbon", "6x hydrogen", "1x sulfur")
// Uranic Solution (Actinium line)
event.create("uranic_solution")
.liquid()
.color(0xD3B53B)
// Lead Chloride (Actinium byproduct)
event.create("lead_chloride")
.dust()
.color(0x776E82).iconSet("rough")
.components("lead", "2x chlorine")
// Saturated water (Eltz line midproduct)
event.create("saturated_water")
.liquid()
.color(0x857049)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
})

View file

@ -0,0 +1,40 @@
// priority: 2
/**
* Registration of custom chemical elements
*/
// Elements
GTCEuStartupEvents.registry("gtceu:element", event => {
event.create("cryolobus")
.protons(149)
.neutrons(234)
.symbol("Cy")
event.create("cryococcus")
.protons(149)
.neutrons(264)
.symbol("Cy*")
event.create("mana")
.symbol("ᛗ")
})
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("cryolobus")
.ingot().fluid()
.element(GTElements.get("cryolobus"))
.color(0x022C34).iconSet("metallic")
.blastTemp(6800, "higher")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_FRAME)
.cableProperties(524288, 4, 0, true);
event.create("cryococcus")
.ingot().fluid()
.element(GTElements.get("cryococcus"))
.color(0x088286).secondaryColor(0x022C34).iconSet("metallic")
.flags(GTMaterialFlags.NO_SMELTING, GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_RING, GTMaterialFlags.GENERATE_DENSE)
event.create("mana")
.liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).customStill())
.element(GTElements.get("mana"))
.iconSet("mana")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
})

View file

@ -0,0 +1,75 @@
/**
? Keep in sync with
? https://github.com/Nomi-CEu/Nomi-Labs/blob/main/src/main/java/com/nomiceu/nomilabs/gregtech/material/registry/register/LabsEIO.java
*/
// EnderIO Materials
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("dark_steel")
.ingot().fluid()
.color(0x414751).iconSet("dull")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.DISABLE_DECOMPOSITION)
.components("iron", "obsidian")
// Conductive Iron
event.create("conductive_alloy")
.ingot().fluid()
.color(0xf7b29b).iconSet("metallic")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.components("iron", "redstone")
.cableProperties(32, 1, 0, true)
event.create("energetic_alloy")
.ingot().fluid()
.color(0xffb545).iconSet("shiny")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.blastTemp(1250, "low", 120, 400)
.components("2x gold", "redstone", "glowstone")
.cableProperties(128, 1, 0, true)
.formula("Au2(Si(FeS2)5(CrAl2O3)Hg3)(AuCa3(PO4)2)");
event.create("vibrant_alloy")
.ingot().fluid()
.color(0xa4ff70).iconSet("shiny")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_BOLT_SCREW)
.blastTemp(1350, "low", 120, 400)
.components("energetic_alloy", "ender_pearl")
.cableProperties(512, 1, 0, true)
.formula("Au2(Si(FeS2)5(CrAl2O3)Hg3)(AuCa3(PO4)2)(BeK4N5)");
// Pulsating Iron
event.create("pulsating_alloy")
.ingot().fluid()
.color(0x2AB38F).iconSet("shiny")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.components("iron")
.cableProperties(8, 1, 0, true)
event.create("electrical_steel")
.ingot().fluid()
.color(0xb2c0c1).iconSet("metallic")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.components("steel", "silicon")
event.create("soularium")
.ingot().fluid()
.color(0x7c674d).iconSet("metallic")
.components("gold")
.flags(GTMaterialFlags.GENERATE_PLATE)
event.create("end_steel")
.ingot().fluid()
.color(0xd6d980).iconSet("metallic")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.blastTemp(2700, "mid", 480, 900)
.toolStats(new ToolProperty(4.0, 3.5, 1024, 3, []))
.cableProperties(2048, 1, 0, true)
.components("dark_steel", "endstone", "vibrant_alloy")
.formula("Fe(SiO2)(Au2(Si(FeS2)5(CrAl2O3)Hg3)(AuCa3(PO4)2)(BeK4N5))");
event.create("dark_soularium")
.ingot()
.color(0x7c674d).iconSet("metallic")
.components("soularium", "dark_steel", "tritium")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.DISABLE_DECOMPOSITION)
})

View file

@ -0,0 +1,139 @@
/**
* Endgame Material Registry.
* Used for registering Gregtech Materials
* that are related post-tank content.
*/
// ? Keep in sync with
// ? https://github.com/Nomi-CEu/Nomi-Labs/blob/main/src/main/java/com/nomiceu/nomilabs/gregtech/material/registry/register/LabsEndgame.java
/*
Note: Some GTCEuM recipes handlers calculate duration based on mass.
This led to the infamous recipe bug where Infinity Screws in the Lathe had integer limit duration,
because the Infinity material had infinite mass.
*/
GTCEuStartupEvents.registry("gtceu:element", event => {
event.create("omnium")
.protons(130)
.neutrons(234)
.symbol("Nm");
event.create("infinity")
.protons(168)
.neutrons(316)
.symbol("∞");
event.create("monium")
.protons(169)
.neutrons(317)
.symbol("Mu");
event.create("crystal_matrix")
.protons(6)
.neutrons(6)
.symbol("C*");
event.create("eltz")
.protons(15)
.neutrons(15)
.symbol("Ez")
})
// Omnium, Infinity, and Monium have animations and thus custom material icon sets.
GTCEuStartupEvents.registry("gtceu:material_icon_set", event => {
event.create("omnium").parent(GTMaterialIconSet.SHINY)
event.create("sculk_alloy").parent(GTMaterialIconSet.DULL)
event.create("infinity").parent(GTMaterialIconSet.SHINY)
event.create("eltz").parent(GTMaterialIconSet.SHINY)
event.create("monium").parent(GTMaterialIconSet.SHINY)
event.create("dilithium").parent(GTMaterialIconSet.DULL)
event.create("mana").parent(GTMaterialIconSet.SHINY)
})
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("crystal_matrix")
.ingot().fluid()
.element(GTElements.get("crystal_matrix"))
.color(0x66ffff)
.blastTemp(6800, "highest")
.iconSet("shiny")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_DENSE);
event.create("omnium")
.ingot()
.liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).customStill())
.element(GTElements.get("omnium"))
.color(0xffffff).iconSet("omnium")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_SMALL_GEAR)
.cableProperties(GTValues.V[GTValues.UEV], 64, 8, false)
event.create("omnic_acid")
.dust()
.color(0xff00ff)
.iconSet("shiny")
.components("5x carbon", "4x hydrogen", "3x oxygen", "4x omnium")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create("sculk_superconductor")
.ingot().fluid()
.element(GTElements.get("sculk_superconductor"))
.color(0xffffff)
.iconSet("shiny")
.flags(GTMaterialFlags.NO_SMELTING, GTMaterialFlags.NO_SMASHING)
.cableProperties(GTValues.V[GTValues.UHV], 8, 0, true)
event.create("netherite_scrap")
.dust().ingot().ore(1, 3)
.color(0x6D473E)
.iconSet("dull")
.addOreByproducts(GTMaterials.Obsidian, GTMaterials.Obsidian, GTMaterials.RarestMetalMixture)
.ignoredTagPrefixes([TagPrefix.nugget, TagPrefix.block, TagPrefix.dustTiny, TagPrefix.rawOre, TagPrefix.rawOreBlock])
event.create("activated_netherite")
.ingot()
.element(GTElements.get("activated_netherite"))
.color(0x4C484C)
.iconSet("dull")
.cableProperties(GTValues.V[GTValues.UEV], 16, 0, true)
.fluidPipeProperties(11000, 8500, true, false, true, true)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_FINE_WIRE, GTMaterialFlags.GENERATE_ROTOR, GTMaterialFlags.GENERATE_SPRING)
event.create("sculk_bioalloy")
.ingot()
.liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).customStill())
.color(0xffffff)
.iconSet("sculk_alloy")
.flags(GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_RING, GTMaterialFlags.GENERATE_ROUND, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR, GTMaterialFlags.GENERATE_SPRING, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.NO_WORKING)
event.create("infinity")
.ingot()
.liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).customStill())
.element(GTElements.get("infinity"))
.color(0xffffff)
.iconSet("infinity")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_SMALL_GEAR)
event.create("eltz")
.ingot()
.liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).customStill())
.element(GTElements.get("eltz"))
.color(0xffffff)
.iconSet("eltz")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD, GTMaterialFlags.GENERATE_RING, GTMaterialFlags.GENERATE_ROUND, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR, GTMaterialFlags.GENERATE_SPRING, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.PHOSPHORESCENT)
event.create("eltic_actinate")
.gem()
.color(0xbb9966).secondaryColor(0x881105)
.iconSet("dilithium")
.components("4x eltz", "1x actinium", "3x oxygen")
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMASHING)
event.create("actinium_iron_oxide")
.dust()
.color(0xC3D1FF) // Old actinium color for fun
.components("1x actinium", "4x iron", "3x oxygen")
event.create("monium")
.ingot()
.liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).customStill())
.element(GTElements.get("monium"))
.color(0xffffff)
.iconSet("monium")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SPRING)
.cableProperties(GTValues.V[GTValues.MAX], 134217727, 0, true)
})

View file

@ -0,0 +1,49 @@
/**
* Microverse Material Registry.
* Used for registering Gregtech Materials
* that are related Microverse projectors, Microminers, or Microminer missions.
*/
// ? Keep in sync with
// ? https://github.com/Nomi-CEu/Nomi-Labs/blob/main/src/main/java/com/nomiceu/nomilabs/gregtech/material/registry/register/LabsMicroverse.java
// Microverse Materials
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("microversium")
.ingot().liquid()
.color(0x9b61b8).iconSet("dull")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FRAME, GTMaterialFlags.DISABLE_DECOMPOSITION)
.components("2x steel", "glowstone", "redstone", "deuterium")
.blastTemp(1700, "mid", 120, 600)
.cableProperties(128, 4, 2, false)
.formula("Fe2(Si(FeS2)5(CrAl2O3)Hg3)(AuCa3(PO4)2)D");
event.create("osmiridiumyes")
.dust().ore()
.iconSet("dull")
.components("8x osmium", "2x iridium")
.addOreByproducts("osmium", "iridium", "ruthenium")
event.create("iridosmineyes")
.dust().ore()
.iconSet("dull")
.components("8x iridium", "2x osmium")
.addOreByproducts("iridium", "osmium", "rhodium")
event.create("kaemanite")
.dust().ore()
.color(0xe7413c).iconSet("bright")
.components("trinium", "tantalum", "4x oxygen")
.addOreByproducts("niobium", "trinium_sulfide", "trinium")
event.create("laurite")
.dust().ore()
.color(0x6f2c23).iconSet("diamond")
.components("ruthenium", "2x sulfur")
.addOreByproducts("pyrite", "ruthenium", "rhodium")
event.create("cuprorhodsite")
.dust().ore()
.color(0xc1aa82).iconSet("bright")
.components("copper", "iron", "4x rhodium", "8x sulfur")
.addOreByproducts("chalcocite", "platinum", "ruthenium")
})

View file

@ -0,0 +1,358 @@
/**
? Misc modern materials we have to add
? Place non-nomifactory materials here
*/
// AE2 Materials
GTCEuStartupEvents.registry("gtceu:element", event => {
event.create("dilithium")
.protons(119)
.neutrons(229)
.symbol("Dl")
})
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("charged_certus_quartz")
.gem()
.dust()
.color(0x9fd5e8)
.iconSet(GTMaterialIconSet.CERTUS)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.components("certus_quartz")
event.create("fluix")
.gem()
.dust()
.color(0x7f5bb3)
.iconSet(GTMaterialIconSet.CERTUS)
.flags(GTMaterialFlags.GENERATE_PLATE)
.components("charged_certus_quartz", "redstone", "nether_quartz")
})
// Space Materials
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("dilithium")
.dust()
.gem()
.ore(2, 1)
.element(GTElements.get("dilithium"))
.color(0xfdd2df).secondaryColor(0xfa52b5)
.iconSet("dilithium")
.addOreByproducts("lithium", "cobalt", "platinum")
event.create("calcium_perchlorate")
.dust()
.color(0xf9fbda)
.components("1x calcium", "2x chlorine", "8x oxygen")
event.create("extraterrestrial_metal_mixture")
.dust()
.color(0x734120).secondaryColor(0x555B60).iconSet(GTMaterialIconSet.METALLIC)
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.ignoredTagPrefixes([TagPrefix.dustTiny, TagPrefix.dustSmall])
event.create("fluorite")
.gem()
.ore()
.color(0x0c9949)
.iconSet("diamond")
.components("1x calcium", "2x fluorine")
.addOreByproducts("calcite", "barite")
})
// Actually Additions Crystals
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("restonia")
.gem()
.color(0xA60000)
.iconSet(GTMaterialIconSet.RUBY)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.plate,
TagPrefix.rod,
])
event.create("enori")
.gem()
.color(0xEDE6FF)
.iconSet(GTMaterialIconSet.GEM_VERTICAL)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.plate,
TagPrefix.rod,
])
event.create("void")
.gem()
.color(0x0F0F0F)
.iconSet(GTMaterialIconSet.ROUGH)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.plate,
TagPrefix.rod,
])
event.create("palis")
.gem()
.color(0x1C1C89)
.iconSet(GTMaterialIconSet.LAPIS)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.plate,
TagPrefix.rod,
])
event.create("diamatine")
.gem()
.color(0x8B8DF3)
.iconSet(GTMaterialIconSet.FINE)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.plate,
TagPrefix.rod,
])
event.create("emeradic")
.gem()
.color(0x09E103)
.iconSet(GTMaterialIconSet.GEM_HORIZONTAL)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.plate,
TagPrefix.rod,
])
event.create("black_quartz")
.gem()
.color(0x0F0F0F)
.iconSet(GTMaterialIconSet.QUARTZ)
})
// Actually Additions empowered crystals
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("restonia_empowered")
.gem().fluid()
.color(0xA60000)
.iconSet(GTMaterialIconSet.RUBY)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.rod,
])
event.create("enori_empowered")
.gem().fluid()
.color(0xEDE6FF)
.iconSet(GTMaterialIconSet.GEM_VERTICAL)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.rod,
])
event.create("void_empowered")
.gem().fluid()
.color(0x0F0F0F)
.iconSet(GTMaterialIconSet.ROUGH)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.rod,
])
event.create("palis_empowered")
.gem().fluid()
.color(0x1C1C89)
.iconSet(GTMaterialIconSet.LAPIS)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.rod,
])
event.create("diamatine_empowered")
.gem().fluid()
.color(0x8B8DF3)
.iconSet(GTMaterialIconSet.FINE)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.rod,
])
event.create("emeradic_empowered")
.gem().fluid()
.color(0x09E103)
.iconSet(GTMaterialIconSet.GEM_HORIZONTAL)
.flags(GTMaterialFlags.GENERATE_GEAR)
.ignoredTagPrefixes([
TagPrefix.dust,
TagPrefix.dustSmall,
TagPrefix.dustTiny,
TagPrefix.gemExquisite,
TagPrefix.gemFlawless,
TagPrefix.rod,
])
})
// Sunnarium
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("sunnarium")
.dust()
.color(0xDDD692)
.flags(GTMaterialFlags.PHOSPHORESCENT, GTMaterialFlags.GENERATE_PLATE)
event.create("enriched_sunnarium")
.dust()
.color(0xACFFC2)
.flags(GTMaterialFlags.PHOSPHORESCENT, GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE)
})
// Terbium
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("ammonium_oxalate")
.dust()
.color(0x2596be)
.components("2x ammonia", "2x carbon", "4x oxygen")
event.create("ammonium_nitrate")
.dust()
.color(0xF5F5F5)
.components("1x ammonia", "1x nitric_acid")
event.create("thorium_hydroxide")
.dust()
.color(0x243e1c)
.components("1x thorium", "4x oxygen", "4x hydrogen")
.formula("Th(OH)4")
event.create("terbium_salt")
.dust()
.color(0x7f7367)
.components("1x terbium", "3x chlorine")
.flags(GTMaterialFlags.NO_SMASHING, GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create("magnetic_terbium")
.ingot()
.components("1x terbium")
.color(0x8C8F7A)
.iconSet(GTMaterialIconSet.MAGNETIC)
.ingotSmeltInto(GTMaterials.get("terbium"))
.arcSmeltInto(GTMaterials.get("terbium"))
.macerateInto(GTMaterials.get("terbium"))
.flags(GTMaterialFlags.GENERATE_LONG_ROD, GTMaterialFlags.IS_MAGNETIC)
})
// Misc
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("elemental_reduction_fluid")
.fluid()
.color(0xbbddbd)
.iconSet("elemental_reduction_fluid")
event.create("dragon_breath")
.fluid()
.color(0xFF6AB9)
event.create("jean_gasoline")
.fluid()
.color(0xF16AA5)
event.create("holmium_oxide")
.dust()
.color(0xD29092)
.components("2x holmium", "3x oxygen")
event.create("waste_gas_mixture")
.fluid()
.color(0x666677)
.components("10x carbon_monoxide", "5x chloroethane", "7x ammonium_formate", "9x dinitrogen_tetroxide", "2x neon", "1x tritium")
.flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING)
event.create("trinaquadalloy")
.fluid()
.ingot()
.color(0x281832)
.iconSet("bright")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE)
.components("6x trinium", "2x naquadah", "1x carbon")
.blastTemp(8747, "higher", 131072, 1200)
event.create("rotten_meat")
.dust(1)
.color(0xe8543a).secondaryColor(0x684a09).iconSet(GTMaterialIconSet.SAND)
.ignoredTagPrefixes([TagPrefix.dustTiny, TagPrefix.dustSmall])
event.create("saline_antiseptic")
.fluid()
.color(0x99dce5)
event.create("rotten_sludge")
.fluid()
.color(0x997700)
})
GTCEuStartupEvents.materialModification(event => {
GTMaterials.RhodiumPlatedPalladium.setComponents("3x palladium", "1x rhodium", "2x lumium")
GTMaterials.RhodiumPlatedPalladium.setFormula("Pd3Rh(SnFe)4(CuAg4)2", true)
GTMaterials.Glowstone.setComponents("1x tricalcium_phosphate", "1x gold")
GTMaterials.Glowstone.setFormula("AuCa3(PO4)2", true)
// We keep Ingots in the material definition so we can replace it in the Ore Processing Diagram with vanilla Netherite Scrap, then remove it here.
TagPrefix.ingot.setIgnored(GTMaterials.get("netherite_scrap"), Ingredient.of("minecraft:netherite_scrap"))
})

View file

@ -0,0 +1,75 @@
/**
* Missing Material Forms.
* Some GT materials need a fluid, plate, wire, gear, plasma,
* or other variant of that material.
* This file adds them.
*/
const $PropertyKey = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.PropertyKey")
const $IngotProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty")
const $FluidProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidProperty")
const $FluidStorageKeys = Java.loadClass("com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys")
const $FluidPipeProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties")
const $WireProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.WireProperties")
const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty")
const $FluidBuilder = Java.loadClass("com.gregtechceu.gtceu.api.fluids.FluidBuilder");
let addFluid = (mat, key, temp) => {
let prop = new $FluidProperty()
prop.getStorage().enqueueRegistration(key, new $FluidBuilder().temperature(temp))
mat.setProperty(PropertyKey.FLUID, prop)
}
GTCEuStartupEvents.registry("gtceu:material", event => {
// Existing materials that get an item form
GTMaterials.Lutetium.setProperty($PropertyKey.INGOT, new $IngotProperty())
GTMaterials.Actinium.setProperty($PropertyKey.INGOT, new $IngotProperty())
GTMaterials.Actinium.setMaterialARGB(0xaa3399)
GTMaterials.Actinium.addFlags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD, GTMaterialFlags.GENERATE_RING, GTMaterialFlags.GENERATE_ROUND, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR, GTMaterialFlags.GENERATE_SPRING, GTMaterialFlags.GENERATE_BOLT_SCREW)
GTMaterials.Terbium.setProperty($PropertyKey.INGOT, new $IngotProperty())
GTMaterials.Terbium.setMaterialARGB(0x8C8F7A)
GTMaterials.Terbium.setProperty($PropertyKey.BLAST, new $BlastProperty(7200, "higher", 524288, 900, -1, -1));
GTMaterials.Terbium.addFlags(GTMaterialFlags.GENERATE_LONG_ROD)
GTMaterials.Holmium.setProperty($PropertyKey.INGOT, new $IngotProperty())
GTMaterials.Holmium.setMaterialARGB(0xe59274)
GTMaterials.Holmium.setMaterialSecondaryARGB(0x715774)
GTMaterials.Holmium.setProperty($PropertyKey.WIRE, new $WireProperty(33554432, 64, 0, true))
GTMaterials.Holmium.setProperty($PropertyKey.FLUID_PIPE, new $FluidPipeProperty(10000, 18000, true, false, true, true))
GTMaterials.Holmium.setProperty($PropertyKey.BLAST, new $BlastProperty(12200, "highest", 1000000, 1000, -1, -1));
GTMaterials.Holmium.addFlags(GTMaterialFlags.GENERATE_FINE_WIRE, GTMaterialFlags.GENERATE_ROTOR, GTMaterialFlags.GENERATE_SPRING)
// Existing materials that get new material forms
GTMaterials.Neutronium.addFlags(GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.GENERATE_ROTOR)
GTMaterials.Iridium.addFlags(GTMaterialFlags.GENERATE_ROTOR, GTMaterialFlags.GENERATE_DENSE)
GTMaterials.NaquadahEnriched.addFlags(GTMaterialFlags.GENERATE_BOLT_SCREW)
GTMaterials.Graphite.addFlags(GTMaterialFlags.GENERATE_PLATE)
GTMaterials.MagnesiumDiboride.addFlags(GTMaterialFlags.GENERATE_FINE_WIRE)
GTMaterials.RutheniumTriniumAmericiumNeutronate.addFlags(GTMaterialFlags.GENERATE_FINE_WIRE)
GTMaterials.Zeron100.addFlags(GTMaterialFlags.GENERATE_DENSE)
GTMaterials.BlueAlloy.addFlags(GTMaterialFlags.GENERATE_DENSE)
GTMaterials.Neutronium.addFlags(GTMaterialFlags.GENERATE_LONG_ROD, GTMaterialFlags.GENERATE_RING, GTMaterialFlags.GENERATE_ROUND, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.GENERATE_DENSE)
GTMaterials.RedAlloy.addFlags(GTMaterialFlags.GENERATE_SPRING_SMALL) // For ULV Power Transformer
// Gears for Thermal Expansion
GTMaterials.Nickel.addFlags(GTMaterialFlags.GENERATE_GEAR)
GTMaterials.Copper.addFlags(GTMaterialFlags.GENERATE_GEAR)
GTMaterials.Silver.addFlags(GTMaterialFlags.GENERATE_GEAR)
GTMaterials.Lead.addFlags(GTMaterialFlags.GENERATE_GEAR)
// Radioactive materials that get liquid forms and/or a new color
addFluid(GTMaterials.Einsteinium, $FluidStorageKeys.LIQUID, 1133);
GTMaterials.Americium.getProperty($PropertyKey.FLUID).storage.enqueueRegistration($FluidStorageKeys.PLASMA, new GTFluidBuilder())
addFluid(GTMaterials.Berkelium, $FluidStorageKeys.LIQUID, 1259);
GTMaterials.Berkelium.setMaterialARGB(0xa33f20);
addFluid(GTMaterials.Californium, $FluidStorageKeys.LIQUID, 1173);
GTMaterials.Californium.setMaterialARGB(0x7d0222)
addFluid(GTMaterials.Neptunium, $FluidStorageKeys.LIQUID, 913);
GTMaterials.Neptunium.setMaterialARGB(0x486d7b)
addFluid(GTMaterials.Curium, $FluidStorageKeys.LIQUID, 1618);
GTMaterials.Curium.setMaterialARGB(0x58307f)
addFluid(GTMaterials.NetherStar, $FluidStorageKeys.LIQUID, 1337);
GTMaterials.Thorium.setMaterialARGB(0x273420)
addFluid(GTMaterials.Actinium, $FluidStorageKeys.LIQUID, 1324);
})

View file

@ -0,0 +1,62 @@
/**
* Thermal Material Registry.
* Used for registering Gregtech Materials
* that are related to Thermal or its 1.12 version.
*/
// ? Keep in sync with
// ? https://github.com/Nomi-CEu/Nomi-Labs/blob/main/src/main/java/com/nomiceu/nomilabs/gregtech/material/registry/register/LabsThermal.java
GTCEuStartupEvents.registry("gtceu:material", event => {
event.create("ardite")
.ingot().fluid()
.color(0xad2f05).iconSet("dull")
.flags(GTMaterialFlags.GENERATE_PLATE)
.components("3x red_steel", "blaze")
event.create("manyullyn")
.ingot().fluid()
.color(0x9949cc).iconSet("metallic")
.blastTemp(4800, "high")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE)
.components("4x ardite", "4x cobalt", "mana")
event.create("signalum")
.ingot().fluid()
.color(0xff7f0f).iconSet("shiny")
.blastTemp(4000, "mid", 7680, 1400)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_GEAR)
.components("4x annealed_copper", "2x ardite", "2x red_alloy", "mana")
.cableProperties(32768, 1, 0, true)
event.create("lumium")
.ingot().fluid()
.color(0xf6ff99).iconSet("bright")
.blastTemp(4500, "mid", 4800, 1000)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FINE_WIRE)
.components("4x tin_alloy", "2x sterling_silver", "mana")
.cableProperties(8192, 1, 0, true)
.fluidPipeProperties(4500, 256, true, true, true, false)
event.create("enderium")
.ingot().fluid()
.color(0x1f6b62).iconSet("shiny")
.blastTemp(6400, "highest", 30720, 1600)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FINE_WIRE)
.components("4x lead", "2x platinum", "blue_steel", "osmium", "tantalum", "mana")
.cableProperties(131072, 1, 0, true)
event.create("electrum_flux")
.ingot().fluid()
.color(0xf7be20).iconSet("bright")
.blastTemp(1100, "low")
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.components("6x electrum", "lumium", "signalum");
// Mythril
event.create("mythril")
.ingot().liquid()
.color(0x428fdb).iconSet("dull")
.blastTemp(2141, null)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR)
.components("titanium", "mana");
})