Adding Nuclear Line on Mars (#1467)

* Adding the Nuclear Line CPU Wafer

* merge

* Revert "merge"

This reverts commit b29b5e324f587042a7aad01a49cfdf63b33ab7b4.

* revert

* Revert "revert"

This reverts commit 38376879b37a1150bd84dfa524621c2ffe6350db.

* no change weird things happening to me

* add fluid textures

* Modification of nuclear line

* fix conflict for fluids

* first balance change

* fix conflict with recipes.rocks

* Nuclear Line

* Add the bromine line and more fixes

* Fully added back the bromine line

* Add nuclear energy line and more fixes

* fix conflit

* Add back the recipes change to gtceu for nuclear

* revert

* fix conflict

* One last try

* Adjust Reactor rates

* Added change to uranium dust commented out until Mars Update

* Remove long rod from nuclear pellet
This commit is contained in:
TomPlop 2025-07-28 15:02:05 -04:00 committed by GitHub
parent e83833bcf5
commit 3c72e94109
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
39 changed files with 1945 additions and 583 deletions

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,45 @@
{
"animation": {
"frametime": 1,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -0,0 +1,45 @@
{
"animation": {
"frametime": 1,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -0,0 +1,87 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
39,
38,
37,
36,
35,
34,
33,
32,
31,
30,
29,
28,
27,
26,
25,
24,
23,
22,
21,
20,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,45 @@
{
"animation": {
"frametime": 1,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,69 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
30,
29,
28,
27,
26,
25,
24,
23,
22,
21,
20,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,87 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
39,
38,
37,
36,
35,
34,
33,
32,
31,
30,
29,
28,
27,
26,
25,
24,
23,
22,
21,
20,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,5 @@
{
"ldlib": {
"connection": "tfg:block/casings/machine_casing_mars_ctm"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

View file

@ -0,0 +1,5 @@
{
"ldlib": {
"connection": "tfg:block/casings/machine_casing_stainless_evaporation_ctm"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

View file

@ -1,13 +1,13 @@
{
"__comment__": "This file was automatically created by mcresources",
"ingredient": "tfcagedalcohol:aged_corn_whiskey",
"thirst": 15,
"intoxication": 2000,
"effects": [
{
"type": "minecraft:haste",
"duration": 6400,
"amplifier": 0
}
]
{
"__comment__": "This file was automatically created by mcresources",
"ingredient": "tfcagedalcohol:aged_corn_whiskey",
"thirst": 15,
"intoxication": 2000,
"effects": [
{
"type": "minecraft:haste",
"duration": 6400,
"amplifier": 0
}
]
}

View file

@ -1,13 +1,13 @@
{
"__comment__": "This file was automatically created by mcresources",
"ingredient": "tfcagedalcohol:aged_rye_whiskey",
"thirst": 15,
"intoxication": 2000,
"effects": [
{
"type": "minecraft:haste",
"duration": 6400,
"amplifier": 0
}
]
{
"__comment__": "This file was automatically created by mcresources",
"ingredient": "tfcagedalcohol:aged_rye_whiskey",
"thirst": 15,
"intoxication": 2000,
"effects": [
{
"type": "minecraft:haste",
"duration": 6400,
"amplifier": 0
}
]
}

View file

@ -1281,4 +1281,37 @@ const registerGTCEURecipes = (event) => {
event.shapeless(Item.of('gtceu:matchbox', '{usesLeft:8}'), ['minecraft:paper', '8x gtceu:matches'])
.id('tfg:shapeless/matchbox')
// Nano CPU use Nuclear Tritiated Water COMMENTED UNTIL MARS IS OUT
/*
event.replaceInput({ id: 'gtceu:chemical_reactor/nano_cpu_wafer' }, Fluid.of('gtceu:glowstone'), Fluid.of('gtceu:tritiated_water'))
event.replaceInput({ id: 'gtceu:large_chemical_reactor/nano_cpu_wafer' }, Fluid.of('gtceu:glowstone'), Fluid.of('gtceu:tritiated_water'))
// Remove Plutonium from centrifuging Uranium dust
event.remove({ id: 'gtceu:centrifuge/uranium_238_separation' })
event.recipes.gtceu.centrifuge('tfg:uranium_238_separation')
.itemInputs('#forge:dusts/uranium')
.chancedOutput('#forge:tiny_dusts/uranium_235', 2300, 0)
.duration(20*40)
.EUt(GTValues.VA[GTValues.HV])
*/
// Change the Large Centrifugal Unit to be craftable at EV
event.remove({ id: 'gtceu:shaped/large_centrifuge' })
event.shaped('gtceu:large_centrifuge', [
'EFE',
'ADA',
'BCB'
], {
A: '#gtceu:circuits/iv',
B: 'gtceu:ev_electric_motor',
C: 'gtceu:aluminium_single_cable',
D: 'gtceu:ev_centrifuge',
E: 'gtceu:molybdenum_disilicide_spring',
F: 'gtceu:stainless_steel_huge_fluid_pipe'
}).id('tfg:shaped/large_centrifuge')
}

View file

@ -937,6 +937,8 @@ function registerGTCEuMachineRecipes(event) {
.EUt(GTValues.VA[GTValues.ZPM])
.circuit(2)
//#endregion
event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax')
.itemInputs('2x #tfg:wood_dusts',
'1x #forge:wax')

View file

@ -692,6 +692,9 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:shaped/mortar_grind_steel' })
event.remove({ id: 'gtceu:shaped/mortar_grind_wrought_iron' })
// Replace by the Heat Exchanger recipe for Mars
event.remove({ id: 'gtceu:fluid_heater/formamide' })
// Snow Stuffs
event.remove({ id: 'gtceu:fluid_solidifier/snow_block' })

View file

@ -20,5 +20,6 @@ const registerTFGRecipes = (event) => {
registerTFGSpaceRecipes(event)
registerTFGStoneDustRecipes(event)
registerTFGRecyclingRecipes(event)
registerTFGNuclearRecipes(event)
}

View file

@ -0,0 +1,405 @@
// priority: 0
function registerTFGNuclearRecipes(event) {
//#region Nuclear Pellet
event.recipes.gtceu.nuclear_fuel_factory('gtceu:thorium_pellet')
.itemInputs('1x #forge:nuggets/thorium_230', '1x #forge:ingots/thorium_232')
.itemOutputs('#forge:ingots/thorium_pellet')
.duration(20*30)
.EUt(GTValues.V[GTValues.HV])
event.recipes.gtceu.nuclear_fuel_factory('gtceu:uranium_pellet')
.inputFluids(Fluid.of('gtceu:uranium_waste', 1000))
.itemInputs('#forge:nuggets/uranium_235', '1x #forge:ingots/uranium')
.itemOutputs('#forge:ingots/uranium_pellet')
.duration(20*30)
.EUt(GTValues.V[GTValues.HV])
event.recipes.gtceu.nuclear_fuel_factory('gtceu:plutonium_pellet')
.itemInputs('1x #forge:ingots/plutonium')
.inputFluids(Fluid.of('gtceu:radon', 10))
.itemOutputs('#forge:ingots/plutonium_pellet')
.duration(20*30)
.EUt(GTValues.V[GTValues.EV])
event.recipes.gtceu.nuclear_fuel_factory('gtceu:tbu-232_pellet')
.inputFluids(Fluid.of('gtceu:nuclear_waste', 32000))
.itemInputs('#forge:ingots/thorium_232')
.itemOutputs('#forge:ingots/tbu-232_pellet')
.duration(20*30)
.EUt(GTValues.V[GTValues.EV])
//#endregion
//#region Processing Fuels
event.recipes.gtceu.centrifuge('thorium_isotope')
//.inputFluids(Fluid.of('minecraft:water', 50))
.itemInputs('9x #forge:dusts/thorium')
.chancedOutput('#forge:dusts/thorium_230', 9000, 0)
.itemOutputs('8x #forge:dusts/thorium_232')
.duration(20*30)
.EUt(GTValues.VA[GTValues.HV])
//#endregion
//#region Mars Water
event.recipes.gtceu.electrolyzer('mars_water')
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
.outputFluids(Fluid.of('gtceu:heavy_water', 500))
.itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride')
.duration(20*9)
.EUt(GTValues.VA[GTValues.LV])
/* event.recipes.gtceu.electric_blast_furnace('ammonium_chloryde')
.itemInputs('#forge:dusts/ammonium_chloride')
.outputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000))
.outputFluids(Fluid.of('gtceu:ammonia', 1000))
.blastFurnaceTemp(4600)
.duration(20*36)
.EUt(GTValues.VA[GTValues.IV])*/
// Martian Sludge
event.recipes.gtceu.chemical_bath('dirty_hexafluorosilicic_acid')
.itemInputs('32x #forge:mars_stone_dusts')
.inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
.outputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000))
.duration(20*8)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.centrifuge('martian_sludge')
.inputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000))
.outputFluids(Fluid.of('gtceu:martian_sludge', 1000))
.outputFluids(Fluid.of('gtceu:hydrogen', 1000))
.outputFluids(Fluid.of('gtceu:fluorine', 1000))
.duration(20*16)
.EUt(GTValues.VA[GTValues.IV])
// Plutonium Process
event.recipes.gtceu.gas_pressurizer('nuclear_residue')
.inputFluids(Fluid.of('gtceu:martian_sludge', 1000))
.inputFluids(Fluid.of('gtceu:formamide', 1000))
.inputFluids(Fluid.of('gtceu:radioactive_waste', 1000))
.outputFluids(Fluid.of('gtceu:radon', 100))
.itemOutputs('#forge:dusts/nuclear_residue')
.duration(20*48)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.vacuum_freezer('oxidized_nuclear_residue')
.itemInputs('#forge:dusts/nuclear_residue')
.inputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000))
.outputFluids(Fluid.of('minecraft:water', 10))
.itemOutputs('#forge:dusts/oxidized_nuclear_residue')
.duration(20*5)
.EUt(GTValues.VA[GTValues.IV])
event.recipes.gtceu.centrifuge('refined_nuclear_residue')
.inputFluids(Fluid.of('gtceu:distilled_water', 1000))
.itemInputs('#forge:dusts/oxidized_nuclear_residue')
.itemOutputs('#forge:dusts/refined_nuclear_residue')
.outputFluids(Fluid.of('gtceu:hydrofluoric_acid', 2000))
.outputFluids(Fluid.of('gtceu:oxygen', 1000))
.duration(20*48)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.large_chemical_reactor('dioxygen_difluoride')
.inputFluids(Fluid.of('gtceu:oxygen', 2000))
.inputFluids(Fluid.of('gtceu:fluorine', 2000))
.outputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000))
.duration(20*48)
.EUt(GTValues.VA[GTValues.IV])
event.recipes.gtceu.large_chemical_reactor('plutonium_dust')
.itemInputs('#forge:dusts/refined_nuclear_residue')
.inputFluids(Fluid.of('gtceu:hydrogen', 2000))
.itemOutputs('#forge:dusts/plutonium')
.outputFluids(Fluid.of('gtceu:steam', 1000))
.duration(20*48)
.EUt(GTValues.VA[GTValues.IV])
//#endregion
//#region Heat Exchanger
event.recipes.gtceu.heat_exchanger('uranium_steam')
.inputFluids(Fluid.of('minecraft:water', 100))
.inputFluids(Fluid.of('gtceu:radioactive_steam', 100))
.inputFluids(Fluid.of('gtceu:ammonium_formate', 100))
.outputFluids(Fluid.of('gtceu:dense_steam', 100))
.outputFluids(Fluid.of('gtceu:formamide', 100))
.duration(20*10)
.EUt(1)
event.recipes.gtceu.heat_exchanger('plutonium_steam')
.inputFluids(Fluid.of('minecraft:water', 100))
.inputFluids(Fluid.of('gtceu:irradiated_steam', 100))
.outputFluids(Fluid.of('gtceu:dense_steam', 100))
.duration(20*10)
.EUt(1)
// Heat Exchanger for Energy
event.recipes.gtceu.heat_exchanger('flibe_cooling')
.inputFluids(Fluid.of('gtceu:hot_flibe', 100))
.inputFluids(Fluid.of('gtceu:distilled_water', 100))
.chancedFluidInput(Fluid.of('gtceu:hastelloy_c_276', 100), 5000, 0)
.chancedFluidOutput(Fluid.of('gtceu:flibe', 100), 9500, 0)
.outputFluids(Fluid.of('gtceu:dense_steam', 100))
.duration(20*10)
.EUt(1)
//#endregion
//#region Fission Reactor
event.recipes.gtceu.fission_reactor('thorium_uranium_waste')
.itemInputs('#forge:bolts/thorium_pellet')
.inputFluids(Fluid.of('minecraft:water', 200))
.outputFluids(Fluid.of('gtceu:dense_steam', 200))
.outputFluids(Fluid.of('gtceu:uranium_waste', 20))
.duration(20*100)
.EUt(32)
event.recipes.gtceu.fission_reactor('thorium_nuclear_waste')
.itemInputs('#forge:bolts/thorium_pellet')
.inputFluids(Fluid.of('gtceu:distilled_water', 200))
.outputFluids(Fluid.of('gtceu:dense_steam', 200))
.outputFluids(Fluid.of('gtceu:nuclear_waste', 10))
.duration(20*100)
.EUt(32)
event.recipes.gtceu.fission_reactor('uranium_radioactive')
.itemInputs('#forge:bolts/uranium_pellet')
.inputFluids(Fluid.of('gtceu:heavy_water', 500))
.outputFluids(Fluid.of('gtceu:radioactive_steam', 500))
.outputFluids(Fluid.of('gtceu:radioactive_waste', 50))
.duration(20*100)
.EUt(32)
event.recipes.gtceu.fission_reactor('plutonium_irradiated')
.itemInputs('#forge:bolts/plutonium_pellet')
.inputFluids(Fluid.of('gtceu:heavy_water', 1000))
.outputFluids(Fluid.of('gtceu:irradiated_steam', 1000))
.outputFluids(Fluid.of('gtceu:tritiated_water', 50))
.duration(20*100)
.EUt(32)
// Fission Reactor for Energy
event.recipes.gtceu.fission_reactor('tbu_reactor')
.itemInputs('#forge:bolts/tbu-232_pellet')
.inputFluids(Fluid.of('gtceu:flibe', 1000))
.outputFluids(Fluid.of('gtceu:hot_flibe', 1000))
.outputFluids(Fluid.of('gtceu:nuclear_waste', 500))
.duration(20*100)
.EUt(32)
//#endregion
//#region Power Generation
event.recipes.gtceu.gas_turbine('dense_steam')
.inputFluids(Fluid.of('gtceu:dense_steam', 1))
.EUt(-32)
.duration(20*2)
//#endregion
//#region FLiBe Line
event.recipes.gtceu.evaporation_tower('raw_rich_brine')
.inputFluids(Fluid.of('tfc:spring_water', 20000))
.outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000))
.duration(20*50)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.chemical_reactor('hydrogen_iodide_to_hot_iodine_brine')
.inputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000))
.inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000))
.outputFluids(Fluid.of('gtceu:sodium_potassium', 1000))
.outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000))
.duration(20*24)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('basic_bromine_exhaust_to_hot_iodine_brine')
.inputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000))
.inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000))
.outputFluids(Fluid.of('gtceu:sodium_potassium', 1000))
.outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000))
.outputFluids(Fluid.of('gtceu:steam', 1000))
.duration(20*30)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.evaporation_tower('brominated_iodine_vapor')
.inputFluids(Fluid.of('gtceu:hot_iodine_brine', 10000))
.itemOutputs('#forge:dusts/magnesium_chloride')
.outputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000))
.duration(20*50)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.chemical_reactor('lithium_carbonate')
.inputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000))
.itemInputs('#forge:dusts/sodium_hydroxide')
.itemOutputs('#forge:dusts/lithium_carbonate')
.outputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000))
.duration(20*54)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('lithium_fluoride')
.inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
.itemInputs('#forge:dusts/lithium_carbonate')
.itemOutputs('#forge:gems/lithium_fluoride')
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
.outputFluids(Fluid.of('minecraft:water', 1000))
.duration(20*36)
.EUt(GTValues.VA[GTValues.IV])
event.recipes.gtceu.chemical_reactor('tetrafluoroberyllate')
.inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
.itemInputs('#forge:purified_ores/beryllium')
.itemOutputs('#forge:gems/tetrafluoroberyllate')
.outputFluids(Fluid.of('minecraft:water', 1000))
.duration(20*36)
.EUt(GTValues.VA[GTValues.IV])
event.recipes.gtceu.alloy_blast_smelter('dirty_flibe')
.inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
.inputFluids(Fluid.of('gtceu:helium', 1000))
.inputFluids(Fluid.of('minecraft:water', 1000))
.itemInputs('#forge:gems/lithium_fluoride')
.itemInputs('#forge:gems/tetrafluoroberyllate')
.outputFluids(Fluid.of('gtceu:dirty_flibe', 1000))
.blastFurnaceTemp(3600)
.duration(20*36)
.EUt(GTValues.VA[GTValues.IV])
event.recipes.gtceu.electrolyzer('flibe')
.inputFluids(Fluid.of('gtceu:dirty_flibe', 1000))
.outputFluids(Fluid.of('gtceu:flibe', 1000))
.itemOutputs('#forge:dusts/chromium')
.itemOutputs('gtceu:nickel_dust')
.itemOutputs('gtceu:iron_dust')
.duration(20*36)
.EUt(GTValues.VA[GTValues.IV])
//#endregion
//#region Bromine Line
event.recipes.gtceu.evaporation_tower('evaporation_brine')
.inputFluids(Fluid.of('tfc:salt_water', 20000))
.outputFluids(Fluid.of('gtceu:raw_brine', 1000))
.duration(20*50)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.fluid_heater('heat_brine')
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
.outputFluids(Fluid.of("gtceu:hot_brine", 1000))
.duration(20*600)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.heat_exchanger('heat_brine_nuclear')
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
.inputFluids(Fluid.of("gtceu:irradiated_steam", 1000))
.outputFluids(Fluid.of("gtceu:hot_brine", 1000))
.outputFluids(Fluid.of("gtceu:dense_steam", 1000))
.duration(20*100)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing')
.inputFluids(Fluid.of("gtceu:raw_brine", 1000))
.inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000))
.outputFluids(Fluid.of('gtceu:hot_brine', 2000))
.outputFluids(Fluid.of('gtceu:debrominated_brine', 1000))
.duration(20*10)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('brine_acidification')
.inputFluids(Fluid.of("gtceu:hot_brine", 2000))
.inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000))
.outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000))
.outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000))
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating')
.inputFluids(Fluid.of("gtceu:hot_brine", 1000))
.inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
.outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
.outputFluids(Fluid.of('gtceu:steam', 3000))
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('brine_chloroination')
.inputFluids(Fluid.of("gtceu:hot_brine", 1000))
.inputFluids(Fluid.of('gtceu:chlorine', 1000))
.outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('brine_neutralization')
.inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000))
.itemInputs('gtceu:potassium_dust')
.outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000))
.itemOutputs(Item.of('2x gtceu:rock_salt_dust'))
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.centrifuge('debrominated_brine_decomposition')
.inputFluids(Fluid.of('gtceu:debrominated_brine', 2000))
.outputFluids(Fluid.of('tfc:salt_water'), 1000)
.duration(20*3)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.chemical_reactor('brine_filtration')
.inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
.inputFluids(Fluid.of('gtceu:chlorine', 1000))
.inputFluids(Fluid.of('gtceu:steam', 1000))
.outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000))
.outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000))
.duration(20*15)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation')
.inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000))
.inputFluids(Fluid.of('minecraft:water', 1000))
.outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
.outputFluids(Fluid.of('minecraft:water', 2000))
.duration(20*15)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration')
.inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
.inputFluids(Fluid.of('gtceu:steam', 1000))
.outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
.outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.distillery('bromine_distillation_to_chlorine')
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100))
.outputFluids(Fluid.of('gtceu:chlorine', 50))
.duration(20*5)
.circuit(1)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.distillery('bromine_distillation_to_bromine')
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40))
.outputFluids(Fluid.of('gtceu:bromine', 40))
.duration(20*2)
.circuit(2)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.distillation_tower('bromine_distillation')
.inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
.outputFluids(Fluid.of('gtceu:chlorine', 500))
.outputFluids(Fluid.of('gtceu:bromine', 1000))
.duration(20*25)
.EUt(GTValues.VA[GTValues.HV])
}

