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 f394094b6..b10eb43a3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -926,6 +926,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", @@ -1158,6 +1163,12 @@ "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", "material.tfg.mars_air": "Mars Air", "material.tfg.liquid_mars_air": "Liquid Mars Air", + "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", @@ -4857,4 +4868,4 @@ "quests.tfg_tips.tools_tips.concrete_roads.title": "Concrete Roads", "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Almost worth all the effort.", "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions." -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/ae2/certus_wafer_chain.js b/kubejs/server_scripts/ae2/certus_wafer_chain.js new file mode 100644 index 000000000..f877f7a2f --- /dev/null +++ b/kubejs/server_scripts/ae2/certus_wafer_chain.js @@ -0,0 +1,112 @@ +// Certus wafer processing chain extracted from the original AE2 recipes patch. +ServerEvents.recipes(event => { + // Remove legacy processor print recipes (inscriber and forming press variants) + 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.remove({ id: 'ae2:printed_calculation_processor' }) + event.remove({ id: 'ae2:printed_calculation_processor_moon' }) + event.remove({ id: 'ae2:printed_engineering_processor' }) + event.remove({ id: 'ae2:printed_engineering_processor_moon' }) + event.remove({ id: 'ae2:printed_logic_processor' }) + event.remove({ id: 'ae2:printed_logic_processor_moon' }) + + // Certus chemistry + 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]) + + 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('ae2:certus_quartz_crystal') + .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]) + + // Boule and wafer fabrication + 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('tfg:engineering_wafer') + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) + + 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]) + + event.recipes.gtceu.laser_engraver('tfg:engrave_logic_certus') + .itemInputs('tfg:certus_wafer') + .notConsumable('ae2:logic_processor_press') + .itemOutputs('tfg:logic_wafer') + .duration(900) + .EUt(GTValues.VA[GTValues.MV]) + + 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') diff --git a/kubejs/startup_scripts/ae2/certus_materials.js b/kubejs/startup_scripts/ae2/certus_materials.js new file mode 100644 index 000000000..7ff6590dc --- /dev/null +++ b/kubejs/startup_scripts/ae2/certus_materials.js @@ -0,0 +1,37 @@ +// priority: 0 +"use strict"; + +// Additional AE2 materials for the certus wafer chain +GTCEuStartupEvents.registry('gtceu:material', event => { + 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/ae2/materials.js b/kubejs/startup_scripts/ae2/materials.js index d4ab8056d..1d7e47d35 100644 --- a/kubejs/startup_scripts/ae2/materials.js +++ b/kubejs/startup_scripts/ae2/materials.js @@ -11,7 +11,7 @@ const registerAE2Materials = (event) => { GTMaterialFlags.CRYSTALLIZABLE, GTMaterialFlags.DISABLE_DECOMPOSITION ) - .components('1x unknown', '1x nether_quartz', '1x certus_quartz') + .components('1x nether_quartz', '1x certus_quartz') .color(0x8f5ccb) .secondaryColor(0x252f5a) -} \ No newline at end of file +} diff --git a/kubejs/startup_scripts/gtceu/material_modification.certus.js b/kubejs/startup_scripts/gtceu/material_modification.certus.js new file mode 100644 index 000000000..a6df4d860 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/material_modification.certus.js @@ -0,0 +1,7 @@ +// priority: 0 + +// Adjust formulas for certus-based materials +GTCEuStartupEvents.materialModification(event => { + GTMaterials.get('tfg:fluix').setFormula('?(CtSiO2)(SiO2)', true) + GTMaterials.CertusQuartz.setFormula('CtSiO2', true) +}) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index f31a4a31c..0f20edf9d 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -439,7 +439,7 @@ const registerGTCEuMaterialModification = (event) => { let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); - GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') + GTMaterials.CertusQuartz.setComponents('1x certus', '1x silicon', '2x oxygen') GTMaterials.GraniteRed.setComponents([]) GTMaterials.GraniteRed.setFormula("?") } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/element.certus.js b/kubejs/startup_scripts/tfg/element.certus.js new file mode 100644 index 000000000..861d39943 --- /dev/null +++ b/kubejs/startup_scripts/tfg/element.certus.js @@ -0,0 +1,8 @@ +// priority: 0 + +GTCEuStartupEvents.registry('gtceu:element', event => { + event.create('certus') + .protons(14) + .neutrons(18) + .symbol('Ct') +}) diff --git a/kubejs/startup_scripts/tfg/items.certus.js b/kubejs/startup_scripts/tfg/items.certus.js new file mode 100644 index 000000000..8d433101d --- /dev/null +++ b/kubejs/startup_scripts/tfg/items.certus.js @@ -0,0 +1,20 @@ +// priority: 0 +"use strict"; + +// Certus wafer chain items +StartupEvents.registry('item', event => { + 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') +})