diff --git a/config/deafission-common.toml b/config/deafission-common.toml new file mode 100644 index 000000000..4460a2aba --- /dev/null +++ b/config/deafission-common.toml @@ -0,0 +1,3 @@ +#Whether to add the default recipes. false is recommended for modpacks. +addDefaultRecipes = false + diff --git a/kubejs/assets/tfg/models/item/empty_rod.json b/kubejs/assets/tfg/models/item/empty_rod.json new file mode 100644 index 000000000..0c82848b7 --- /dev/null +++ b/kubejs/assets/tfg/models/item/empty_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/fuel_rod_empty" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/plutonium_rod.json b/kubejs/assets/tfg/models/item/plutonium_rod.json new file mode 100644 index 000000000..76dd6a707 --- /dev/null +++ b/kubejs/assets/tfg/models/item/plutonium_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/fuel_rod_p_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tbu_232_rod.json b/kubejs/assets/tfg/models/item/tbu_232_rod.json new file mode 100644 index 000000000..241ac0772 --- /dev/null +++ b/kubejs/assets/tfg/models/item/tbu_232_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/fuel_rod_t_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/thorium_rod.json b/kubejs/assets/tfg/models/item/thorium_rod.json new file mode 100644 index 000000000..e2c341ca3 --- /dev/null +++ b/kubejs/assets/tfg/models/item/thorium_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/fuel_rod_tbu_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/uranium_rod.json b/kubejs/assets/tfg/models/item/uranium_rod.json new file mode 100644 index 000000000..38ff09542 --- /dev/null +++ b/kubejs/assets/tfg/models/item/uranium_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/fuel_rod_u_1" + } +} \ No newline at end of file diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index d9481f0cd..7117e946b 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -167,6 +167,15 @@ const registerTooltips = (event) => { }) }) + //#region Nuclear Fission Tooltips + + 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) => { + text.add(1, Text.translate("tfg.tooltip.component.glacian_fur")) + }) + //#region Deprecated Items event.addAdvanced(['vintageimprovements:lathe'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.obsolete.depreciated')) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index fd0a0c7d6..6f4a1df80 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1568,4 +1568,14 @@ const registerGTCEURecipes = (event) => { .EUt(GTValues.VA[GTValues.EV]) + //# New Alloys For Turbines + + event.recipes.gtceu.mixer('tfg:tungsten_bismuth_oxide_composite') + .itemInputs('2x #forge:dusts/bismuth', 'gtceu:tungsten_dust') + .inputFluids(Fluid.of('gtceu:oxygen', 3000)) + .itemOutputs('3x tfg:tungsten_bismuth_oxide_composite_dust') + .duration(20 * 12) + .EUt(GTValues.VA[GTValues.EV]) + + } diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index d10b2cdd6..6583cd9d2 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -1232,7 +1232,7 @@ function registerGTCEuMachineRecipes(event) { //#region Nuclear Controler - event.shaped('gtceu:fission_reactor', [ + event.shaped('deafission:fission_reactor_mk1', [ 'TUT', 'WZW', 'TUT' @@ -1242,7 +1242,7 @@ function registerGTCEuMachineRecipes(event) { U: 'gtceu:hv_field_generator', Z: 'gtceu:ev_machine_hull' } - ).id('tfg:shaped/fission_reactor') + ).id('tfg:shaped/fission_reactor_mk1') event.shaped('gtceu:nuclear_fuel_factory', [ 'TUT', diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 1181901b3..93be7f78f 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -176,6 +176,9 @@ function registerTFGItemSize(event) { event.itemSize("gtceu:large_duct_pipe", "normal", "light", "large_duct_pipe"); event.itemSize("gtceu:huge_duct_pipe", "normal", "medium", "huge_duct_pipe"); + // Nuclear Rod + event.itemSize(Ingredient.of("#tfg:fission_rods"), "very_large", "heavy"); + // Cables event.itemSize(Ingredient.of("#forge:single_cables").or("#forge:single_wires"), "tiny", "very_light", "cables_1x"); event.itemSize( diff --git a/kubejs/server_scripts/tfg/recipes.nuclear.js b/kubejs/server_scripts/tfg/recipes.nuclear.js index 4e106853c..c0a9668c0 100644 --- a/kubejs/server_scripts/tfg/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/recipes.nuclear.js @@ -4,32 +4,38 @@ 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*10) + 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) .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) + 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) .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) + 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) .EUt(GTValues.V[GTValues.EV]) - - event.recipes.gtceu.nuclear_fuel_factory('gtceu:tbu-232_pellet') + /* REMOVE FOR VENUS COMMENTED OUT + event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod') .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]) + .itemInputs('#forge:ingots/thorium_232', 'tfg:empty_rod') + .itemOutputs('tfg:tbu-232_rod') + .duration(20*300) + .EUt(GTValues.V[GTValues.IV]) + */ + event.recipes.gtceu.lathe('tfg:empty_rod') + .itemInputs('gtceu:cobalt_large_restrictive_item_pipe', 'tfg:empty_rod') + .itemOutputs('tfg:empty_rod') + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) //#endregion @@ -52,7 +58,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.VA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.LV]) event.recipes.gtceu.centrifuge('mars_semiheavy_water') .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) @@ -126,29 +132,33 @@ function registerTFGNuclearRecipes(event) { //#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)) + .perTick(true) + .inputFluids(Fluid.of('minecraft:water', 10)) + .inputFluids(Fluid.of('gtceu:radioactive_steam', 10)) + .inputFluids(Fluid.of('gtceu:ammonium_formate', 10)) + .outputFluids(Fluid.of('gtceu:dense_steam', 10)) + .outputFluids(Fluid.of('gtceu:formamide', 10)) + .perTick(false) .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)) + .perTick(true) + .inputFluids(Fluid.of('minecraft:water', 10)) + .inputFluids(Fluid.of('gtceu:irradiated_steam', 10)) + .outputFluids(Fluid.of('gtceu:dense_steam', 10)) + .perTick(false) .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)) + .inputFluids(Fluid.of('gtceu:hot_flibe', 10)) + .inputFluids(Fluid.of('gtceu:distilled_water', 10)) + .chancedFluidInput(Fluid.of('gtceu:hastelloy_c_276', 10), 5000, 0) + .chancedFluidOutput(Fluid.of('gtceu:flibe', 10), 9500, 0) + .outputFluids(Fluid.of('gtceu:dense_steam', 10)) .duration(20*10) .EUt(1) @@ -156,60 +166,113 @@ function registerTFGNuclearRecipes(event) { //#region Fission Reactor - // Recipe for Thorium Reactor - event.recipes.gtceu.fission_reactor('thorium_uranium_waste') - .itemInputs('#forge:bolts/thorium_pellet') + // Recipe for Thorium Reactor Just keeping it in case we got mod issues +/* event.recipes.gtceu.fission_reactor('thorium_uranium_waste') + .itemInputs('#forge:bolts/thorium_rod') .inputFluids(Fluid.of('minecraft:water', 100)) .outputFluids(Fluid.of('gtceu:dense_steam', 100)) .outputFluids(Fluid.of('gtceu:uranium_waste', 20)) .duration(20*50) - .EUt(32) + .EUt(32)*/ - // Recipe for energy only reactor - event.recipes.gtceu.fission_reactor('thorium_nuclear_waste') + 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')) + .hideDuration(true); + + event.recipes.deafission.fission_reactor_coolant('tfg:thorium_coolant') + .notConsumable(Item.of('tfg:thorium_rod')) + .perTick(true) + .inputFluids(Fluid.of('minecraft:water', 400)) + .outputFluids(Fluid.of('gtceu:dense_steam', 2)) + .perTick(false) + .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) + .EUt(32)*/ - // Recipe for Uranium Reactor - event.recipes.gtceu.fission_reactor('uranium_radioactive') - .itemInputs('#forge:bolts/uranium_pellet') - .inputFluids(Fluid.of('tfg:heavy_water', 750)) - .outputFluids(Fluid.of('gtceu:radioactive_steam', 750)) + // 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') + .inputFluids(Fluid.of('tfg:heavy_water', 75)) + .outputFluids(Fluid.of('gtceu:radioactive_steam', 75)) .outputFluids(Fluid.of('gtceu:radioactive_waste', 50)) .duration(20*100) - .EUt(32) + .EUt(32)*/ - // Recipe for Plutonium Reactor - event.recipes.gtceu.fission_reactor('plutonium_irradiated') - .itemInputs('#forge:bolts/plutonium_pellet') + event.recipes.deafission.fission_reactor_fuel('tfg:uranium') + .itemInputs(Item.of('tfg:uranium_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 50000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .hideDuration(true); + + event.recipes.deafission.fission_reactor_coolant('tfg:uranium_coolant') + .notConsumable(Item.of('tfg:uranium_rod')) + .perTick(true) + .inputFluids(Fluid.of('tfg:heavy_water', 25)) + .outputFluids(Fluid.of('gtceu:radioactive_steam', 10)) + .perTick(false) + .duration(1); + + // Recipe for Plutonium Reactor Just keeping it in case we got mod issues +/* event.recipes.gtceu.fission_reactor('plutonium_irradiated') + .itemInputs('#forge:bolts/plutonium_rod') .inputFluids(Fluid.of('tfg:heavy_water', 2000)) .outputFluids(Fluid.of('gtceu:irradiated_steam', 2000)) .outputFluids(Fluid.of('gtceu:tritiated_water', 50)) .duration(20*100) - .EUt(32) + .EUt(32)*/ - // Fission Reactor for Energy + event.recipes.deafission.fission_reactor_fuel('tfg:plutonium') + .itemInputs(Item.of('tfg:plutonium_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 5000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .hideDuration(true); + + 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)) + .perTick(false) + .duration(1); + // Fission Reactor for Energy Just keeping it in case we got mod issues +/* event.recipes.gtceu.fission_reactor('tbu_reactor') - .itemInputs('#forge:bolts/tbu-232_pellet') + .itemInputs('tfg:tbu_232_rod') .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 Fission Recipes for cooling + + event.recipes.deafission.fission_reactor_processing('tfg:dry_ice') + .itemInputs('tfg:dry_ice') + .itemOutputs('minecraft:coal') + .blastFurnaceTemp(100) + .duration(20) + .EUt(1) //#endregion //#region Power Generation - event.recipes.gtceu.gas_turbine('dense_steam') + event.recipes.gtceu.nuclear_turbine('dense_steam') .inputFluids(Fluid.of('gtceu:dense_steam', 1)) .EUt(-(32)) - .duration(20*2) + .duration(20*1.5) //#endregion diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js index 7f50e7ab7..e6f675e63 100644 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ b/kubejs/server_scripts/tfg/recipes.space_ores.js @@ -149,7 +149,6 @@ function registerTFGSpaceOres(event) { .dimension('ad_astra:mars') .itemOutputsRanged('gtceu:ostrum_dust', 1, 5) .duration(20 * 30) - .duration(20 * 30) .EUt(GTValues.VA[GTValues.LV]); diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 4034061b9..7c5ad28dc 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -52,6 +52,12 @@ const registerTFGItemTags = (event) => { event.add('tfg:components/uv_leds', 'tfg:uv_led') event.add('tfg:components/uv_leds', 'tfg:smd_uv_led') + //Fission Nucleat Fuel + event.add('deafission:fuels', 'tfg:thorium_rod') + event.add('deafission:fuels', 'tfg:uranium_rod') + event.add('deafission:fuels', 'tfg:plutonium_rod') + event.add('tfg:fission_rods', '#deafission:fuels') + //#region Tools & Armor event.add('forge:tools/fishing_nets', 'tfg:fishing_net/wood') event.add('forge:tools/fishing_nets', 'tfg:fishing_net/brass') @@ -947,6 +953,23 @@ const registerTFGBlockTags = (event) => { event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') + //#region Fision Components + var COMPONENTS = 'deafission:components'; + + // Max Heating + event.add(COMPONENTS, 'ad_astra:glacian_fur'); // Max Heat 2 + 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'); + + // Increase Effiency + event.add(COMPONENTS, 'minecraft:packed_ice'); + + //#endregion + // #region Nether blocks event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 43a472abb..75f0c5f57 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -332,8 +332,8 @@ const registerGTCEuMachines = (event) => { "gtceu:block/casings/gcym/high_temperature_smelting_casing", "gtceu:block/machines/fluid_heater") - // Nuclear Fission Reactor - + // Nuclear Fission Reactor - Just keeping it in case we got mod issues +/* event.create('fission_reactor', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('fission_reactor') @@ -365,7 +365,7 @@ const registerGTCEuMachines = (event) => { .workableCasingModel( "gtceu:block/casings/gcym/atomic_casing", "gtceu:block/machines/electromagnetic_separator") - +*/ //#endregion //#region Ore Line diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 2b70b6efd..da6f67655 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -31,7 +31,7 @@ const registerGTCEuRecipeTypes = (event) => { event.create('nuclear_fuel_factory') .category('nuclear_fuel_factory') .setEUIO('in') - .setMaxIOSize(2, 1, 1, 0) + .setMaxIOSize(3, 1, 1, 0) .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP) .setSound(GTSoundEntries.MINER) @@ -43,7 +43,7 @@ const registerGTCEuRecipeTypes = (event) => { .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP) .setSound(GTSoundEntries.MINER) - +/* Just keeping it in case we got mod issues event.create('fission_reactor') .category('fission_reactor') .setEUIO('in') @@ -51,7 +51,7 @@ const registerGTCEuRecipeTypes = (event) => { .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP) .setSound(GTSoundEntries.MINER) - +*/ event.create('ostrum_harvester') .category('ostrum_harvester') .setEUIO('in') diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 60e1bdc46..f5c14b2c7 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -474,4 +474,12 @@ const registerTFGItems = (event) => { .translationKey('item.tfg.lab_equipment.dirty_lab_equipment') .tooltip(Text.translatable('tfg.tooltip.lab_equipment.set_dirty')) //#endregion + + // Empty Fission Rod + + event.create('tfg:empty_rod') + .translationKey('item.tfg.empty_road') + .texture('tfg:item/fuel_rod_empty') + .tag('tfg:fission_rods') + } diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 8f14c4ce8..b7693d832 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -440,4 +440,23 @@ const registerTFGMaterials = (event) => { .components('80x carbon_dioxide', '7x nitrogen', '5x argon', '3x oxygen', '1x neon', '1x krypton', '1x xenon') // #endregion + + //#region New Alloy for Turbines + + event.create('tfg:tungsten_bismuth_oxide_composite') + .components('1x tungsten', '2x bismuth', '3x oxygen') + .color(0xf7cb48) + .secondaryColor(0xfffef0) + .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + .ingot() + .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) + .rotorStats(205, 90, 2 ,620) + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW, + GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, + + ) } diff --git a/kubejs/startup_scripts/tfg/materials.nuclear.js b/kubejs/startup_scripts/tfg/materials.nuclear.js index 09824ae72..21b0ea970 100644 --- a/kubejs/startup_scripts/tfg/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/materials.nuclear.js @@ -210,38 +210,50 @@ const registerTFGNuclearMaterials = (event) => { //#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 + /* + Adding the Fuel Rod, the textures are applied through a model.json + Durability + Number of rod unused for now + %Heat + In ReactorCurve getHeating returns fuelHeat * 200.0d * throttle and getCooling returns _state.Heat() * (coolantConversion + 0.01). + Where coolantConversion is 1.00 if enough coolant is present. Solving that equation for a steady-state: heating + cooling = 0. + When throttle=coolantConversion=1:heat = fuelHeat * 200.0d / 1.01 + So one 100% cell is 198.0198 heat it should reach. Simulation accuracy might of course throw that off by a small margin. + So purely passively it reaches 20000.0 heat. + */ } + + const $FuelCellItem = Java.loadClass("fi.dea.mc.deafission.common.data.items.FuelCellItem"); + +StartupEvents.registry("item", (event) => { + event.createCustom("tfg:thorium_rod", () => { + return new $FuelCellItem( + 5000, + 1, + 0.7 // Max Heat 139 - 1 Fuel + ); + }) + event.createCustom("tfg:uranium_rod", () => { + return new $FuelCellItem( + 20000, + 1, + 2.2 // Max Heat 435 - 1 Fuel + ); + }) + event.createCustom("tfg:plutonium_rod", () => { + return new $FuelCellItem( + 30000, + 1, + 3.0 // Max Heat 595 - 1 Fuel + ); + }) + + event.createCustom("tfg:tbu_232_rod", () => { + return new $FuelCellItem( + 20000, + 1, + 2.0 + ); + }) + });