View file

@ -48,6 +48,13 @@ function registerTFGSpaceRecipes(event) {
.duration(20*60*30)
.EUt(16)
event.recipes.gtceu.gas_collector('mars')
.circuit(3)
.outputFluids(Fluid.of('gtceu:carbon_dioxide', 10000))
.dimension('ad_astra:mars')
.duration(20*10)
.EUt(16)
// Aqueous accumulator
let aaCircuit = 1;

View file

@ -254,6 +254,12 @@ const registerTFGItemTags = (event) => {
event.add('tfc:grass', 'tfg:grass/sangnum_mycelium')
// #endregion
// Mars stone dust
event.add('forge:mars_stone_dusts', 'tfg:venus_stone_dust')
event.add('forge:mars_stone_dusts', 'gtceu:granite_red_dust')
event.add('forge:mars_stone_dusts', 'tfg:mars_stone_dust')
// #region 0.7.19 -> 0.9 conversion
event.add('c:hidden_from_recipe_viewers', 'treetap:tap')
event.add('c:hidden_from_recipe_viewers', 'tfcea:refrigerator')

View file

@ -286,4 +286,141 @@ const registerGTCEuMachines = (event) => {
)
.workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
//#region Nuclear Multiblocks
// Nuclear Fuel Factory
event.create('nuclear_fuel_factory', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('nuclear_fuel_factory')
.recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK)])
.appearanceBlock(() => Block.getBlock('gtceu:atomic_casing'))
.pattern(definition => FactoryBlockPattern.start()
.aisle('RLLLR', 'I I', 'I I', 'I I', 'RLLLR')
.aisle('LRRRL', ' KPK ', ' KPK ', ' KPK ', 'LRRRL')
.aisle('LRSRL', ' PCP ', ' PCP ', ' PCP ', 'LRSRL')
.aisle('LRRRL', ' KPK ', ' KPK ', ' KPK ', 'LRRRL')
.aisle('RLXLR', 'I I', 'I I', 'I I', 'RLLLR')
.where('X', Predicates.controller(Predicates.blocks(definition.get())))
.where('R', Predicates.blocks('gtceu:atomic_casing'))
.where('I', Predicates.blocks('gtceu:stainless_steel_frame'))
.where('G', Predicates.blocks('gtceu:high_temperature_smelting_casing'))
.where('P', Predicates.blocks('gtceu:laminated_glass'))
.where('S', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get()))
.where('K', Predicates.blocks('gtceu:high_temperature_smelting_casing'))
.where('C', Predicates.blocks(GTBlocks.COIL_RTMALLOY.get()))
.where('L', Predicates.blocks('gtceu:atomic_casing')
.or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setExactLimit(1)))
.where('#', Predicates.air())
.where(' ', Predicates.any())
.build()
)
.workableCasingModel(
'gtceu:block/casings/gcym/atomic_casing',
'gtceu:block/machines/fermenter')
// Nuclear Heat Exchanger
event.create('heat_exchanger', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('heat_exchanger')
.recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK])
.appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing'))
.pattern(definition => FactoryBlockPattern.start()
.aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ')
.aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA')
.aisle('AFFFFFA','B#####B','LEEEEEL','B#####B','AFFFFFA')
.aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA')
.aisle(' ','BBBXBBB','BCCCCCB','BBBMBBB',' ')
.where('X', Predicates.controller(Predicates.blocks(definition.get())))
.where('A', Predicates.blocks('gtceu:atomic_casing'))
.where('B', Predicates.blocks('gtceu:high_temperature_smelting_casing')
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)))
.where('C', Predicates.blocks('gtceu:laminated_glass'))
.where('D', Predicates.blocks(GTBlocks.FIREBOX_TITANIUM.get()))
.where('E', Predicates.blocks(GTBlocks.CASING_TITANIUM_PIPE.get()))
.where('F', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get()))
.where('L', Predicates.blocks('gtceu:high_temperature_smelting_casing')
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS_4X).setExactLimit(1))
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setExactLimit(1)))
.where('M', Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)
.or(Predicates.blocks('gtceu:high_temperature_smelting_casing')))
.where('#', Predicates.air())
.where(' ', Predicates.any())
.build()
)
.workableCasingModel(
"gtceu:block/casings/gcym/high_temperature_smelting_casing",
"gtceu:block/machines/fluid_heater")
// Nuclear Fission Reactor
event.create('fission_reactor', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('fission_reactor')
.recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK])
.appearanceBlock(() => Block.getBlock('gtceu:atomic_casing'))
.pattern(definition => FactoryBlockPattern.start()
.aisle('LLLLL','ABCBA','ABCBA','ABCBA','ABCBA','ABCBA','LLLLL')
.aisle('LAAAL','BE#EB','BE#EB','BE#EB','BE#EB','BE#EB','LAAAL')
.aisle('LAAAL','C#D#C','C#D#C','C#D#C','C#D#C','C#D#C','LAAAL')
.aisle('LAAAL','BE#EB','BE#EB','BE#EB','BE#EB','BE#EB','LAAAL')
.aisle('LLXLL','ABCBA','ABCBA','ABCBA','ABCBA','ABCBA','LLLLL')
.where('X', Predicates.controller(Predicates.blocks(definition.get())))
.where('A', Predicates.blocks('gtceu:high_temperature_smelting_casing'))
.where('B', Predicates.blocks('gtceu:atomic_casing'))
.where('C', Predicates.blocks('gtceu:laminated_glass'))
.where('D', Predicates.blocks(GTBlocks.FIREBOX_TITANIUM.get()))
.where('E', Predicates.blocks('gtceu:titanium_frame'))
.where('F', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get()))
.where('L', Predicates.blocks('gtceu:atomic_casing').setMinGlobalLimited(10)
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)))
.where('#', Predicates.air())
.where(' ', Predicates.any())
.build()
)
.workableCasingModel(
"gtceu:block/casings/gcym/atomic_casing",
"gtceu:block/machines/electromagnetic_separator")
//#endregion
//#region Evaporation Tower
event.create('evaporation_tower', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('evaporation_tower')
.noRecipeModifier()
.appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_stainless_evaporation'))
.pattern(definition => FactoryBlockPattern.start()
.aisle('ZBZ','CCC','CCC','CCC',' A ')
.aisle('BAB','C#C','C#C','C#C','AAA')
.aisle('ZXZ','CCC','CCC','CCC',' A ')
.where('X', Predicates.controller(Predicates.blocks(definition.get())))
.where('A', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation'))
.where('B', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation')
.or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)))
.where('C', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation')
.or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)))
.where('Z', Predicates.blocks('gtceu:aluminium_frame'))
.where('#', Predicates.air())
.where(' ', Predicates.any())
.build()
)
.workableCasingModel(
'gtceu:block/casings/solid/machine_casing_stainless_evaporation',
'gtceu:block/multiblock/distillation_tower')
}

