diff --git a/kubejs/assets/kubejs/textures/item/calculation_wafer.png b/kubejs/assets/kubejs/textures/item/calculation_wafer.png new file mode 100644 index 000000000..b2192d496 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/calculation_wafer.png differ diff --git a/kubejs/assets/kubejs/textures/item/certus_boule.png b/kubejs/assets/kubejs/textures/item/certus_boule.png new file mode 100644 index 000000000..1706a2652 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/certus_boule.png differ diff --git a/kubejs/assets/kubejs/textures/item/certus_wafer.png b/kubejs/assets/kubejs/textures/item/certus_wafer.png new file mode 100644 index 000000000..c27fb674d Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/certus_wafer.png differ diff --git a/kubejs/assets/kubejs/textures/item/engineering_wafer.png b/kubejs/assets/kubejs/textures/item/engineering_wafer.png new file mode 100644 index 000000000..2a3b34bf1 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/engineering_wafer.png differ diff --git a/kubejs/assets/kubejs/textures/item/logic_wafer.png b/kubejs/assets/kubejs/textures/item/logic_wafer.png new file mode 100644 index 000000000..5222fb886 Binary files /dev/null and b/kubejs/assets/kubejs/textures/item/logic_wafer.png differ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index aacbff338..5cb2681ee 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -802,6 +802,11 @@ "item.tfg.flintlock_mechanism": "Flintlock Mechanism", "item.tfg.advanced_clockwork_mechanism": "Advanced Clockwork Mechanism", "item.tfg.certus_mechanism": "Certus Mechanism", + "item.tfg.certus_boule": "Certus Boule", + "item.tfg.certus_wafer": "Certus Wafer", + "item.tfg.engineering_wafer": "Engineering Wafer", + "item.tfg.calculation_wafer": "Calculation Wafer", + "item.tfg.logic_wafer": "Logic Wafer", "item.tfg.small_bullet_casing": "Small Bullet Casing", "item.tfg.large_bullet_casing": "Large Bullet Casing", "item.tfg.shell_bullet_casing": "Shell Bullet Casing", @@ -965,6 +970,12 @@ "material.tfg.nuclear_residue": "Nuclear Residue", "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", + "material.tfg.certus": "Certus", + "material.tfg.trichlorocertane": "Trichlorocertane", + "material.tfg.dichlorocertane": "Dichlorocertane", + "material.tfg.chlorocertane": "Chlorocertane", + "material.tfg.certus_tetrachloride": "Certus Tetrachloride", + "material.tfg.certane": "Certane", "material.tfg.certus_regolith": "Certus Regolith", "material.tfg.goethe_regolith": "Goethe Regolith", "material.tfg.bright_regolith": "Bright Regolith", @@ -3975,4 +3986,4 @@ "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "For competitive pie bakers.", "quests.tfg_tips.tools_tips.harvest_basket.task": "Any #tfg:harvester", "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use." -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 39a5114cb..918eda6a9 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -1593,59 +1593,156 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => { .EUt(GTValues.VA[GTValues.HV]) .dimension('ad_astra:moon') - // Printed Calculation Processor - event.recipes.gtceu.forming_press('ae2:printed_calculation_processor') - .itemInputs('#forge:plates/certus_quartz') - .notConsumable('ae2:calculation_processor_press') - .itemOutputs('ae2:printed_calculation_processor') - .duration(20) - .circuit(1) - .EUt(480) + // Certus wafer chemistry chain - event.recipes.gtceu.forming_press('ae2:printed_calculation_processor_moon') - .itemInputs('#forge:plates/certus_quartz') - .notConsumable('ae2:calculation_processor_press') - .itemOutputs('2x ae2:printed_calculation_processor') - .duration(20) - .dimension('ad_astra:moon') - .circuit(2) - .EUt(480) + event.recipes.gtceu.electrolyzer('tfg:certus_quartz_electrolysis') + .itemInputs('ae2:certus_quartz_dust') + .itemOutputs('tfg:certus_dust', 'gtceu:silicon_dioxide_dust') + .duration(20 * 40) + .EUt(GTValues.VA[GTValues.MV]) - // Printed Engineering Processor - event.recipes.gtceu.forming_press('ae2:printed_engineering_processor') - .itemInputs('#forge:plates/diamond') + event.recipes.gtceu.chemical_reactor('tfg:trichlorocertane') + .itemInputs('tfg:certus_dust') + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 3000)) + .outputFluids(Fluid.of('tfg:trichlorocertane', 1000), Fluid.of('gtceu:hydrogen', 2000)) + .duration(40) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:dichlorocertane') + .inputFluids(Fluid.of('tfg:trichlorocertane', 2000)) + .outputFluids(Fluid.of('tfg:dichlorocertane', 1000)) + .itemOutputs('gtceu:certus_gem') + .duration(40) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:chlorocertane') + .inputFluids(Fluid.of('tfg:dichlorocertane', 2000)) + .outputFluids(Fluid.of('tfg:chlorocertane', 1000), Fluid.of('tfg:certus_tetrachloride', 1000)) + .duration(40) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:certane') + .inputFluids(Fluid.of('tfg:chlorocertane', 2000)) + .outputFluids(Fluid.of('tfg:certane', 1000), Fluid.of('tfg:dichlorocertane', 1000)) + .duration(40) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:certus_boule') + .itemInputs('gtceu:silicon_wafer') + .inputFluids(Fluid.of('tfg:certane', 16000)) + .itemOutputs('tfg:certus_boule') + .blastFurnaceTemp(1800) + .duration(1600) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_certus_boule_water') + .itemInputs('tfg:certus_boule') + .itemOutputs('16x tfg:certus_wafer') + .inputFluids(Fluid.of('minecraft:water', 45)) + .duration(600) + .EUt(48) + + event.recipes.gtceu.cutter('tfg:cut_certus_boule_distilled_water') + .itemInputs('tfg:certus_boule') + .itemOutputs('16x tfg:certus_wafer') + .inputFluids(Fluid.of('gtceu:distilled_water', 34)) + .duration(450) + .EUt(48) + + event.recipes.gtceu.cutter('tfg:cut_certus_boule_lubricant') + .itemInputs('tfg:certus_boule') + .itemOutputs('16x tfg:certus_wafer') + .inputFluids(Fluid.of('gtceu:lubricant', 11)) + .duration(300) + .EUt(48) + + event.recipes.gtceu.laser_engraver('tfg:engrave_engineering_certus') + .itemInputs('tfg:certus_wafer') .notConsumable('ae2:engineering_processor_press') - .itemOutputs('ae2:printed_engineering_processor') - .duration(20) - .circuit(1) - .EUt(480) + .itemOutputs('tfg:engineering_wafer') + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) - event.recipes.gtceu.forming_press('ae2:printed_engineering_processor_moon') - .itemInputs('#forge:plates/diamond') - .notConsumable('ae2:engineering_processor_press') - .itemOutputs('2x ae2:printed_engineering_processor') - .duration(20) - .dimension('ad_astra:moon') - .circuit(2) - .EUt(480) + event.recipes.gtceu.laser_engraver('tfg:engrave_calculation_certus') + .itemInputs('tfg:certus_wafer') + .notConsumable('ae2:calculation_processor_press') + .itemOutputs('tfg:calculation_wafer') + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) - // Printed Logic Processor - event.recipes.gtceu.forming_press('ae2:printed_logic_processor') - .itemInputs('#forge:plates/gold') + event.recipes.gtceu.laser_engraver('tfg:engrave_logic_certus') + .itemInputs('tfg:certus_wafer') .notConsumable('ae2:logic_processor_press') - .itemOutputs('ae2:printed_logic_processor') - .duration(20) - .circuit(1) - .EUt(480) + .itemOutputs('tfg:logic_wafer') + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) - event.recipes.gtceu.forming_press('ae2:printed_logic_processor_moon') - .itemInputs('#forge:plates/gold') - .notConsumable('ae2:logic_processor_press') - .itemOutputs('2x ae2:printed_logic_processor') - .duration(20) - .dimension('ad_astra:moon') - .circuit(2) - .EUt(480) + event.remove({ id: 'ae2:inscriber/engineering_processor_print' }) + event.remove({ id: 'ae2:inscriber/calculation_processor_print' }) + event.remove({ id: 'ae2:inscriber/logic_processor_print' }) + + event.recipes.gtceu.cutter('tfg:cut_engineering_water') + .itemInputs('tfg:engineering_wafer') + .itemOutputs('8x ae2:printed_engineering_processor') + .inputFluids(Fluid.of('minecraft:water', 338)) + .duration(1800) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_engineering_distilled_water') + .itemInputs('tfg:engineering_wafer') + .itemOutputs('8x ae2:printed_engineering_processor') + .inputFluids(Fluid.of('gtceu:distilled_water', 254)) + .duration(1350) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_engineering_lubricant') + .itemInputs('tfg:engineering_wafer') + .itemOutputs('8x ae2:printed_engineering_processor') + .inputFluids(Fluid.of('gtceu:lubricant', 84)) + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_calculation_water') + .itemInputs('tfg:calculation_wafer') + .itemOutputs('8x ae2:printed_calculation_processor') + .inputFluids(Fluid.of('minecraft:water', 338)) + .duration(1800) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_calculation_distilled_water') + .itemInputs('tfg:calculation_wafer') + .itemOutputs('8x ae2:printed_calculation_processor') + .inputFluids(Fluid.of('gtceu:distilled_water', 254)) + .duration(1350) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_calculation_lubricant') + .itemInputs('tfg:calculation_wafer') + .itemOutputs('8x ae2:printed_calculation_processor') + .inputFluids(Fluid.of('gtceu:lubricant', 84)) + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_logic_water') + .itemInputs('tfg:logic_wafer') + .itemOutputs('8x ae2:printed_logic_processor') + .inputFluids(Fluid.of('minecraft:water', 338)) + .duration(1800) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_logic_distilled_water') + .itemInputs('tfg:logic_wafer') + .itemOutputs('8x ae2:printed_logic_processor') + .inputFluids(Fluid.of('gtceu:distilled_water', 254)) + .duration(1350) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.cutter('tfg:cut_logic_lubricant') + .itemInputs('tfg:logic_wafer') + .itemOutputs('8x ae2:printed_logic_processor') + .inputFluids(Fluid.of('gtceu:lubricant', 84)) + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) // Printed Silicon event.recipes.gtceu.forming_press('ae2:printed_silicon') diff --git a/kubejs/startup_scripts/ae2/materials.js b/kubejs/startup_scripts/ae2/materials.js index 316f6fe33..867bd2883 100644 --- a/kubejs/startup_scripts/ae2/materials.js +++ b/kubejs/startup_scripts/ae2/materials.js @@ -14,4 +14,36 @@ const registerAE2Materials = (event) => { .components('1x nether_quartz', '1x certus_quartz') .color(0x8f5ccb) .secondaryColor(0x252f5a) -} \ No newline at end of file + + event.create('tfg:certus') + .gem() + .dust() + .iconSet(GTMaterialIconSet.CERTUS) + .color(0xc5e3de) + .element(GTElements.get('certus')) + + event.create('tfg:trichlorocertane') + .liquid() + .color(0xb1d9f0) + .components('1x tfg:certus', '1x hydrogen', '3x chlorine') + + event.create('tfg:dichlorocertane') + .liquid() + .color(0x90cfd1) + .components('1x tfg:certus', '2x hydrogen', '2x chlorine') + + event.create('tfg:chlorocertane') + .liquid() + .color(0xccede3) + .components('1x tfg:certus', '3x hydrogen', '1x chlorine') + + event.create('tfg:certus_tetrachloride') + .liquid() + .color(0xccede3) + .components('1x tfg:certus', '4x chlorine') + + event.create('tfg:certane') + .liquid() + .color(0xccede3) + .components('1x tfg:certus', '4x hydrogen') +} diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 88d36f57e..54d8dd9b0 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -406,6 +406,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.get('tfg:kaolinite').setFormula("Al2Si2O5(OH)4", true) GTMaterials.get('tfg:vitrified_pearl').setFormula("(Al2Si2O5(OH)4)(BeK4N5)", true) GTMaterials.get('tfg:tmos').setFormula("Si(OCH3)4", true) - GTMaterials.get('tfg:fluix').setFormula("?(?SiO2)(SiO2)", true) - GTMaterials.CertusQuartz.setFormula("?SiO2", true) + GTMaterials.get('tfg:fluix').setFormula("?(CtSiO2)(SiO2)", true) + GTMaterials.CertusQuartz.setFormula("CtSiO2", true) } diff --git a/kubejs/startup_scripts/tfg/element.js b/kubejs/startup_scripts/tfg/element.js index b71cadcb5..a6d8f9a66 100644 --- a/kubejs/startup_scripts/tfg/element.js +++ b/kubejs/startup_scripts/tfg/element.js @@ -10,4 +10,9 @@ const registerTFGElement = (event) => { .protons(90) .neutrons(232) .symbol("Th²³²") -} \ No newline at end of file + + event.create("certus") + .protons(14) + .neutrons(18) + .symbol("Ct") +} diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index b46650010..d60f235f1 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -373,6 +373,21 @@ const registerTFGItems = (event) => { event.create('tfg:certus_mechanism') .translationKey('item.tfg.certus_mechanism') + event.create('tfg:certus_boule') + .texture('kubejs:item/certus_boule') + + event.create('tfg:certus_wafer') + .texture('kubejs:item/certus_wafer') + + event.create('tfg:engineering_wafer') + .texture('kubejs:item/engineering_wafer') + + event.create('tfg:calculation_wafer') + .texture('kubejs:item/calculation_wafer') + + event.create('tfg:logic_wafer') + .texture('kubejs:item/logic_wafer') + event.create('tfg:small_bullet_casing') .translationKey('tfg:small_bullet_casing') event.create('tfg:shell_bullet_casing')