Finishing adding the Fission Reactor to TFG (#1951)

* Some cleaning

* Some multiblocks change

* more changes

* More changes to nuclear line adding coolant

* Graphite line

* Last changes to Fission Line

* Finishing the nuclear line

* add impure moderator

* fix removal of plutonium

* fix Tag Prefix
This commit is contained in:
TomPlop 2025-10-04 11:44:53 -04:00 committed by GitHub
parent 7c3f3b29a1
commit 744f34cda3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
38 changed files with 394 additions and 38 deletions

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "tfg:block/fission/impure_moderate_core"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "tfg:block/fission/moderate_core"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "tfg:block/fission_component",
"textures": {
"infill": "tfg:block/fission/impure_moderate_core",
"frame": "tfg:block/empty_fission_frame"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "tfg:block/fission_component",
"textures": {
"infill": "tfg:block/fission/moderate_core",
"frame": "tfg:block/empty_fission_frame"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "tfg:item/graphite_line/pure_graphite_rod",
"layer1": "tfg:item/graphite_line/annealed_rod"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "tfg:item/graphite_line/pure_graphite_rod",
"layer1": "tfg:item/graphite_line/annealed_rod"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "tfg:item/graphite_line/washed_graphite_briquette",
"layer1": "tfg:item/graphite_line/washed_graphite_briquette_overlay"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -172,9 +172,29 @@ const registerTooltips = (event) => {
event.addAdvanced(['minecraft:blue_ice'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.blue_ice"))
})
event.addAdvanced(['ad_astra:glacian_fur'], (item, advanced, text) => {
event.addAdvanced(['tfg:glacian_wool_frame'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.glacian_fur"))
})
event.addAdvanced(['tfg:aes_insulation_frame'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.aes_insulation_frame"))
})
event.addAdvanced(['tfg:moderate_core_frame'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.moderate_core_frame"))
})
event.addAdvanced(['tfg:impure_moderate_core_frame'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.impure_moderate_core_frame"))
})
event.addAdvanced(['tfg:dry_ice'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.dry_ice"))
})
event.addAdvanced(['tfg:refrigerant_pellet'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet"))
})
event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => {
text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1"))
text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2"))
})
// AE2
event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => {

View file

@ -958,7 +958,7 @@ function registerGTCEuMachineRecipes(event) {
event.recipes.gtceu.assembler('steel_machine_casing')
.itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
.itemOutputs('gtceu:steel_machine_casing')
.circuit(4)
.circuit(6)
.duration(2.5 * 20)
.EUt(16)
@ -966,7 +966,7 @@ function registerGTCEuMachineRecipes(event) {
.itemInputs('gtceu:clean_machine_casing', '4x gtceu:annealed_copper_double_wire')
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 288))
.itemOutputs('tfg:casings/machine_casing_stainless_evaporation')
.circuit(4)
.circuit(6)
.duration(2.5 * 20)
.EUt(GTValues.VA[GTValues.HV])
@ -974,7 +974,7 @@ function registerGTCEuMachineRecipes(event) {
.itemInputs('gtceu:clean_machine_casing', '4x #forge:double_wires/kanthal')
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 288))
.itemOutputs('tfg:casings/machine_casing_mars')
.circuit(4)
.circuit(6)
.duration(2.5 * 20)
.EUt(GTValues.VA[GTValues.HV])
@ -982,7 +982,7 @@ function registerGTCEuMachineRecipes(event) {
.itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium')
.inputFluids(Fluid.of('gtceu:polyvinyl_butyral', 288))
.itemOutputs('2x gtceu:atomic_casing')
.circuit(4)
.circuit(6)
.duration(2.5 * 20)
.EUt(GTValues.VA[GTValues.HV])
@ -1270,4 +1270,16 @@ function registerGTCEuMachineRecipes(event) {
}
).id('tfg:shaped/heat_exchanger')
event.shaped('tfg:nuclear_turbine', [
'CTC',
'TZT',
'BTB'
], {
T: '#forge:gears/magnalium',
Z: 'gtceu:ev_machine_hull',
B: 'gtceu:ultimet_large_item_pipe',
C: '#gtceu:circuits/ev'
}
).id('tfg:shaped/nuclear_turbine')
}

View file

@ -744,6 +744,12 @@ BlockEvents.rightClicked(event => {
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_frame', 'tfg:aes_insulation_roll', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
transformBlockWithToolReturn(event, 'tfg:aes_insulation_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_roll', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:moderate_core_frame', 'tfg:graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
transformBlockWithToolReturn(event, 'tfg:moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:impure_moderate_core_frame', 'tfg:impure_graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true);
transformBlockWithToolReturn(event, 'tfg:impure_moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true);
});
// Makes scythes, hoes, and knives take damage when cutting grass

View file

@ -2,26 +2,49 @@
function registerTFGNuclearRecipes(event) {
// Fission blocks
event.recipes.gtceu.assembler('tfg:redstone_port')
.itemInputs('gtceu:ev_machine_hull', 'gtceu:activity_detector_cover')
.itemOutputs('deafission:redstone_port')
.duration(20*30)
.circuit(1)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.assembler('tfg:material_holder')
.itemInputs('gtceu:ev_input_bus', '4x gtceu:uranium_triplatinum_single_wire', '2x gtceu:ev_conveyor_module', '#gtceu:circuits/ev')
.itemOutputs('deafission:material_holder')
.duration(20*30)
.circuit(1)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.assembler('tfg:fuel_holder')
.itemInputs('gtceu:ev_machine_hull', '4x gtceu:uranium_triplatinum_single_wire', '4x gtceu:ev_robot_arm', '4x gtceu:titanium_gear', '2x #gtceu:circuits/ev')
.itemOutputs('deafission:fuel_holder')
.duration(20*30)
.circuit(1)
.EUt(GTValues.VA[GTValues.LV])
//#region Nuclear Pellet
event.recipes.gtceu.nuclear_fuel_factory('tfg:thorium_pellet')
.itemInputs('10x #forge:ingots/thorium_230', '90x #forge:ingots/thorium_232', 'tfg:empty_rod')
.itemOutputs('tfg:thorium_rod')
.duration(20*100)
.duration(20*200)
.EUt(GTValues.V[GTValues.HV])
event.recipes.gtceu.nuclear_fuel_factory('tfg:uranium_pellet')
.inputFluids(Fluid.of('gtceu:uranium_waste', 10000))
.itemInputs('10x #forge:ingots/uranium_235', '90x #forge:ingots/uranium', 'tfg:empty_rod')
.itemOutputs('tfg:uranium_rod')
.duration(20*300)
.duration(20*600)
.EUt(GTValues.V[GTValues.HV])
event.recipes.gtceu.nuclear_fuel_factory('tfg:plutonium_pellet')
.itemInputs('90x #forge:ingots/plutonium', 'tfg:empty_rod')
.inputFluids(Fluid.of('gtceu:radon', 100))
.itemOutputs('tfg:plutonium_rod')
.duration(20*300)
.duration(20*600)
.EUt(GTValues.V[GTValues.EV])
/* REMOVE FOR VENUS COMMENTED OUT
event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod')
@ -58,7 +81,7 @@ function registerTFGNuclearRecipes(event) {
.outputFluids(Fluid.of('tfg:heavy_water', 500))
.itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride')
.duration(20*9)
.EUt(GTValues.VHA[GTValues.LV])
.EUt(GTValues.VHA[GTValues.ULV])
event.recipes.gtceu.centrifuge('mars_semiheavy_water')
.inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
@ -92,13 +115,13 @@ function registerTFGNuclearRecipes(event) {
.inputFluids(Fluid.of('gtceu:radioactive_waste', 1000))
.outputFluids(Fluid.of('gtceu:radon', 1000))
.itemOutputs('#forge:dusts/nuclear_residue')
.duration(20*30)
.duration(20*10)
.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('gtceu:residual_radioactive_concoction', 1000))
.outputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 4000))
.itemOutputs('#forge:dusts/oxidized_nuclear_residue')
.duration(20*5)
.EUt(GTValues.VA[GTValues.IV])
@ -139,7 +162,7 @@ function registerTFGNuclearRecipes(event) {
.outputFluids(Fluid.of('gtceu:dense_steam', 10))
.outputFluids(Fluid.of('gtceu:formamide', 10))
.perTick(false)
.duration(20*10)
.duration(20*5)
.EUt(1)
event.recipes.gtceu.heat_exchanger('plutonium_steam')
@ -148,7 +171,7 @@ function registerTFGNuclearRecipes(event) {
.inputFluids(Fluid.of('gtceu:irradiated_steam', 10))
.outputFluids(Fluid.of('gtceu:dense_steam', 10))
.perTick(false)
.duration(20*10)
.duration(20*5)
.EUt(1)
// Heat Exchanger for Energy
@ -175,10 +198,13 @@ function registerTFGNuclearRecipes(event) {
.duration(20*50)
.EUt(32)*/
// Thorium Fission
event.recipes.deafission.fission_reactor_fuel('tfg:thorium')
.itemInputs(Item.of('tfg:thorium_rod'))
.outputFluids(Fluid.of('gtceu:uranium_waste', 2500))
.itemOutputs(Item.of('tfg:empty_rod'))
.dimension('ad_astra:mars')
.hideDuration(true);
event.recipes.deafission.fission_reactor_coolant('tfg:thorium_coolant')
@ -187,17 +213,9 @@ function registerTFGNuclearRecipes(event) {
.inputFluids(Fluid.of('minecraft:water', 400))
.outputFluids(Fluid.of('gtceu:dense_steam', 2))
.perTick(false)
.dimension('ad_astra:mars')
.duration(1);
// Recipe for energy only reactor Just keeping it in case we got mod issues
/* 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)*/
// Recipe for Uranium Reactor Just keeping it in case we got mod issues
/* event.recipes.gtceu.fission_reactor('uranium_radioactive')
.itemInputs('#forge:bolts/uranium_rod')
@ -207,6 +225,8 @@ function registerTFGNuclearRecipes(event) {
.duration(20*100)
.EUt(32)*/
// Uranium Fission
event.recipes.deafission.fission_reactor_fuel('tfg:uranium')
.itemInputs(Item.of('tfg:uranium_rod'))
.outputFluids(Fluid.of('gtceu:radioactive_waste', 50000))
@ -216,7 +236,7 @@ function registerTFGNuclearRecipes(event) {
event.recipes.deafission.fission_reactor_coolant('tfg:uranium_coolant')
.notConsumable(Item.of('tfg:uranium_rod'))
.perTick(true)
.inputFluids(Fluid.of('tfg:heavy_water', 25))
.inputFluids(Fluid.of('tfg:heavy_water', 20))
.outputFluids(Fluid.of('gtceu:radioactive_steam', 10))
.perTick(false)
.duration(1);
@ -230,6 +250,8 @@ function registerTFGNuclearRecipes(event) {
.duration(20*100)
.EUt(32)*/
// Plutonium Fission
event.recipes.deafission.fission_reactor_fuel('tfg:plutonium')
.itemInputs(Item.of('tfg:plutonium_rod'))
.outputFluids(Fluid.of('gtceu:tritiated_water', 5000))
@ -239,8 +261,8 @@ function registerTFGNuclearRecipes(event) {
event.recipes.deafission.fission_reactor_coolant('tfg:plutonium_coolant')
.notConsumable(Item.of('tfg:plutonium_rod'))
.perTick(true)
.inputFluids(Fluid.of('tfg:heavy_water', 50))
.outputFluids(Fluid.of('gtceu:irradiated_steam', 10))
.inputFluids(Fluid.of('tfg:heavy_water', 25))
.outputFluids(Fluid.of('gtceu:irradiated_steam', 40))
.perTick(false)
.duration(1);
@ -260,10 +282,137 @@ function registerTFGNuclearRecipes(event) {
event.recipes.deafission.fission_reactor_processing('tfg:dry_ice')
.itemInputs('tfg:dry_ice')
.itemOutputs('minecraft:coal')
.blastFurnaceTemp(100)
.duration(20)
.EUt(1)
.addData("heat_per_tick", 10)
.duration(20*1)
event.recipes.deafission.fission_reactor_processing('tfg:refrigerant_pellet')
.itemInputs('tfg:refrigerant_pellet')
.blastFurnaceTemp(100)
.addData("heat_per_tick", 40)
.duration(20*30)
event.recipes.gtceu.gas_pressurizer('tfg:tetrafluoroethane')
.inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 1000), Fluid.of('gtceu:liquid_helium', 1000))
.outputFluids(Fluid.of('tfg:tetrafluoroethane', 1000))
.EUt(GTValues.VA[GTValues.EV])
.duration(20*36)
event.recipes.gtceu.vacuum_freezer('tfg:tetrafluoroethane_gem')
.inputFluids(Fluid.of('tfg:tetrafluoroethane', 1000))
.itemOutputs(Item.of('tfg:tetrafluoroethane_gem', 1))
.EUt(GTValues.VA[GTValues.EV])
.duration(20*14)
event.recipes.gtceu.assembler('tfg:tetrafluoroethane_gem')
.itemInputs(Item.of('tfg:tetrafluoroethane_gem', 1))
.itemInputs(Item.of('tfg:polycaprolactam_fabric', 16))
.itemOutputs(Item.of('tfg:refrigerant_pellet', 1))
.EUt(GTValues.VA[GTValues.EV])
.duration(20*17)
// Graphite Moderator Line
const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic')
event.recipes.gtceu.mixer('tfg:graphite_compound')
.inputFluids(Fluid.of('gtceu:coal_tar', 1000))
.itemInputs(Item.of('gtceu:graphite_dust', 9))
.itemOutputs(Item.of('tfg:graphite_compound', 1))
.EUt(GTValues.VA[GTValues.HV])
.duration(20*14)
event.recipes.gtceu.implosion_compressor('tfg:graphite_briquette_implosion')
.itemInputs('tfg:advanced_polymer_binder')
.itemInputs('9x tfg:graphite_compound')
.itemInputs('gtceu:industrial_tnt')
.chancedItemOutputLogic($ChanceLogic.XOR)
.chancedOutput('tfg:raw_graphite_briquette', 9000, 0)
.chancedOutput('tfg:faulty_graphite_briquette', 1000, 0)
.duration(20 * 1)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.macerator('tfg:faulty_graphite_briquette_recycling')
.itemInputs(Item.of('tfg:faulty_graphite_briquette', 1))
.itemOutputs(Item.of('gtceu:graphite_dust', 1))
.itemOutputs(Item.of('gtceu:coke_dust', 1))
.EUt(GTValues.VA[GTValues.MV])
.duration(20*16)
event.recipes.gtceu.chemical_bath('tfg:graphite_briquette_washing')
.itemInputs(Item.of('tfg:raw_graphite_briquette', 1))
.itemInputs(Item.of('gtceu:epoxy_plate', 1))
.inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000))
.itemOutputs(Item.of('tfg:washed_graphite_briquette', 1))
.EUt(GTValues.VA[GTValues.EV])
.duration(20*12)
event.recipes.gtceu.electric_blast_furnace('tfg:graphite_rod')
.itemInputs(Item.of('tfg:washed_graphite_briquette', 1))
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
.chancedItemOutputLogic($ChanceLogic.XOR)
.chancedOutput('tfg:impure_graphite_rod', 6000, 0)
.chancedOutput('tfg:pure_graphite_rod', 3000, 0)
.chancedOutput('gtceu:dark_ash_dust', 1000, 0)
.blastFurnaceTemp(4700)
.EUt(GTValues.VA[GTValues.IV])
.duration(20*120)
event.recipes.gtceu.arc_furnace('tfg:annealed_graphite_rod')
.itemInputs(Item.of('tfg:pure_graphite_rod', 1))
.inputFluids(Fluid.of('gtceu:oxygen', 1000))
.itemOutputs(Item.of('tfg:annealed_graphite_rod', 1))
.EUt(GTValues.VA[GTValues.IV])
.duration(20*6)
event.recipes.gtceu.arc_furnace('tfg:impure_annealed_graphite_rod')
.itemInputs(Item.of('tfg:impure_graphite_rod', 1))
.inputFluids(Fluid.of('gtceu:oxygen', 1000))
.itemOutputs(Item.of('tfg:impure_annealed_graphite_rod', 1))
.EUt(GTValues.VA[GTValues.IV])
.duration(20*6)
event.recipes.gtceu.assembler('tfg:impure_moderate_core')
.itemInputs(Item.of('tfg:impure_annealed_graphite_rod', 1))
.itemInputs(Item.of('#forge:frames/steel', 1))
.itemOutputs(Item.of('tfg:impure_moderate_core', 1))
.EUt(GTValues.VA[GTValues.IV])
.duration(20*2.5)
event.recipes.gtceu.assembler('tfg:moderate_core')
.itemInputs(Item.of('tfg:annealed_graphite_rod', 1))
.itemInputs(Item.of('#forge:frames/steel', 1))
.itemOutputs(Item.of('tfg:moderate_core', 1))
.EUt(GTValues.VA[GTValues.IV])
.duration(20*2.5)
event.recipes.gtceu.compressor('tfg:impure_graphite_moderator')
.itemInputs(Item.of('tfg:impure_moderate_core', 1))
.itemOutputs(Item.of('tfg:impure_graphite_moderator', 1))
.EUt(2)
.duration(20*20)
event.recipes.gtceu.compressor('tfg:graphite_moderator')
.itemInputs(Item.of('tfg:moderate_core', 1))
.itemOutputs(Item.of('tfg:graphite_moderator', 1))
.EUt(2)
.duration(20*20)
event.recipes.gtceu.chemical_reactor('tfg:advanced_polymer_binder')
.itemInputs(Item.of('gtceu:polyethylene_foil', 16))
.inputFluids(Fluid.of('gtceu:fluorine', 1000))
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1000))
.itemOutputs(Item.of('tfg:advanced_polymer_binder', 1))
.EUt(GTValues.VA[GTValues.EV])
.duration(20*16)
event.recipes.gtceu.chemical_reactor('tfg:advanced_polymer_binder_extra')
.itemInputs(Item.of('gtceu:polytetrafluoroethylene_foil', 16))
.inputFluids(Fluid.of('gtceu:fluorine', 1000))
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1000))
.itemOutputs(Item.of('tfg:advanced_polymer_binder', 16))
.EUt(GTValues.VA[GTValues.EV])
.duration(20*16)
//#endregion

View file

@ -140,6 +140,8 @@ function registerTFGSpaceOres(event) {
.duration(20 * 45)
.EUt(GTValues.VA[GTValues.MV])
//#region Mars Ores Line
// Ostrum Harvester
event.recipes.gtceu.ostrum_harvester(`tfg:ostrum_harvesting`)
@ -155,7 +157,7 @@ function registerTFGSpaceOres(event) {
// Ostrum Linear Accelerator Recipes
event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation')
.inputFluids('gtceu:residual_radioactive_concoction 1000')
.inputFluids('gtceu:residual_radioactive_concoction 100')
.itemInputs('32x #forge:dusts/ostrum')
.chancedFluidOutputLogic($ChanceLogic.XOR)
.chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0)

View file

@ -959,16 +959,22 @@ const registerTFGBlockTags = (event) => {
var COMPONENTS = 'deafission:components';
// Max Heating
event.add(COMPONENTS, 'ad_astra:glacian_fur'); // Max Heat 2
event.add(COMPONENTS, 'tfg:glacian_wool_frame'); // Max Heat 2
event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5
event.add(COMPONENTS, 'tfg:aes_insulation_frame'); // Max Heat 1
event.add(COMPONENTS, 'tfg:moderate_core_frame'); // Max Heat 10
event.add(COMPONENTS, 'tfg:impure_moderate_core_frame'); // Max Heat 5
//event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5
event.add(COMPONENTS, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK
// Increase Throttle
event.add(COMPONENTS, 'minecraft:iron_block');
//event.add(COMPONENTS, 'minecraft:iron_block');
// Increase Effiency
event.add(COMPONENTS, 'minecraft:packed_ice');
//event.add(COMPONENTS, 'minecraft:packed_ice');
event.add('tfg:fission_coolant','deafission:components')
//#endregion

View file

@ -195,6 +195,7 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:mv_bedrock_ore_miner",
"gtceu:hv_bedrock_ore_miner",
"gtceu:ev_bedrock_ore_miner",
]);
//#endregion

View file

@ -265,9 +265,16 @@ const registerGTCEuMachines = (event) => {
// Nuclear Fuel Factory
event.create('nuclear_fuel_factory', 'multiblock')
.machine((holder) => new CoilWorkableElectricMultiblockMachine(holder))
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('nuclear_fuel_factory')
.recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK)])
.recipeModifiers(
[
GTRecipeModifiers.PARALLEL_HATCH,
(machine, recipe) => GTRecipeModifiers.pyrolyseOvenOverclock(machine, recipe),
GTRecipeModifiers.BATCH_MODE
]
)
.appearanceBlock(() => Block.getBlock('gtceu:atomic_casing'))
.pattern(definition => FactoryBlockPattern.start()
.aisle('RLLLR', 'I I', 'I I', 'I I', 'RLLLR')
@ -282,8 +289,8 @@ const registerGTCEuMachines = (event) => {
.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')
.where('C', Predicates.heatingCoils())
.where('L', Predicates.blocks('gtceu:atomic_casing').setMinGlobalLimited(15)
.or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
@ -303,7 +310,7 @@ const registerGTCEuMachines = (event) => {
event.create('heat_exchanger', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('heat_exchanger')
.recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK])
.recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK, GTRecipeModifiers.BATCH_MODE])
.appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing'))
.pattern(definition => FactoryBlockPattern.start()
.aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ')
@ -445,7 +452,7 @@ const registerGTCEuMachines = (event) => {
event.create('ostrum_linear_accelerator', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('ostrum_linear_accelerator')
.recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT])
.recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT, GTRecipeModifiers.BATCH_MODE])
.appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_mars'))
.pattern(definition => FactoryBlockPattern.start()
.aisle('AAAAAAAAA', 'AAAAAAAAA', 'AAAAAAAAA', ' ', ' ' )

View file

@ -265,6 +265,8 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.DamascusSteel.addFlags(GENERATE_BOLT_SCREW);
GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW);
GTMaterials.Magnalium.addFlags(GENERATE_GEAR);
GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING);
GTMaterials.Ultimet.addFlags(GENERATE_ROTOR)

View file

@ -223,6 +223,34 @@ const registerTFGBlocks = (event) => {
.resistance(6)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
event.create('tfg:moderate_core_frame')
.soundType('copper')
.hardness(4)
.resistance(6)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
event.create('tfg:impure_moderate_core_frame')
.soundType('copper')
.hardness(5)
.resistance(6)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
// Unfinished Insulation
event.create('tfg:moderate_core')
.soundType('ancient_debris')
.hardness(7)
.resistance(8)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
.model('tfg:block/fission/moderate_core')
event.create('tfg:impure_moderate_core')
.soundType('ancient_debris')
.hardness(7)
.resistance(8)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('minecraft:mineable/wrench')
.model('tfg:block/fission/impure_moderate_core')
// #region Decorative vases
global.MINECRAFT_DYE_NAMES.forEach(color => {

View file

@ -483,4 +483,52 @@ const registerTFGItems = (event) => {
.texture('tfg:item/fuel_rod_empty')
.tag('tfg:fission_rods')
event.create('tfg:refrigerant_pellet')
.translationKey('item.tfg.refrigerant_pellet')
.texture('tfg:item/refrigerant_pellet')
.tag('tfg:fission_coolant')
// Moderator Line
event.create('tfg:graphite_compound')
.translationKey('item.tfg.graphite_compound')
.texture('tfg:item/graphite_line/graphite_compound')
event.create('tfg:raw_graphite_briquette')
.translationKey('item.tfg.raw_graphite_briquette')
.texture('tfg:item/graphite_line/raw_graphite_briquette')
event.create('tfg:faulty_graphite_briquette')
.translationKey('item.tfg.faulty_graphite_briquette')
.texture('tfg:item/graphite_line/faulty_graphite_briquette')
event.create('tfg:washed_graphite_briquette')
.translationKey('item.tfg.washed_graphite_briquette')
event.create('tfg:pure_graphite_rod')
.translationKey('item.tfg.pure_graphite_rod')
.texture('tfg:item/graphite_line/pure_graphite_rod')
event.create('tfg:impure_graphite_rod')
.translationKey('item.tfg.impure_graphite_rod')
.texture('tfg:item/graphite_line/impure_graphite_rod')
event.create('tfg:annealed_graphite_rod')
.translationKey('item.tfg.annealed_graphite_rod')
event.create('tfg:impure_annealed_graphite_rod')
.translationKey('item.tfg.impure_annealed_graphite_rod')
event.create('tfg:graphite_moderator')
.translationKey('item.tfg.graphite_moderator')
.texture('tfg:item/graphite_line/graphite_moderator')
event.create('tfg:impure_graphite_moderator')
.translationKey('item.tfg.impure_graphite_moderator')
.texture('tfg:item/graphite_line/impure_graphite_moderator')
event.create('tfg:advanced_polymer_binder')
.translationKey('item.tfg.advanced_polymer_binder')
.texture('tfg:item/graphite_line/advanced_polymer_binder')
}

View file

@ -137,6 +137,16 @@ const registerTFGMaterials = (event) => {
.components('2x carbon', '2x hydrogen', '4x fluorine')
.color(0x46702e)
// Fission Component
event.create('tfg:tetrafluoroethane')
.fluid()
.gem()
.flags(GTMaterialFlags.NO_UNIFICATION, GTMaterialFlags.DISABLE_DECOMPOSITION)
.iconSet(GTMaterialIconSet.QUARTZ)
.components('2x carbon', '2x hydrogen', '4x fluorine')
.color(0x46702e)
// Crafting components
event.create('tfg:kaolinite')
@ -457,7 +467,8 @@ const registerTFGMaterials = (event) => {
GTMaterialFlags.GENERATE_PLATE,
GTMaterialFlags.GENERATE_ROD,
GTMaterialFlags.GENERATE_BOLT_SCREW,
GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES
GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES,
GTMaterialFlags.GENERATE_GEAR
)
// #endregion

View file

@ -4,8 +4,11 @@
function registerTFGTagPrefixes(event) {
excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:apt'));
excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:tetrafluoroethane'));
excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:crimsene'));
excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:warpane'));
excludeAllOresButDust(TFGHelpers.getMaterial('gtceu:plutonium'));
}
function excludeAllGemsButNormal(material) {
@ -14,4 +17,18 @@ function excludeAllGemsButNormal(material) {
TagPrefix.gemFlawless.setIgnored(material);
TagPrefix.gemExquisite.setIgnored(material);
TagPrefix.block.setIgnored(material);
}
function excludeAllOresButDust(material) {
TagPrefix.rawOre.setIgnored(material);
TFGTagPrefix.poorRawOre.setIgnored(material);
TFGTagPrefix.richRawOre.setIgnored(material);
TagPrefix.rawOreBlock.setIgnored(material);
TagPrefix.crushedRefined.setIgnored(material);
TagPrefix.crushedPurified.setIgnored(material);
TagPrefix.crushed.setIgnored(material);
TagPrefix.dustImpure.setIgnored(material);
TagPrefix.dustPure.setIgnored(material);
TagPrefix.surfaceRock.setIgnored(material);
}