View file

@ -292,7 +292,11 @@ const registerGTCEuMaterialModification = (event) => {
// Change byproducts so you can't get certus from normal quartzite
GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz);
GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz);
// Change Beryllium to add Chemical Bath recipe and Thorium byproduct
GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium);
GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate);
// Color Adjustments
GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E)
GTMaterials.BismuthBronze.setMaterialSecondaryARGB(0x203E2A)

View file

@ -23,11 +23,44 @@ const registerGTCEuRecipeTypes = (event) => {
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.FIRE)
event.create('large_solar_panel')
.category('generator')
.setEUIO('out')
.setMaxIOSize(2, 0, 2, 1)
.setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
}
event.create('large_solar_panel')
.category('generator')
.setEUIO('out')
.setMaxIOSize(2, 0, 2, 1)
.setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('nuclear_fuel_factory')
.category('nuclear_fuel_factory')
.setEUIO('in')
.setMaxIOSize(2, 1, 1, 0)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP)
.setSound(GTSoundEntries.MINER)
event.create('heat_exchanger')
.category('heat_exchanger')
.setEUIO('in')
.setMaxIOSize(0, 0, 4, 4)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP)
.setSound(GTSoundEntries.MINER)
event.create('fission_reactor')
.category('fission_reactor')
.setEUIO('in')
.setMaxIOSize(1, 0, 1, 2)
.setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
.setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP)
.setSound(GTSoundEntries.MINER)
event.create('evaporation_tower')
.category('evaporation_tower')
.setEUIO('in')
.setMaxIOSize(0, 1, 1, 6)
.setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_DISTILLATION_TOWER, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.BATH)
}

View file

@ -54,6 +54,7 @@ GTCEuStartupEvents.registry('gtceu:material', event => {
registerGTCEuMaterials(event)
registerGreateMaterials(event)
registerTFGMaterials(event)
registerTFGNuclearMaterials(event)
})
GTCEuStartupEvents.registry('gtceu:material_icon_set', event => {
@ -69,6 +70,11 @@ GTCEuStartupEvents.registry('gtceu:dimension_marker', event => {
registerTFGDimensionMarkers(event)
})
GTCEuStartupEvents.registry("gtceu:element", event => {
registerTFGElement(event)
})
Platform.mods.primitive_creatures.name = "Primitive Creatures";
Platform.mods.tfg.name = "TerraFirmaGreg";
Platform.mods.kubejs.name = "TerraFirmaGreg";

View file

@ -42,9 +42,20 @@ const registerTFGBlocks = (event) => {
.hardness(5)
.resistance(6)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
.mapColor('color_light_gray')
})
event.create(`tfg:casings/machine_casing_stainless_evaporation`)
.translationKey(`block.tfg.casings.machine_casing_stainless_evaporation`)
.model(`tfg:block/casings/machine_casing_stainless_evaporation`)
.soundType('copper')
.hardness(5)
.resistance(6)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
.mapColor('color_light_gray')
//#endregion
// #region Decorative vases

View file

@ -104,14 +104,15 @@ global.MARS_BIOMES = [
* @type {string[]} - Block Names
*/
global.TFG_MACHINE_CASINGS = [
//'machine_casing_clean_stainless_steel_desh',
//'machine_casing_desh_ptfe',
'machine_casing_clean_stainless_steel_desh',
'machine_casing_desh_ptfe',
'machine_casing_iron_desh',
//'machine_casing_ptfe_desh',
//'machine_casing_stainless_steel_desh',
//'machine_casing_blue_solar_panel',
//'machine_casing_green_solar_panel',
'machine_casing_red_solar_panel'
'machine_casing_ptfe_desh',
'machine_casing_stainless_steel_desh',
'machine_casing_blue_solar_panel',
'machine_casing_green_solar_panel',
'machine_casing_red_solar_panel',
'machine_casing_mars'
];
/**

View file

@ -0,0 +1,13 @@
// priority: 0
const registerTFGElement = (event) => {
event.create("thorium_230")
.protons(90)
.neutrons(230)
.symbol("Th²³⁰")
event.create("thorium_232")
.protons(90)
.neutrons(232)
.symbol("Th²³²")
}

View file

@ -5,6 +5,7 @@ const registerTFGItems = (event) => {
registerTFGDeprecatedItems(event)
registerTFGFoodItems(event)
registerTFGNuclearItems(event)
// #region Electronics
event.create('tfg:unfinished_electron_tube', 'create:sequenced_assembly')

View file

@ -0,0 +1,6 @@
// priority: 0
function registerTFGNuclearItems(event) {
}

View file

@ -166,4 +166,58 @@ const registerTFGMaterials = (event) => {
.secondaryColor(0xe65609)
//end region
//#region Bromine Line
event.create('raw_brine')
.fluid()
.color(0x947a11)
//.secondaryColor(0x81FFF9)
event.create('hot_brine')
.liquid(320)
.color(0x944611)
event.create('hot_chlorinated_brominated_brine')
.liquid(320)
.color(0xbf8d5a)
.formula('?Cl')
event.create('brominated_chlorine_vapor')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320))
.color(0xbf8d5a)
.formula('ClBr(H2O)')
event.create('acidic_bromine_solution')
.liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID))
.color(0xe7b989)
.formula('ClBr')
event.create('concentrated_bromine_solution')
.liquid()
.color(0x905d29)
.formula('Br2Cl')
event.create('debrominated_brine')
.liquid()
.color(0xc3874a)
event.create('acidic_bromine_exhaust')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(293))
.color(0xec9c4a)
.formula('(H2O)3Cl')
event.create('hot_alkaline_debrominated_brine')
.liquid()
.color(0xcc6a06)
.formula('?2Cl')
event.create('hot_debrominated_brine')
.liquid(320)
.color(0xb08e6b)
event.create('hydrogen_iodide')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(293))
.color(0x82a6ce)
.formula('HI')
}

View file

@ -0,0 +1,251 @@
// priority: 0
const registerTFGNuclearMaterials = (event) => {
/* event.create('mysterious_ooze')
.fluid()
.color(0x500bbf)
.fluidTemp(69420)
.dust()
.cableProperties(GTValues.V[GTValues.LV], 69, 0, true) // Voltage, Amperage, EU loss, Is Superconductor.
.gem(2, 4000)
.element(GTElements.C)
.ore(2, 3)
.color(0x7D2DDB)
.iconSet(GTMaterialIconSet.LIGNITE)
.ingot()
.components('1x andesite', '1x iron')
.color(0x839689)
.iconSet(GTMaterialIconSet.DULL)
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR)
*/
//#region Fluid
event.create('dense_steam')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730))
.components('2x hydrogen', '1x oxygen')
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('radioactive_steam')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730))
.components('2x hydrogen', '1x oxygen')
.formula("H20(?)")
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('radioactive_waste')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730))
.formula("(?)")
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('irradiated_steam')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(4250))
.formula("(?)")
.flags(
GTMaterialFlags.DISABLE_DECOMPOSITION)
event.create('heavy_water')
.fluid()
.components('2x deuterium', '1x oxygen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.iconSet(GTMaterialIconSet.FINE)
.color(0xB5B9FF)
.secondaryColor(0x81FFF9)
event.create('uranium_waste')
.liquid(new GTFluidBuilder().customStill().temperature(3850))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.iconSet(GTMaterialIconSet.FINE)
.color(0xB5B9FF)
.secondaryColor(0x81FFF9)
event.create('nuclear_waste')
.liquid(new GTFluidBuilder().customStill().temperature(3850))
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.formula('(ThU(?)')
event.create('dirty_hexafluorosilicic_acid')
.liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID))
//.liquid(320)
.formula('H2SiF6(?)')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xe6fafb)
.secondaryColor(0xb5fdff)
.iconSet(GTMaterialIconSet.getByName('thick_fluid'))
event.create('martian_sludge')
.liquid(new GTFluidBuilder().temperature(4239))
.formula('(?)')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xd86f27)
.secondaryColor(0xecd7c9)
.iconSet(GTMaterialIconSet.getByName('bullshit'))
event.create('dioxygen_difluoride')
.fluid()
.components('2x oxygen', '2x fluorine')
.iconSet(GTMaterialIconSet.FINE)
.color(0xffa500)
.secondaryColor(0xffffff)
event.create('tritiated_water')
.fluid()
.components('2x tritium', '1x oxygen')
.iconSet(GTMaterialIconSet.FINE)
.color(0xb2c3e7)
// FLiBe Line
event.create('raw_rich_brine')
.liquid(new GTFluidBuilder().customStill().temperature(293))
event.create('hot_iodine_brine')
.liquid(new GTFluidBuilder().customStill().temperature(293))
.formula('HIMgCl(?)')
event.create('brominated_iodine_vapor')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412))
.formula('HI(?)')
event.create('basic_bromine_exhaust')
.gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406))
event.create('dirty_flibe')
.liquid(new GTFluidBuilder().customStill().temperature(293))
.formula('FLiBe(?)')
event.create('flibe')
.liquid(new GTFluidBuilder().customStill().temperature(293))
.formula('FLiBe')
event.create('hot_flibe')
.liquid(new GTFluidBuilder().customStill().temperature(3293))
.formula('FLiBe')
//#endregion
//#region Dust
event.create('tfg:mars_stone_dust')
.dust()
.components('2x deuterium', '1x oxygen')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xE79B07)
.secondaryColor(0x5A4316)
.iconSet(GTMaterialIconSet.ROUGH)
event.create('tfg:nuclear_residue')
.dust()
.formula('(?)')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x332816)
.secondaryColor(0x674c24)
.iconSet(GTMaterialIconSet.RADIOACTIVE)
event.create('tfg:oxidized_nuclear_residue')
.dust()
.formula('U?O?(?)')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x286529)
.secondaryColor(0x012702)
.iconSet(GTMaterialIconSet.RADIOACTIVE)
event.create('tfg:refined_nuclear_residue')
.dust()
.formula('U?(?)')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0x82c383)
.secondaryColor('0xffffff')
.iconSet(GTMaterialIconSet.RADIOACTIVE)
// FLiBe Dusts
event.create('lithium_carbonate')
.dust()
.components('2x lithium', '1x carbon', '3x oxygen')
.formula('Li2CO3')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
.color(0xffffff)
.secondaryColor(0xb7b9bd)
.iconSet(GTMaterialIconSet.GLASS)
event.create('lithium_fluoride')
.gem()
.components('1x lithium', '1x fluorine')
.formula('LiF')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_UNIFICATION)
.color(0xffffff)
.secondaryColor(0xb7b9bd)
.iconSet(GTMaterialIconSet.FLINT)
event.create('tetrafluoroberyllate')
.gem()
.components('1x beryllium', '4x fluorine')
.formula('BeF4')
.flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_UNIFICATION)
.color(0xdcdee1)
.secondaryColor(0xb7b9bd)
.iconSet(GTMaterialIconSet.OPAL)
//#endregion
//#region Ingots
event.create('thorium_230')
.ingot()
.element(GTElements.get("thorium_230"))
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.color(0x323B2F)
.secondaryColor(0xECECEC)
.radioactiveHazard(1000000)
event.create("thorium_232")
.ingot()
.element(GTElements.get("thorium_232"))
.iconSet(GTMaterialIconSet.METALLIC)
.color(0x5F694C)
.secondaryColor('0xFFFFFF')
.radioactiveHazard(1000)
//#endregion
//#region Fuel Pellet
event.create('uranium_pellet')
.ingot()
.element(GTElements.U)
.iconSet(GTMaterialIconSet.METALLIC)
.color(0x216614)
.radioactiveHazard(1000000)
.flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
event.create('thorium_pellet')
.ingot()
.element(GTElements.Th)
.iconSet(GTMaterialIconSet.METALLIC)
.color(0x631e5a)
.radioactiveHazard(100000)
.flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
event.create('plutonium_pellet')
.ingot()
.element(GTElements.Pu)
.iconSet(GTMaterialIconSet.METALLIC)
.color(0xc91414)
.radioactiveHazard(10000000)
.flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
event.create('tbu-232_pellet')
.ingot()
.iconSet(GTMaterialIconSet.RADIOACTIVE)
.color(0xaa55ba)
.secondaryColor(0xECECEC)
.radioactiveHazard(10000000)
.flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
//#endregion
}