From 69a04536aaf3856edc728183cc247d4f4c871fbc Mon Sep 17 00:00:00 2001 From: trexxet Date: Sat, 11 Nov 2023 07:14:27 +0300 Subject: [PATCH 01/50] Add lignite processing --- groovy/globals/Globals.groovy | 2 + groovy/material/OreMaterials.groovy | 10 +++- groovy/material/SuSyMaterials.groovy | 1 + .../CoalPyrolysisChain.groovy | 57 ++++++++++++++++++- resources/langfiles/lang/en_us.lang | 1 + 5 files changed, 69 insertions(+), 2 deletions(-) diff --git a/groovy/globals/Globals.groovy b/groovy/globals/Globals.groovy index d242db780..69d2dacb6 100644 --- a/groovy/globals/Globals.groovy +++ b/groovy/globals/Globals.groovy @@ -48,6 +48,8 @@ class Globals { public static combustibles = [ new Combustible('gemCoke', 1, 3, 'dustTinyAsh'), new Combustible('dustCoke', 1, 3, 'dustTinyAsh'), + new Combustible('gemLigniteCoke', 2, 4, 'dustTinyAsh'), + new Combustible('dustLigniteCoke', 2, 4, 'dustTinyAsh'), new Combustible('gemAnthracite', 1, 2, 'dustTinyAsh'), new Combustible('dustAnthracite', 1, 2, 'dustTinyAsh'), new Combustible('gemCoal', 2, 4, 'dustTinyDarkAsh'), diff --git a/groovy/material/OreMaterials.groovy b/groovy/material/OreMaterials.groovy index 05c54e3fd..aa9e69cc4 100644 --- a/groovy/material/OreMaterials.groovy +++ b/groovy/material/OreMaterials.groovy @@ -273,7 +273,7 @@ public class OreMaterials{ .build(); Lignite = new Material.Builder(7033, SuSyUtility.susyId('lignite')) - .gem(1, 1200).ore(2, 1) + .gem(1, 534).ore(2, 1) .color(0x644646).iconSet(LIGNITE) .components(Carbon, 1) .flags(FLAMMABLE, NO_SMELTING, NO_SMASHING, MORTAR_GRINDABLE) @@ -563,5 +563,13 @@ public class OreMaterials{ .components(Platinum, 1) .colorAverage() .build(); + + LigniteCoke = new Material.Builder(7075, SuSyUtility.susyId('lignite_coke')) + .gem(1, 1200) + .color(0x8f7070).iconSet(LIGNITE) + .components(Carbon, 1) + .flags(FLAMMABLE, NO_SMELTING, NO_SMASHING, MORTAR_GRINDABLE) + .build(); + } } \ No newline at end of file diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 200d97fea..7de9022e6 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -65,6 +65,7 @@ class SuSyMaterials { public static Material Crookesite; public static Material Dilithium; public static Material Lignite; + public static Material LigniteCoke; public static Material Anthracite; public static Material Acanthite; public static Material Phosphorite; diff --git a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy index 04e9e4317..ac4290af2 100644 --- a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy @@ -29,7 +29,7 @@ PYROLYSE_OVEN.recipeBuilder() .duration(320) .EUt(60) .buildAndRegister() - + PYROLYSE_OVEN.recipeBuilder() .inputs(ore('gemAnthracite') * 16) .outputs(metaitem('gemCoke') * 14) @@ -178,4 +178,59 @@ DISTILLATION_TOWER.recipeBuilder() .fluidOutputs(fluid('naphthalene_oil') * 200) .duration(200) .EUt(48) + .buildAndRegister() + +// Lignite processing + +//----- Lignite pyrolysis to Lignite Coke +PYROLYSE_OVEN.recipeBuilder() + .inputs(ore('gemLignite') * 16) + .outputs(metaitem('gemLigniteCoke') * 4) + .fluidOutputs(fluid('creosote') * 2000) + .fluidOutputs(fluid('syngas') * 3200) + .duration(320) + .EUt(60) + .buildAndRegister() + +PYROLYSE_OVEN.recipeBuilder() + .inputs(ore('dustLignite') * 16) + .outputs(metaitem('dustLigniteCoke') * 4) + .fluidOutputs(fluid('creosote') * 2000) + .fluidOutputs(fluid('syngas') * 3200) + .duration(320) + .EUt(60) + .buildAndRegister() + +//----- Lignite Coke pyrolysis +PYROLYSE_OVEN.recipeBuilder() + .inputs(ore('gemLigniteCoke') * 16) + .outputs(metaitem('dustCarbon') * 9) + .fluidInputs(fluid('steam') * 15000) + .fluidOutputs(fluid('syngas') * 12000) + .duration(320) + .EUt(60) + .buildAndRegister() + +PYROLYSE_OVEN.recipeBuilder() + .inputs(ore('dustLigniteCoke') * 16) + .outputs(metaitem('dustCarbon') * 9) + .fluidInputs(fluid('steam') * 15000) + .fluidOutputs(fluid('syngas') * 12000) + .duration(320) + .EUt(60) + .buildAndRegister() + +//----- Centrifuging to Carbon +CENTRIFUGE.recipeBuilder() + .inputs(ore('dustLignite')) + .chancedOutput(metaitem('dustCarbon'), 2500, 0) + .duration(80) + .EUt(30) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .inputs(ore('dustLigniteCoke')) + .chancedOutput(metaitem('dustCarbon'), 7500, 0) + .duration(80) + .EUt(30) .buildAndRegister() \ No newline at end of file diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index eacc19be1..c22b9c63c 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1118,6 +1118,7 @@ susy.material.hutchinsonite=Hutchinsonite susy.material.crookesite=Crookesite susy.material.dilithium=Dilithium susy.material.lignite=Lignite +susy.material.lignite_coke=Lignite Coke susy.material.anthracite=Anthracite susy.material.phosphorite=Phosphorite susy.material.sperrylite=Sperrylite From 66b1e748be3c05dcadadd579572db853f7578bf3 Mon Sep 17 00:00:00 2001 From: trexxet Date: Sat, 11 Nov 2023 22:19:56 +0300 Subject: [PATCH 02/50] Adjust lignite fuel value --- groovy/material/OreMaterials.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/groovy/material/OreMaterials.groovy b/groovy/material/OreMaterials.groovy index aa9e69cc4..df0d8c136 100644 --- a/groovy/material/OreMaterials.groovy +++ b/groovy/material/OreMaterials.groovy @@ -273,7 +273,7 @@ public class OreMaterials{ .build(); Lignite = new Material.Builder(7033, SuSyUtility.susyId('lignite')) - .gem(1, 534).ore(2, 1) + .gem(1, 600).ore(2, 1) .color(0x644646).iconSet(LIGNITE) .components(Carbon, 1) .flags(FLAMMABLE, NO_SMELTING, NO_SMASHING, MORTAR_GRINDABLE) From 5b68ae993645ebd6a6308fe45683370f75d2a104 Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 05:10:40 +0300 Subject: [PATCH 03/50] Implement CarbonGlobals --- groovy/globals/CarbonGlobals.groovy | 82 +++++++++++++++++++++++++++++ groovy/runConfig.json | 3 +- 2 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 groovy/globals/CarbonGlobals.groovy diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy new file mode 100644 index 000000000..fb0aba6e1 --- /dev/null +++ b/groovy/globals/CarbonGlobals.groovy @@ -0,0 +1,82 @@ +import groovy.transform.TupleConstructor + +class CarbonGlobals { + + public static void main (String[] args) {} + + trait Combustible { + int combustible_amount + int combustible_duration + { + combustible_amount = item_amount_for_combustible() + } + } + + trait HighPurityCombustible extends Combustible {} + + // Get number of items which would contatin `required` amount of + // material if single item has `provider` amount + // E.g. for 90 carbon this would yield 1 for dustCarbon or + // dustAnthracite and 2 for dustCharcoal or gemLigniteCoke + static int item_amount_of_provider(int required, int provider) { + int result = required.intdiv(provider) + if (required % provider > 0) { + result += 1 + } + return result + } + + @TupleConstructor + public static class CarbonSource { + String name + int carbon + String byproduct + + public int item_amount_of_carbon(int required_carbon) { + return item_amount_of_provider(required_carbon, this.carbon) + } + + int item_amount_for_combustible() { + return item_amount_of_carbon(90) + } + } + + public static carbon_sources = [ + new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { + combustible_duration = 1 + }, + new CarbonSource('gemCoke', 100, 'dustTinyAsh').withTraits(Combustible).tap { + combustible_duration = 2 + }, + new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { + combustible_duration = 2 + }, + new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { + combustible_duration = 2 + }, + new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { + combustible_duration = 2 + }, + new CarbonSource('gemLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { + combustible_duration = 3 + }, + new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { + combustible_duration = 3 + }, + new CarbonSource('gemCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { + combustible_duration = 4 + }, + new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { + combustible_duration = 4 + }, + new CarbonSource('gemCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { + combustible_duration = 4 + }, + new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { + combustible_duration = 4 + }, + new CarbonSource('gemLignite', 25, 'dustTinyAsh'), + new CarbonSource('dustLignite', 25, 'dustTinyAsh') + ] + +} \ No newline at end of file diff --git a/groovy/runConfig.json b/groovy/runConfig.json index 3969f9ca4..66dafcfd3 100644 --- a/groovy/runConfig.json +++ b/groovy/runConfig.json @@ -12,8 +12,7 @@ "classes/IQuenchingFluid.groovy", "classes/IRefrigerant.groovy", "classes/IWorkingFluid.groovy", - "globals/SinteringGlobals.groovy", - "globals/Globals.groovy", + "globals/", "material/" ], "loaders": { From 7f8143ec1d70d00de4a0673d695a09a23b42809f Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 06:01:32 +0300 Subject: [PATCH 04/50] Switch Globals.combustibles to CarbonGlobals --- groovy/globals/CarbonGlobals.groovy | 31 +++++++++-------- groovy/globals/Globals.groovy | 32 ------------------ .../chemistry/StainlessSteelChain.groovy | 5 +-- .../chemistry/elements/AluminiumChain.groovy | 7 ++-- .../chemistry/elements/BismuthChain.groovy | 5 +-- .../chemistry/elements/CobaltChain.groovy | 7 ++-- .../chemistry/elements/HafniumChain.groovy | 5 +-- .../chemistry/elements/IronChain.groovy | 19 ++++++----- .../chemistry/elements/LeadChain.groovy | 5 +-- .../chemistry/elements/MagnesiumChain.groovy | 33 +++++++++---------- .../chemistry/elements/ManganeseChain.groovy | 9 ++--- .../chemistry/elements/NickelChain.groovy | 17 +++++----- .../chemistry/elements/TinChain.groovy | 9 +++-- .../chemistry/elements/TitaniumChain.groovy | 9 ++--- .../chemistry/elements/ZincChain.groovy | 9 ++--- .../chemistry/elements/ZirconiumChain.groovy | 13 ++++---- 16 files changed, 95 insertions(+), 120 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index fb0aba6e1..f7b99f945 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -5,10 +5,10 @@ class CarbonGlobals { public static void main (String[] args) {} trait Combustible { - int combustible_amount - int combustible_duration + int amount + int duration { - combustible_amount = item_amount_for_combustible() + amount = item_amount_for_combustible() } } @@ -43,40 +43,43 @@ class CarbonGlobals { public static carbon_sources = [ new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { - combustible_duration = 1 + duration = 1 }, new CarbonSource('gemCoke', 100, 'dustTinyAsh').withTraits(Combustible).tap { - combustible_duration = 2 + duration = 2 }, new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { - combustible_duration = 2 + duration = 2 }, new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { - combustible_duration = 2 + duration = 2 }, new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { - combustible_duration = 2 + duration = 2 }, new CarbonSource('gemLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { - combustible_duration = 3 + duration = 3 }, new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { - combustible_duration = 3 + duration = 3 }, new CarbonSource('gemCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { - combustible_duration = 4 + duration = 4 }, new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { - combustible_duration = 4 + duration = 4 }, new CarbonSource('gemCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { - combustible_duration = 4 + duration = 4 }, new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { - combustible_duration = 4 + duration = 4 }, new CarbonSource('gemLignite', 25, 'dustTinyAsh'), new CarbonSource('dustLignite', 25, 'dustTinyAsh') ] + public static List combustibles() { carbon_sources.grep(Combustible) } + public static List highPurityCombustibles() { carbon_sources.grep(HighPurityCombustible) } + } \ No newline at end of file diff --git a/groovy/globals/Globals.groovy b/groovy/globals/Globals.groovy index 69d2dacb6..ca37544dc 100644 --- a/groovy/globals/Globals.groovy +++ b/groovy/globals/Globals.groovy @@ -32,38 +32,6 @@ class Globals { "biomesoplenty" ] - public static class Combustible { - String name - String byproduct - int amount_required - int duration - Combustible(name, amount_required, duration, byproduct) { - this.name = name - this.amount_required = amount_required - this.duration = duration - this.byproduct = byproduct - } - } - - public static combustibles = [ - new Combustible('gemCoke', 1, 3, 'dustTinyAsh'), - new Combustible('dustCoke', 1, 3, 'dustTinyAsh'), - new Combustible('gemLigniteCoke', 2, 4, 'dustTinyAsh'), - new Combustible('dustLigniteCoke', 2, 4, 'dustTinyAsh'), - new Combustible('gemAnthracite', 1, 2, 'dustTinyAsh'), - new Combustible('dustAnthracite', 1, 2, 'dustTinyAsh'), - new Combustible('gemCoal', 2, 4, 'dustTinyDarkAsh'), - new Combustible('dustCoal', 2, 4, 'dustTinyDarkAsh'), - new Combustible('gemCharcoal', 2, 4, 'dustTinyDarkAsh'), - new Combustible('dustCharcoal', 2, 4, 'dustTinyDarkAsh'), - new Combustible('dustCarbon', 1, 1, 'dustTinyAsh') - ] - - public static highPurityCombustibles = [ - new Combustible('dustCoke', 1, 2, 'dustTinyAsh'), - new Combustible('dustCarbon', 1, 1, 'dustTinyAsh') - ] - public static class InertGas { String name int amount_required diff --git a/groovy/postInit/chemistry/StainlessSteelChain.groovy b/groovy/postInit/chemistry/StainlessSteelChain.groovy index bfea6f357..61f68c3f5 100644 --- a/groovy/postInit/chemistry/StainlessSteelChain.groovy +++ b/groovy/postInit/chemistry/StainlessSteelChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* import static gregtech.api.unification.material.Materials.*; import gregtech.api.unification.material.MarkerMaterials; @@ -81,11 +82,11 @@ EBF.recipeBuilder() // .EUt(Globals.voltAmps[3]) // .buildAndRegister() -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { EBF.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) .inputs(ore('dustIron') * 3) - .inputs(ore(highPurityCombustible.name) * 2) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) .outputs(metaitem('dustFerrosilicon') * 4) .fluidOutputs(fluid('carbon_monoxide') * 2000) .blastFurnaceTemp(1400) diff --git a/groovy/postInit/chemistry/elements/AluminiumChain.groovy b/groovy/postInit/chemistry/elements/AluminiumChain.groovy index cb71e1165..81e716f2b 100644 --- a/groovy/postInit/chemistry/elements/AluminiumChain.groovy +++ b/groovy/postInit/chemistry/elements/AluminiumChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* ROASTER = recipemap('roaster') CENTRIFUGE = recipemap('centrifuge') @@ -113,12 +114,10 @@ ELECTROLYTIC_CELL.recipeBuilder() .buildAndRegister() // EBF -def combustibles = Globals.combustibles - -for (combustible in combustibles) { +for (combustible in CarbonGlobals.combustibles()) { EBF.recipeBuilder() .inputs(ore('dustAlumina') * 10) - .inputs(ore(combustible.name) * combustible.amount_required * 3) + .inputs(ore(combustible.name) * (combustible.amount * 3)) .fluidOutputs(fluid('carbon_dioxide') * 3000) .outputs(metaitem('ingotAluminium') * 4) .blastFurnaceTemp(1200) diff --git a/groovy/postInit/chemistry/elements/BismuthChain.groovy b/groovy/postInit/chemistry/elements/BismuthChain.groovy index 9c5e35dac..51ef734d2 100644 --- a/groovy/postInit/chemistry/elements/BismuthChain.groovy +++ b/groovy/postInit/chemistry/elements/BismuthChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* ROASTER = recipemap('roaster') BR = recipemap('batch_reactor') @@ -16,10 +17,10 @@ ROASTER.recipeBuilder() .duration(120) .buildAndRegister() -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustBismuthIiiOxide') * 5) - .inputs(ore(highPurityCombustible.name) * 3) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 3)) .outputs(metaitem('dustBismuth') * 2) .fluidOutputs(fluid('carbon_monoxide') * 3000) .EUt(120) diff --git a/groovy/postInit/chemistry/elements/CobaltChain.groovy b/groovy/postInit/chemistry/elements/CobaltChain.groovy index a74344428..8806fc351 100644 --- a/groovy/postInit/chemistry/elements/CobaltChain.groovy +++ b/groovy/postInit/chemistry/elements/CobaltChain.groovy @@ -1,13 +1,12 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* ROASTER = recipemap('roaster') -def combustibles = Globals.combustibles - -for (combustible in combustibles) { +for (combustible in CarbonGlobals.combustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustCobaltOxide') * 2) - .inputs(ore(combustible.name) * (combustible.amount_required)) + .inputs(ore(combustible.name) * (combustible.amount)) .outputs(metaitem('dustCobalt')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .duration(120) diff --git a/groovy/postInit/chemistry/elements/HafniumChain.groovy b/groovy/postInit/chemistry/elements/HafniumChain.groovy index f7998900b..7ba00889f 100644 --- a/groovy/postInit/chemistry/elements/HafniumChain.groovy +++ b/groovy/postInit/chemistry/elements/HafniumChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* MIXER = recipemap('mixer') FF = recipemap('froth_flotation') @@ -38,10 +39,10 @@ ROASTER.recipeBuilder() .duration(20) .buildAndRegister() -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustHafniumDioxide')) - .inputs(ore(highPurityCombustible.name) * 2) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) .fluidInputs(fluid('chlorine') * 4000) .outputs(metaitem('dustImpureHafniumTetrachloride') * 5) .fluidOutputs(fluid('carbon_monoxide') * 2000) diff --git a/groovy/postInit/chemistry/elements/IronChain.groovy b/groovy/postInit/chemistry/elements/IronChain.groovy index 52bd0ab15..6a45ce058 100755 --- a/groovy/postInit/chemistry/elements/IronChain.groovy +++ b/groovy/postInit/chemistry/elements/IronChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* class Blastable { String name @@ -54,25 +55,25 @@ def reductants = [ new Reductant('hydrogen', 'steam', 2, 1) ] -def combustibles = Globals.combustibles +def combustibles = CarbonGlobals.combustibles() for (blastable in blastables) { for (combustible in combustibles) { //BESSEMER PROCESS PBF_RECIPES.recipeBuilder() .inputs(ore(blastable.name) * blastable.amount_required) - .inputs(ore(combustible.name) * (combustible.amount_required * blastable.reductant_required)) + .inputs(ore(combustible.name) * (combustible.amount * blastable.reductant_required)) .outputs(metaitem('ingotPigIron') * blastable.amount_produced) - .outputs(metaitem(combustible.byproduct) * (combustible.amount_required * blastable.reductant_required)) + .outputs(metaitem(combustible.byproduct) * (combustible.amount * blastable.reductant_required)) .duration((int) (combustible.duration * blastable.amount_produced * blastable.duration)) .buildAndRegister() //MODERN BLAST FURNACE EBF_RECIPES.recipeBuilder() .inputs(ore(blastable.name) * blastable.amount_required) - .inputs(ore(combustible.name) * (combustible.amount_required * blastable.reductant_required)) + .inputs(ore(combustible.name) * (combustible.amount * blastable.reductant_required)) .outputs(metaitem('ingotPigIron') * blastable.amount_produced) - .outputs(metaitem(combustible.byproduct) * (combustible.amount_required * blastable.reductant_required)) + .outputs(metaitem(combustible.byproduct) * (combustible.amount * blastable.reductant_required)) .duration((int) (combustible.duration * blastable.amount_produced * blastable.duration / 2)) .blastFurnaceTemp(1750) .EUt(Globals.voltAmps[1]) @@ -172,17 +173,17 @@ EBF_RECIPES.recipeBuilder() for (combustible in combustibles) { PBF_RECIPES.recipeBuilder() .inputs(item('minecraft:iron_ingot')) - .inputs(ore(combustible.name) * combustible.amount_required) + .inputs(ore(combustible.name) * combustible.amount) .outputs(metaitem('ingotSteel')) - .outputs(metaitem(combustible.byproduct) * combustible.amount_required) + .outputs(metaitem(combustible.byproduct) * combustible.amount) .duration(combustible.duration * 120) .buildAndRegister() PBF_RECIPES.recipeBuilder() .inputs(ore('ingotWroughtIron')) - .inputs(ore(combustible.name) * combustible.amount_required) + .inputs(ore(combustible.name) * combustible.amount) .outputs(metaitem('ingotSteel')) - .outputs(metaitem(combustible.byproduct) * combustible.amount_required) + .outputs(metaitem(combustible.byproduct) * combustible.amount) .duration(combustible.duration * 60) .buildAndRegister() } diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index 4f300bf3d..412cb5d1a 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* import static globals.SinteringGlobals.* FLUID_SOLIDIFIER = recipemap('fluid_solidifier') @@ -173,12 +174,12 @@ for (fuel in rotary_kiln_fuels) { } //SINTER-ROAST PROCESS (UNIVERSAL, 200%) -def combustibles = Globals.combustibles +def combustibles = CarbonGlobals.combustibles() for (combustible in combustibles) { EBF.recipeBuilder() .inputs(ore('dustSinteredLeadConcentrate') * 2) - .inputs(ore(combustible.name) * (combustible.amount_required)) + .inputs(ore(combustible.name) * (combustible.amount)) .inputs(ore('dustTinyCalcite')) .outputs(metaitem('ingotCrudeLead') * 2) .outputs(metaitem(combustible.byproduct)) diff --git a/groovy/postInit/chemistry/elements/MagnesiumChain.groovy b/groovy/postInit/chemistry/elements/MagnesiumChain.groovy index edb9efac2..49228bcca 100644 --- a/groovy/postInit/chemistry/elements/MagnesiumChain.groovy +++ b/groovy/postInit/chemistry/elements/MagnesiumChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* ROASTER = recipemap('roaster') EBF = recipemap('electric_blast_furnace') @@ -40,19 +41,17 @@ EBF.recipeBuilder() .blastFurnaceTemp(1370) .buildAndRegister() -for (combustible in Globals.combustibles) { - - EBF.recipeBuilder() - .inputs(ore('dustMagnesia') * 2) - .inputs(ore(combustible.name) * combustible.amount_required) - .outputs(metaitem('dustMagnesium')) - .outputs(metaitem(combustible.byproduct) * combustible.amount_required) - .fluidOutputs(fluid('carbon_monoxide') * 1000) - .EUt(120) - .duration(20 * combustible.duration) - .blastFurnaceTemp(2500) - .buildAndRegister() - +for (combustible in CarbonGlobals.combustibles()) { + EBF.recipeBuilder() + .inputs(ore('dustMagnesia') * 2) + .inputs(ore(combustible.name) * combustible.amount) + .outputs(metaitem('dustMagnesium')) + .outputs(metaitem(combustible.byproduct) * combustible.amount) + .fluidOutputs(fluid('carbon_monoxide') * 1000) + .EUt(120) + .duration(20 * combustible.duration) + .blastFurnaceTemp(2500) + .buildAndRegister() } ROASTER.recipeBuilder() @@ -64,12 +63,10 @@ ROASTER.recipeBuilder() .buildAndRegister() //IG FARBEN CHLORINATION -def combustibles = Globals.combustibles - -for (combustible in combustibles) { -REACTION_FURNACE.recipeBuilder() +for (combustible in CarbonGlobals.combustibles()) { + REACTION_FURNACE.recipeBuilder() .inputs(ore('dustMagnesia') * 2) - .inputs(ore(combustible.name) * (combustible.amount_required)) + .inputs(ore(combustible.name) * (combustible.amount)) .fluidInputs(fluid('chlorine') * 2000) .outputs(metaitem('dustMagnesiumChloride') * 3) .outputs(metaitem(combustible.byproduct)) diff --git a/groovy/postInit/chemistry/elements/ManganeseChain.groovy b/groovy/postInit/chemistry/elements/ManganeseChain.groovy index f1292ca0e..c964b48e0 100644 --- a/groovy/postInit/chemistry/elements/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/elements/ManganeseChain.groovy @@ -6,6 +6,7 @@ import gregtech.api.unification.ore.OrePrefix; import static gregtech.api.unification.material.Materials.*; import static globals.Globals.* +import static globals.CarbonGlobals.* EBF = recipemap('electric_blast_furnace') ROASTER = recipemap('roaster') @@ -15,10 +16,10 @@ ELECTROLYTIC_CELL = recipemap('electrolytic_cell') //PYROMETALLUGRICAL METHODS (75%) -for (combustible in Globals.combustibles) { +for (combustible in CarbonGlobals.combustibles()) { EBF.recipeBuilder() .inputs(ore('dustPyrolusite')) - .inputs(ore(combustible.name) * combustible.amount_required * 2) + .inputs(ore(combustible.name) * (combustible.amount * 2)) .inputs(ore('dustTinyCalcite')) .chancedOutput(metaitem('dustManganese'), 7500, 0) .fluidOutputs(fluid('carbon_dioxide') * 1000) @@ -36,10 +37,10 @@ ROASTER.recipeBuilder() .EUt(Globals.voltAmps[1]) .buildAndRegister() -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustManganeseIiOxide') * 2) - .inputs(ore(highPurityCombustible.name) * 1) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) .chancedOutput(metaitem('dustManganese'), 8500, 0) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('carbon_monoxide') * 1000) diff --git a/groovy/postInit/chemistry/elements/NickelChain.groovy b/groovy/postInit/chemistry/elements/NickelChain.groovy index a53ecd689..099db99d1 100644 --- a/groovy/postInit/chemistry/elements/NickelChain.groovy +++ b/groovy/postInit/chemistry/elements/NickelChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* PRIMITIVEBLASTFURNACE = recipemap('primitive_blast_furnace') EBF = recipemap('electric_blast_furnace') @@ -19,34 +20,34 @@ EBF.recipeBuilder() .duration(40) .buildAndRegister() -for (combustible in Globals.combustibles) { +for (combustible in CarbonGlobals.combustibles()) { PRIMITIVEBLASTFURNACE.recipeBuilder() .inputs(ore('dustNickel')) - .inputs(ore(combustible.name) * (combustible.amount_required)) + .inputs(ore(combustible.name) * (combustible.amount)) .outputs(metaitem('ingotNickel')) - .outputs(metaitem(combustible.byproduct) * (combustible.amount_required)) + .outputs(metaitem(combustible.byproduct) * (combustible.amount)) .duration(250) .buildAndRegister() PRIMITIVEBLASTFURNACE.recipeBuilder() .inputs(ore('dustGarnierite')) - .inputs(ore(combustible.name) * (combustible.amount_required)) + .inputs(ore(combustible.name) * (combustible.amount)) .outputs(metaitem('ingotNickel')) - .outputs(metaitem(combustible.byproduct) * (combustible.amount_required)) + .outputs(metaitem(combustible.byproduct) * (combustible.amount)) .duration(250) .buildAndRegister() PRIMITIVEBLASTFURNACE.recipeBuilder() .inputs(ore('dustPentlandite')) - .inputs(ore(combustible.name) * (combustible.amount_required) * 4) + .inputs(ore(combustible.name) * (combustible.amount * 4)) .outputs(metaitem('ingotNickel')) - .outputs(metaitem(combustible.byproduct) * (combustible.amount_required) * 4) + .outputs(metaitem(combustible.byproduct) * (combustible.amount * 4)) .duration(250) .buildAndRegister() EBF.recipeBuilder() .inputs(ore('dustGarnierite')) - .inputs(ore(combustible.name) * (combustible.amount_required)) + .inputs(ore(combustible.name) * (combustible.amount)) .outputs(metaitem('ingotNickel')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .EUt(30) diff --git a/groovy/postInit/chemistry/elements/TinChain.groovy b/groovy/postInit/chemistry/elements/TinChain.groovy index bb7cdfd90..320c76059 100644 --- a/groovy/postInit/chemistry/elements/TinChain.groovy +++ b/groovy/postInit/chemistry/elements/TinChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* AUTOCLAVE = recipemap('autoclave') ROASTER = recipemap('roaster') @@ -69,12 +70,10 @@ CHEMICAL_BATH.recipeBuilder() .buildAndRegister() //SMELTING -def combustibles = Globals.combustibles - -for (combustible in combustibles) { +for (combustible in CarbonGlobals.combustibles()) { REACTION_FURNACE.recipeBuilder() .inputs(ore('dustCassiteriteConcentrate')) - .inputs(ore(combustible.name) * (combustible.amount_required) * 2) + .inputs(ore(combustible.name) * (combustible.amount * 2)) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('crude_tin') * 190) .fluidOutputs(fluid('tin_dross') * 25) @@ -85,7 +84,7 @@ for (combustible in combustibles) { REACTION_FURNACE.recipeBuilder() .inputs(ore('dustLeachedCassiteriteConcentrate')) - .inputs(ore(combustible.name) * (combustible.amount_required) * 2) + .inputs(ore(combustible.name) * (combustible.amount * 2)) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('crude_tin') * 190) .fluidOutputs(fluid('tin_dross') * 25) diff --git a/groovy/postInit/chemistry/elements/TitaniumChain.groovy b/groovy/postInit/chemistry/elements/TitaniumChain.groovy index f8f2e53fc..f23e1a9e3 100644 --- a/groovy/postInit/chemistry/elements/TitaniumChain.groovy +++ b/groovy/postInit/chemistry/elements/TitaniumChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* MIXER = recipemap('mixer') FF = recipemap('froth_flotation') @@ -119,11 +120,11 @@ BR.recipeBuilder() // Chloride Ilmenite Process -for (highPurityCombustible in highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .fluidInputs(fluid('chlorine') * 3000) .inputs(ore('dustIlmenite')) - .inputs(ore(highPurityCombustible.name)) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('gaseous_iron_iii_chloride') * 120) .fluidOutputs(fluid('carbon_monoxide') * 1000) @@ -135,7 +136,7 @@ for (highPurityCombustible in highPurityCombustibles) { FLUIDIZED_BED_REACTOR.recipeBuilder() .fluidInputs(fluid('chlorine') * 2000) .inputs(ore('dustPerovskite')) - .inputs(ore(highPurityCombustible.name)) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('calcium_chloride') * 432) .fluidOutputs(fluid('carbon_monoxide') * 1000) @@ -146,7 +147,7 @@ for (highPurityCombustible in highPurityCombustibles) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustRutile') * 3) - .inputs(ore(highPurityCombustible.name) * 2) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) .fluidInputs(fluid('chlorine') * 4000) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('gaseous_titanium_tetrachloride') * 1000) diff --git a/groovy/postInit/chemistry/elements/ZincChain.groovy b/groovy/postInit/chemistry/elements/ZincChain.groovy index 7421ef997..f8c9d9a1d 100755 --- a/groovy/postInit/chemistry/elements/ZincChain.groovy +++ b/groovy/postInit/chemistry/elements/ZincChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* FLOTATION = recipemap('froth_flotation') CLARIFIER = recipemap('clarifier') @@ -141,10 +142,10 @@ FLUIDIZEDBR.recipeBuilder() .duration(200) .buildAndRegister() -for (combustible in Globals.combustibles) { +for (combustible in CarbonGlobals.combustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustZincite') * 2) - .inputs(ore(combustible.name) * combustible.amount_required) + .inputs(ore(combustible.name) * (combustible.amount)) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('crude_zinc') * 216) .fluidOutputs(fluid('carbon_monoxide') * 1000) @@ -153,10 +154,10 @@ for (combustible in Globals.combustibles) { .buildAndRegister() } -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustZincOxide') * 2) - .inputs(ore(highPurityCombustible.name) * highPurityCombustible.amount_required) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) .outputs(metaitem('dustZinc')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .EUt(30) diff --git a/groovy/postInit/chemistry/elements/ZirconiumChain.groovy b/groovy/postInit/chemistry/elements/ZirconiumChain.groovy index 424c472d9..bd1281186 100644 --- a/groovy/postInit/chemistry/elements/ZirconiumChain.groovy +++ b/groovy/postInit/chemistry/elements/ZirconiumChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* MIXER = recipemap('mixer') FF = recipemap('froth_flotation') @@ -81,10 +82,10 @@ ADVANCED_ARC_FURNACE.recipeBuilder() .buildAndRegister() // Carbochlorination (100%) -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustZirconConcentrate')) - .inputs(ore(highPurityCombustible.name) * 4) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 4)) .fluidInputs(fluid('chlorine') * 8000) .outputs(metaitem('dustImpureZirconiumTetrachloride') * 5) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) @@ -142,10 +143,10 @@ BR.recipeBuilder() .buildAndRegister() // Carbochlorination (100%) -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustBaddeleyite')) - .inputs(ore(highPurityCombustible.name) * 2) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) .fluidInputs(fluid('chlorine') * 4000) .outputs(metaitem('dustImpureZirconiumTetrachloride') * 5) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) @@ -202,10 +203,10 @@ BR.recipeBuilder() .duration(20) .buildAndRegister() -for (highPurityCombustible in Globals.highPurityCombustibles) { +for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustZirconiumDioxide')) - .inputs(ore(highPurityCombustible.name) * 2) + .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) .fluidInputs(fluid('chlorine') * 4000) .outputs(metaitem('dustZirconiumTetrachloride') * 5) .fluidOutputs(fluid('carbon_monoxide') * 2000) From 61a08b3a8844bae1705a097e0d21339d19082a40 Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 06:38:16 +0300 Subject: [PATCH 05/50] Switch CARBON_SOURCES to CarbonGlobals --- groovy/globals/CarbonGlobals.groovy | 6 +- .../chemistry/ChemistryOverhaul.groovy | 66 ++++++++----------- .../chemistry/elements/LeadChain.groovy | 32 ++++----- 3 files changed, 43 insertions(+), 61 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index f7b99f945..15e77bc72 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -41,7 +41,7 @@ class CarbonGlobals { } } - public static carbon_sources = [ + public static sources = [ new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { duration = 1 }, @@ -79,7 +79,7 @@ class CarbonGlobals { new CarbonSource('dustLignite', 25, 'dustTinyAsh') ] - public static List combustibles() { carbon_sources.grep(Combustible) } - public static List highPurityCombustibles() { carbon_sources.grep(HighPurityCombustible) } + public static List combustibles() { sources.grep(Combustible) } + public static List highPurityCombustibles() { sources.grep(HighPurityCombustible) } } \ No newline at end of file diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 63b24a157..fed386d2f 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* import static gregtech.api.unification.material.Materials.*; import gregtech.api.unification.material.MarkerMaterials; @@ -42,18 +43,6 @@ VACUUM_DT = recipemap('vacuum_distillation') CRACKER = recipemap('cracker') FLUID_HEATER = recipemap('fluid_heater') -def COAL_SOURCES = [ - "dustCarbon", - "gemCoal", - "dustCoal", - "gemCharcoal", - "dustCoke", - "gemCoke", - "dustCharcoal", - "gemAnthracite", - "dustAnthracite" -] - def CARBON_DUSTS = [ "dustCarbon", "dustCoal", @@ -172,40 +161,41 @@ DISTILLERY.recipeBuilder() .buildAndRegister() // Carbon Monoxide roaster - -for (coal_source in COAL_SOURCES) { +// TODO: set output according to carbon amount? +for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() - .fluidInputs(fluid('oxygen') * 1000) - .inputs(ore(coal_source)) - .circuitMeta(1) - .fluidOutputs(fluid('carbon_monoxide') * 1000) - .duration(80) - .EUt(7) - .buildAndRegister() + .fluidInputs(fluid('oxygen') * 1000) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(60)) + .circuitMeta(1) + .fluidOutputs(fluid('carbon_monoxide') * 1000) + .duration(80) + .EUt(7) + .buildAndRegister() } // Carbon Dioxide roaster -for (coal_source in COAL_SOURCES) { +// TODO: set output according to carbon amount? +for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() - .fluidInputs(fluid('oxygen') * 2000) - .inputs(ore(coal_source)) - .circuitMeta(2) - .fluidOutputs(fluid('carbon_dioxide') * 1000) - .duration(40) - .EUt(7) - .buildAndRegister() + .fluidInputs(fluid('oxygen') * 2000) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(60)) + .circuitMeta(2) + .fluidOutputs(fluid('carbon_dioxide') * 1000) + .duration(40) + .EUt(7) + .buildAndRegister() } //CARBON DISULFIDE -for (coal_source in COAL_SOURCES) { +for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() - .inputs(ore(coal_source)) - .inputs(ore('dustSulfur') * 2) - .fluidOutputs(fluid('carbon_disulfide') * 1000) - .duration(100) - .EUt(60) - .buildAndRegister() + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(60)) + .inputs(ore('dustSulfur') * 2) + .fluidOutputs(fluid('carbon_disulfide') * 1000) + .duration(100) + .EUt(60) + .buildAndRegister() } @@ -2051,10 +2041,10 @@ DRYER.recipeBuilder() //acetylene -for (carbon in COAL_SOURCES) { +for (carbon in CarbonGlobals.sources) { EBF.recipeBuilder() .inputs(ore('dustQuicklime') * 2) - .inputs(ore(carbon) * 3) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(180)) .outputs(metaitem('dustCalciumCarbide') * 3) .fluidOutputs(fluid('carbon_monoxide') * 1000) .blastFurnaceTemp(2473) diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index 412cb5d1a..35d13831a 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -18,16 +18,6 @@ SIFTER = recipemap('sifter') ROTARY_KILN = recipemap('rotary_kiln') CLARIFIER = recipemap('clarifier') -def COAL_SOURCES = [ - "dustCarbon", - "gemCoal", - "dustCoal", - "gemCharcoal", - "dustCoke", - "gemCoke", - "dustCharcoal" -] - //REMOVAL mods.gregtech.electric_blast_furnace.removeByInput(120, [metaitem('dustGalena')], [fluid('oxygen') * 3000]) // Bismuth Dust * 3 @@ -309,10 +299,10 @@ BR.recipeBuilder() .duration(200) .buildAndRegister() -for (coal_source in COAL_SOURCES) { +for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustAntimonyVOxide') * 7) - .inputs(ore(coal_source) * 5) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(500)) .outputs(metaitem('dustAntimony') * 2) .fluidOutputs(fluid('carbon_monoxide') * 5000) .EUt(120) @@ -321,20 +311,22 @@ for (coal_source in COAL_SOURCES) { ROASTER.recipeBuilder() .inputs(ore('dustTinIvOxide') * 3) - .inputs(ore(coal_source) * 2) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(200)) .outputs(metaitem('dustTin')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(120) .duration(200) .buildAndRegister() - ROASTER.recipeBuilder() - .inputs(ore('dustLithargeSlag') * 10) - .inputs(ore(coal_source) * 23) - .outputs(metaitem('ingotBettsCrudeLead') * 10) - .EUt(Globals.voltAmps[3]) - .duration(400) - .buildAndRegister() + if (carbon.carbon > 36) { + ROASTER.recipeBuilder() + .inputs(ore('dustLithargeSlag') * 10) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(2300)) + .outputs(metaitem('ingotBettsCrudeLead') * 10) + .EUt(Globals.voltAmps[3]) + .duration(400) + .buildAndRegister() + } } // Lead Dust * 1 From 4568abbd60a2ec58412f861c32e3ee478d6ebc37 Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 06:46:57 +0300 Subject: [PATCH 06/50] Switch CARBON_DUSTS to CarbonGlobals --- groovy/globals/CarbonGlobals.groovy | 16 ++++++++------- .../chemistry/ChemistryOverhaul.groovy | 20 ++++++------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index 15e77bc72..a9c4580f4 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -13,6 +13,7 @@ class CarbonGlobals { } trait HighPurityCombustible extends Combustible {} + trait Dust {} // Get number of items which would contatin `required` amount of // material if single item has `provider` amount @@ -42,44 +43,45 @@ class CarbonGlobals { } public static sources = [ - new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { + new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible, Dust).tap { duration = 1 }, new CarbonSource('gemCoke', 100, 'dustTinyAsh').withTraits(Combustible).tap { duration = 2 }, - new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { + new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible, Dust).tap { duration = 2 }, new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { duration = 2 }, - new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible, Dust).tap { duration = 2 }, new CarbonSource('gemLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { duration = 3 }, - new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible, Dust).tap { duration = 3 }, new CarbonSource('gemCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { duration = 4 }, - new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { + new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible, Dust).tap { duration = 4 }, new CarbonSource('gemCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { duration = 4 }, - new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { + new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible, Dust).tap { duration = 4 }, new CarbonSource('gemLignite', 25, 'dustTinyAsh'), - new CarbonSource('dustLignite', 25, 'dustTinyAsh') + new CarbonSource('dustLignite', 25, 'dustTinyAsh').withTraits(Dust) ] public static List combustibles() { sources.grep(Combustible) } public static List highPurityCombustibles() { sources.grep(HighPurityCombustible) } + public static List dusts() { sources.grep(Dust) } } \ No newline at end of file diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index fed386d2f..f8b82396a 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -43,14 +43,6 @@ VACUUM_DT = recipemap('vacuum_distillation') CRACKER = recipemap('cracker') FLUID_HEATER = recipemap('fluid_heater') -def CARBON_DUSTS = [ - "dustCarbon", - "dustCoal", - "dustCoke", - "dustCharcoal", - "dustAnthracite" -] - ASSEMBLER.recipeBuilder() .inputs(ore('stickIron') * 4) .inputs(ore('pipeTinyFluidSteel') * 4) @@ -2375,10 +2367,10 @@ ROASTER.recipeBuilder() //Silicon & Graphite -for (carbon in CARBON_DUSTS) { +for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon) * 1) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(90)) .outputs(metaitem('dustSilicon')) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 2000) @@ -2388,7 +2380,7 @@ for (carbon in CARBON_DUSTS) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustQuartzite') * 3) - .inputs(ore(carbon) * 1) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(90)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2397,7 +2389,7 @@ for (carbon in CARBON_DUSTS) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustCertusQuartz') * 3) - .inputs(ore(carbon) * 2) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(270)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2406,7 +2398,7 @@ for (carbon in CARBON_DUSTS) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustNetherQuartz') * 3) - .inputs(ore(carbon) * 2) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(180)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2415,7 +2407,7 @@ for (carbon in CARBON_DUSTS) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon) * 3) + .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(270)) .circuitMeta(2) .outputs(metaitem('dustSiliconCarbide') * 2) .fluidOutputs(fluid('carbon_monoxide') * 2000) From c1454fa8351d68d7bd3468b8f9119fcd55ecf3fb Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 07:04:15 +0300 Subject: [PATCH 07/50] add amount_equialent --- groovy/globals/CarbonGlobals.groovy | 14 +++++++------- .../chemistry/ChemistryOverhaul.groovy | 18 +++++++++--------- .../chemistry/elements/LeadChain.groovy | 8 ++++---- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index a9c4580f4..d30e12771 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -4,11 +4,15 @@ class CarbonGlobals { public static void main (String[] args) {} + // Anthracite coal value, so most recipes would require + // equal amount of carbon/coke/anthracite and 2x coal + static final int UNIVERSAL_COAL_EQUIALENT = 90 + trait Combustible { int amount int duration { - amount = item_amount_for_combustible() + amount = amount_equialent(1) } } @@ -33,12 +37,8 @@ class CarbonGlobals { int carbon String byproduct - public int item_amount_of_carbon(int required_carbon) { - return item_amount_of_provider(required_carbon, this.carbon) - } - - int item_amount_for_combustible() { - return item_amount_of_carbon(90) + public int amount_equialent(int required_carbon_items) { + return item_amount_of_provider(required_carbon_items * UNIVERSAL_COAL_EQUIALENT, this.carbon) } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index f8b82396a..a88bb5188 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -157,7 +157,7 @@ DISTILLERY.recipeBuilder() for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .fluidInputs(fluid('oxygen') * 1000) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(60)) + .inputs(ore(carbon.name) * carbon.amount_equialent(1)) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 1000) .duration(80) @@ -170,7 +170,7 @@ for (carbon in CarbonGlobals.sources) { for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .fluidInputs(fluid('oxygen') * 2000) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(60)) + .inputs(ore(carbon.name) * carbon.amount_equialent(1)) .circuitMeta(2) .fluidOutputs(fluid('carbon_dioxide') * 1000) .duration(40) @@ -182,7 +182,7 @@ for (carbon in CarbonGlobals.sources) { for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(60)) + .inputs(ore(carbon.name) * carbon.amount_equialent(1)) .inputs(ore('dustSulfur') * 2) .fluidOutputs(fluid('carbon_disulfide') * 1000) .duration(100) @@ -2036,7 +2036,7 @@ DRYER.recipeBuilder() for (carbon in CarbonGlobals.sources) { EBF.recipeBuilder() .inputs(ore('dustQuicklime') * 2) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(180)) + .inputs(ore(carbon.name) * carbon.amount_equialent(2)) .outputs(metaitem('dustCalciumCarbide') * 3) .fluidOutputs(fluid('carbon_monoxide') * 1000) .blastFurnaceTemp(2473) @@ -2370,7 +2370,7 @@ ROASTER.recipeBuilder() for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(90)) + .inputs(ore(carbon.name) * carbon.amount_equialent(1)) .outputs(metaitem('dustSilicon')) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 2000) @@ -2380,7 +2380,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustQuartzite') * 3) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(90)) + .inputs(ore(carbon.name) * carbon.amount_equialent(1)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2389,7 +2389,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustCertusQuartz') * 3) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(270)) + .inputs(ore(carbon.name) * carbon.amount_equialent(3)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2398,7 +2398,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustNetherQuartz') * 3) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(180)) + .inputs(ore(carbon.name) * carbon.amount_equialent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2407,7 +2407,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(270)) + .inputs(ore(carbon.name) * carbon.amount_equialent(3)) .circuitMeta(2) .outputs(metaitem('dustSiliconCarbide') * 2) .fluidOutputs(fluid('carbon_monoxide') * 2000) diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index 35d13831a..caef8dd90 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -302,7 +302,7 @@ BR.recipeBuilder() for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustAntimonyVOxide') * 7) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(500)) + .inputs(ore(carbon.name) * carbon.amount_equialent(5)) .outputs(metaitem('dustAntimony') * 2) .fluidOutputs(fluid('carbon_monoxide') * 5000) .EUt(120) @@ -311,17 +311,17 @@ for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustTinIvOxide') * 3) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(200)) + .inputs(ore(carbon.name) * carbon.amount_equialent(2)) .outputs(metaitem('dustTin')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(120) .duration(200) .buildAndRegister() - if (carbon.carbon > 36) { + if (carbon.amount_equialent(23) <= 64) { ROASTER.recipeBuilder() .inputs(ore('dustLithargeSlag') * 10) - .inputs(ore(carbon.name) * carbon.item_amount_of_carbon(2300)) + .inputs(ore(carbon.name) * carbon.amount_equialent(23)) .outputs(metaitem('ingotBettsCrudeLead') * 10) .EUt(Globals.voltAmps[3]) .duration(400) From 4eb9c9848e3314a6700ae33d96fd23ae3ca09906 Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 07:09:21 +0300 Subject: [PATCH 08/50] add amount_of_carbon() for future use --- groovy/globals/CarbonGlobals.groovy | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index d30e12771..bdb3ae959 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -37,6 +37,11 @@ class CarbonGlobals { int carbon String byproduct + // currently not used, but may be interesting for future uses + public int amount_of_carbon(int required_carbon) { + return item_amount_of_provider(required_carbon, this.carbon) + } + public int amount_equialent(int required_carbon_items) { return item_amount_of_provider(required_carbon_items * UNIVERSAL_COAL_EQUIALENT, this.carbon) } From 403a9872f085212458e98107285d0f32072aed43 Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 07:16:50 +0300 Subject: [PATCH 09/50] fix numbers --- groovy/postInit/chemistry/ChemistryOverhaul.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index a88bb5188..815052234 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -2036,7 +2036,7 @@ DRYER.recipeBuilder() for (carbon in CarbonGlobals.sources) { EBF.recipeBuilder() .inputs(ore('dustQuicklime') * 2) - .inputs(ore(carbon.name) * carbon.amount_equialent(2)) + .inputs(ore(carbon.name) * carbon.amount_equialent(3)) .outputs(metaitem('dustCalciumCarbide') * 3) .fluidOutputs(fluid('carbon_monoxide') * 1000) .blastFurnaceTemp(2473) @@ -2389,7 +2389,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustCertusQuartz') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(3)) + .inputs(ore(carbon.name) * carbon.amount_equialent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) From b4332bf4f80944dbb85801c8b5331ab3acdcf0eb Mon Sep 17 00:00:00 2001 From: trexxet Date: Mon, 13 Nov 2023 07:37:13 +0300 Subject: [PATCH 10/50] fix typo --- groovy/globals/CarbonGlobals.groovy | 8 ++++---- .../chemistry/ChemistryOverhaul.groovy | 18 +++++++++--------- .../chemistry/elements/LeadChain.groovy | 8 ++++---- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index bdb3ae959..b73442b43 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -6,13 +6,13 @@ class CarbonGlobals { // Anthracite coal value, so most recipes would require // equal amount of carbon/coke/anthracite and 2x coal - static final int UNIVERSAL_COAL_EQUIALENT = 90 + static final int UNIVERSAL_COAL_EQUIVALENT = 90 trait Combustible { int amount int duration { - amount = amount_equialent(1) + amount = amount_equivalent(1) } } @@ -42,8 +42,8 @@ class CarbonGlobals { return item_amount_of_provider(required_carbon, this.carbon) } - public int amount_equialent(int required_carbon_items) { - return item_amount_of_provider(required_carbon_items * UNIVERSAL_COAL_EQUIALENT, this.carbon) + public int amount_equivalent(int required_carbon_items) { + return item_amount_of_provider(required_carbon_items * UNIVERSAL_COAL_EQUIVALENT, this.carbon) } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 815052234..2c8ed2f5e 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -157,7 +157,7 @@ DISTILLERY.recipeBuilder() for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .fluidInputs(fluid('oxygen') * 1000) - .inputs(ore(carbon.name) * carbon.amount_equialent(1)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 1000) .duration(80) @@ -170,7 +170,7 @@ for (carbon in CarbonGlobals.sources) { for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .fluidInputs(fluid('oxygen') * 2000) - .inputs(ore(carbon.name) * carbon.amount_equialent(1)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) .circuitMeta(2) .fluidOutputs(fluid('carbon_dioxide') * 1000) .duration(40) @@ -182,7 +182,7 @@ for (carbon in CarbonGlobals.sources) { for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() - .inputs(ore(carbon.name) * carbon.amount_equialent(1)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) .inputs(ore('dustSulfur') * 2) .fluidOutputs(fluid('carbon_disulfide') * 1000) .duration(100) @@ -2036,7 +2036,7 @@ DRYER.recipeBuilder() for (carbon in CarbonGlobals.sources) { EBF.recipeBuilder() .inputs(ore('dustQuicklime') * 2) - .inputs(ore(carbon.name) * carbon.amount_equialent(3)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(3)) .outputs(metaitem('dustCalciumCarbide') * 3) .fluidOutputs(fluid('carbon_monoxide') * 1000) .blastFurnaceTemp(2473) @@ -2370,7 +2370,7 @@ ROASTER.recipeBuilder() for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(1)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) .outputs(metaitem('dustSilicon')) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 2000) @@ -2380,7 +2380,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustQuartzite') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(1)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2389,7 +2389,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustCertusQuartz') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(2)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2398,7 +2398,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustNetherQuartz') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(2)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2407,7 +2407,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(3)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(3)) .circuitMeta(2) .outputs(metaitem('dustSiliconCarbide') * 2) .fluidOutputs(fluid('carbon_monoxide') * 2000) diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index caef8dd90..c39a7c96d 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -302,7 +302,7 @@ BR.recipeBuilder() for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustAntimonyVOxide') * 7) - .inputs(ore(carbon.name) * carbon.amount_equialent(5)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(5)) .outputs(metaitem('dustAntimony') * 2) .fluidOutputs(fluid('carbon_monoxide') * 5000) .EUt(120) @@ -311,17 +311,17 @@ for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustTinIvOxide') * 3) - .inputs(ore(carbon.name) * carbon.amount_equialent(2)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(2)) .outputs(metaitem('dustTin')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(120) .duration(200) .buildAndRegister() - if (carbon.amount_equialent(23) <= 64) { + if (carbon.amount_equivalent(23) <= 64) { ROASTER.recipeBuilder() .inputs(ore('dustLithargeSlag') * 10) - .inputs(ore(carbon.name) * carbon.amount_equialent(23)) + .inputs(ore(carbon.name) * carbon.amount_equivalent(23)) .outputs(metaitem('ingotBettsCrudeLead') * 10) .EUt(Globals.voltAmps[3]) .duration(400) From 3fc42c949d310df2cbe0cd11843a9b25d2d2c3b5 Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 05:46:57 +0300 Subject: [PATCH 11/50] Use startsWith dust filter instead of trait --- groovy/globals/CarbonGlobals.groovy | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index b73442b43..2386438c7 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -17,7 +17,6 @@ class CarbonGlobals { } trait HighPurityCombustible extends Combustible {} - trait Dust {} // Get number of items which would contatin `required` amount of // material if single item has `provider` amount @@ -48,45 +47,45 @@ class CarbonGlobals { } public static sources = [ - new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible, Dust).tap { + new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { duration = 1 }, new CarbonSource('gemCoke', 100, 'dustTinyAsh').withTraits(Combustible).tap { duration = 2 }, - new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible, Dust).tap { + new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { duration = 2 }, new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { duration = 2 }, - new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible, Dust).tap { + new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { duration = 2 }, new CarbonSource('gemLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { duration = 3 }, - new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible, Dust).tap { + new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { duration = 3 }, new CarbonSource('gemCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { duration = 4 }, - new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible, Dust).tap { + new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { duration = 4 }, new CarbonSource('gemCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { duration = 4 }, - new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible, Dust).tap { + new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { duration = 4 }, new CarbonSource('gemLignite', 25, 'dustTinyAsh'), - new CarbonSource('dustLignite', 25, 'dustTinyAsh').withTraits(Dust) + new CarbonSource('dustLignite', 25, 'dustTinyAsh') ] public static List combustibles() { sources.grep(Combustible) } public static List highPurityCombustibles() { sources.grep(HighPurityCombustible) } - public static List dusts() { sources.grep(Dust) } + public static List dusts() { sources.grep { it.name.startsWith('dust') } } } \ No newline at end of file From 26b1266813b12ace0a256316ed035e8e6a36e7b7 Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 05:55:19 +0300 Subject: [PATCH 12/50] rename amount_equivalent -> equivalent --- groovy/globals/CarbonGlobals.groovy | 6 ++++-- .../chemistry/ChemistryOverhaul.groovy | 18 +++++++++--------- .../chemistry/elements/LeadChain.groovy | 8 ++++---- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index 2386438c7..d995c59ad 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -12,7 +12,7 @@ class CarbonGlobals { int amount int duration { - amount = amount_equivalent(1) + amount = equivalent(1) } } @@ -41,7 +41,9 @@ class CarbonGlobals { return item_amount_of_provider(required_carbon, this.carbon) } - public int amount_equivalent(int required_carbon_items) { + // Return the number of CarbonSource items with summary carbon content + // equal to carbon content of %required_carbon_items% anthracite items + public int equivalent(int required_carbon_items) { return item_amount_of_provider(required_carbon_items * UNIVERSAL_COAL_EQUIVALENT, this.carbon) } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 2c8ed2f5e..982746fa9 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -157,7 +157,7 @@ DISTILLERY.recipeBuilder() for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .fluidInputs(fluid('oxygen') * 1000) - .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(1)) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 1000) .duration(80) @@ -170,7 +170,7 @@ for (carbon in CarbonGlobals.sources) { for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .fluidInputs(fluid('oxygen') * 2000) - .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(1)) .circuitMeta(2) .fluidOutputs(fluid('carbon_dioxide') * 1000) .duration(40) @@ -182,7 +182,7 @@ for (carbon in CarbonGlobals.sources) { for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() - .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(1)) .inputs(ore('dustSulfur') * 2) .fluidOutputs(fluid('carbon_disulfide') * 1000) .duration(100) @@ -2036,7 +2036,7 @@ DRYER.recipeBuilder() for (carbon in CarbonGlobals.sources) { EBF.recipeBuilder() .inputs(ore('dustQuicklime') * 2) - .inputs(ore(carbon.name) * carbon.amount_equivalent(3)) + .inputs(ore(carbon.name) * carbon.equivalent(3)) .outputs(metaitem('dustCalciumCarbide') * 3) .fluidOutputs(fluid('carbon_monoxide') * 1000) .blastFurnaceTemp(2473) @@ -2370,7 +2370,7 @@ ROASTER.recipeBuilder() for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(1)) .outputs(metaitem('dustSilicon')) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 2000) @@ -2380,7 +2380,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustQuartzite') * 3) - .inputs(ore(carbon.name) * carbon.amount_equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(1)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2389,7 +2389,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustCertusQuartz') * 3) - .inputs(ore(carbon.name) * carbon.amount_equivalent(2)) + .inputs(ore(carbon.name) * carbon.equivalent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2398,7 +2398,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustNetherQuartz') * 3) - .inputs(ore(carbon.name) * carbon.amount_equivalent(2)) + .inputs(ore(carbon.name) * carbon.equivalent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) @@ -2407,7 +2407,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.amount_equivalent(3)) + .inputs(ore(carbon.name) * carbon.equivalent(3)) .circuitMeta(2) .outputs(metaitem('dustSiliconCarbide') * 2) .fluidOutputs(fluid('carbon_monoxide') * 2000) diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index c39a7c96d..ba497f8f0 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -302,7 +302,7 @@ BR.recipeBuilder() for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustAntimonyVOxide') * 7) - .inputs(ore(carbon.name) * carbon.amount_equivalent(5)) + .inputs(ore(carbon.name) * carbon.equivalent(5)) .outputs(metaitem('dustAntimony') * 2) .fluidOutputs(fluid('carbon_monoxide') * 5000) .EUt(120) @@ -311,17 +311,17 @@ for (carbon in CarbonGlobals.sources) { ROASTER.recipeBuilder() .inputs(ore('dustTinIvOxide') * 3) - .inputs(ore(carbon.name) * carbon.amount_equivalent(2)) + .inputs(ore(carbon.name) * carbon.equivalent(2)) .outputs(metaitem('dustTin')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(120) .duration(200) .buildAndRegister() - if (carbon.amount_equivalent(23) <= 64) { + if (carbon.equivalent(23) <= 64) { ROASTER.recipeBuilder() .inputs(ore('dustLithargeSlag') * 10) - .inputs(ore(carbon.name) * carbon.amount_equivalent(23)) + .inputs(ore(carbon.name) * carbon.equivalent(23)) .outputs(metaitem('ingotBettsCrudeLead') * 10) .EUt(Globals.voltAmps[3]) .duration(400) From a50a0e341c7e5380b2fdab3c039db52e26b4156d Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 05:58:50 +0300 Subject: [PATCH 13/50] adjust SiO2 + C -> Si + 2CO carbon input --- groovy/postInit/chemistry/ChemistryOverhaul.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 982746fa9..9ef8e4e87 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -2370,7 +2370,7 @@ ROASTER.recipeBuilder() for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) - .inputs(ore(carbon.name) * carbon.equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(2)) .outputs(metaitem('dustSilicon')) .circuitMeta(1) .fluidOutputs(fluid('carbon_monoxide') * 2000) @@ -2380,7 +2380,7 @@ for (carbon in CarbonGlobals.dusts()) { ARC_FURNACE.recipeBuilder() .inputs(ore('dustQuartzite') * 3) - .inputs(ore(carbon.name) * carbon.equivalent(1)) + .inputs(ore(carbon.name) * carbon.equivalent(2)) .outputs(metaitem('dustSilicon')) .fluidOutputs(fluid('carbon_monoxide') * 2000) .EUt(30) From f7b2a800e4125545565ee73eeb47f37f57458783 Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 06:03:50 +0300 Subject: [PATCH 14/50] Remove Alumina reduction with carbon --- config/betterquesting/DefaultQuests.json | 2 +- .../chemistry/elements/AluminiumChain.groovy | 13 ------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/config/betterquesting/DefaultQuests.json b/config/betterquesting/DefaultQuests.json index ba1452671..612805c2b 100644 --- a/config/betterquesting/DefaultQuests.json +++ b/config/betterquesting/DefaultQuests.json @@ -13366,7 +13366,7 @@ "properties:10": { "betterquesting:10": { "autoclaim:1": 0, - "desc:8": "§6Aluminum Hydroxide §r§rcan be reduced to Alumina in an Electric Blast Furnace. Later on, Alumina can be reduced directly to Aluminium for a small price of 960 EU/t.", + "desc:8": "§6Aluminum Hydroxide §r§rcan be reduced to Alumina in an Electric Blast Furnace.", "globalshare:1": 0, "icon:10": { "Count:3": 1, diff --git a/groovy/postInit/chemistry/elements/AluminiumChain.groovy b/groovy/postInit/chemistry/elements/AluminiumChain.groovy index 81e716f2b..2b33461ad 100644 --- a/groovy/postInit/chemistry/elements/AluminiumChain.groovy +++ b/groovy/postInit/chemistry/elements/AluminiumChain.groovy @@ -113,19 +113,6 @@ ELECTROLYTIC_CELL.recipeBuilder() .EUt(40) .buildAndRegister() -// EBF -for (combustible in CarbonGlobals.combustibles()) { - EBF.recipeBuilder() - .inputs(ore('dustAlumina') * 10) - .inputs(ore(combustible.name) * (combustible.amount * 3)) - .fluidOutputs(fluid('carbon_dioxide') * 3000) - .outputs(metaitem('ingotAluminium') * 4) - .blastFurnaceTemp(1200) - .duration(60) - .EUt(Globals.voltAmps[3] * 2) - .buildAndRegister() -} - // Production of cryolite ROASTER.recipeBuilder() From 78d43d7a3aaa6e900ec52a79c46e6a95b83c1e25 Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 08:35:23 +0300 Subject: [PATCH 15/50] add byNames() to CarbonGlobals --- groovy/globals/CarbonGlobals.groovy | 3 +++ 1 file changed, 3 insertions(+) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index d995c59ad..c27886436 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -86,6 +86,9 @@ class CarbonGlobals { new CarbonSource('dustLignite', 25, 'dustTinyAsh') ] + static Map sourcesMap = sources.collectEntries{[it.name, it]} + public static List byNames(List names) { sourcesMap.subMap(names)*.value } + public static List combustibles() { sources.grep(Combustible) } public static List highPurityCombustibles() { sources.grep(HighPurityCombustible) } public static List dusts() { sources.grep { it.name.startsWith('dust') } } From 07bfb018e6a8059578fa5a047f79e02d3ee3fc9e Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 11:18:21 +0300 Subject: [PATCH 16/50] Carbon dusts pyrolysis & make_pyrolysis_io() --- groovy/globals/CarbonGlobals.groovy | 18 +-- .../CoalPyrolysisChain.groovy | 111 +++++++++--------- 2 files changed, 63 insertions(+), 66 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index c27886436..a4672f3d5 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -18,11 +18,11 @@ class CarbonGlobals { trait HighPurityCombustible extends Combustible {} - // Get number of items which would contatin `required` amount of - // material if single item has `provider` amount + // Get number of items which would contatin %required% amount of + // material if single item has %provider% amount // E.g. for 90 carbon this would yield 1 for dustCarbon or // dustAnthracite and 2 for dustCharcoal or gemLigniteCoke - static int item_amount_of_provider(int required, int provider) { + static int num_item_by_provider(int required, int provider) { int result = required.intdiv(provider) if (required % provider > 0) { result += 1 @@ -36,15 +36,14 @@ class CarbonGlobals { int carbon String byproduct - // currently not used, but may be interesting for future uses - public int amount_of_carbon(int required_carbon) { - return item_amount_of_provider(required_carbon, this.carbon) + public int num_items_by_carbon(int required_carbon) { + return num_item_by_provider(required_carbon, this.carbon) } // Return the number of CarbonSource items with summary carbon content // equal to carbon content of %required_carbon_items% anthracite items public int equivalent(int required_carbon_items) { - return item_amount_of_provider(required_carbon_items * UNIVERSAL_COAL_EQUIVALENT, this.carbon) + return num_item_by_provider(required_carbon_items * UNIVERSAL_COAL_EQUIVALENT, this.carbon) } } @@ -86,8 +85,9 @@ class CarbonGlobals { new CarbonSource('dustLignite', 25, 'dustTinyAsh') ] - static Map sourcesMap = sources.collectEntries{[it.name, it]} - public static List byNames(List names) { sourcesMap.subMap(names)*.value } + public static Map sourcesMap = sources.collectEntries{[it.name, it]} + // %names% may contain duplicates, so we can't just slap a submap here + public static List byNames(List names) { names.collect { sourcesMap[it] } } public static List combustibles() { sources.grep(Combustible) } public static List highPurityCombustibles() { sources.grep(HighPurityCombustible) } diff --git a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy index ac4290af2..b580a51ba 100644 --- a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy @@ -1,4 +1,5 @@ import static globals.Globals.* +import static globals.CarbonGlobals.* import gregtech.api.recipes.ModHandler; import gregtech.api.unification.material.Materials; @@ -12,41 +13,77 @@ def MIXER = recipemap('mixer'); def CSTR = recipemap('continuous_stirred_tank_reactor'); def DISTILLERY = recipemap('distillery'); -PYROLYSE_OVEN.recipeBuilder() - .inputs(item('minecraft:coal', 1) * 16) - .outputs(metaitem('gemCoke') * 12) +static List make_pyrolysis_io(List input, List output) { + [CarbonGlobals.byNames(input), CarbonGlobals.byNames(output)].transpose() +} + +make_pyrolysis_io(['dustCoal', 'gemCoal', 'dustCharcoal', 'gemCharcoal'], +/* output */ ['dustCoke', 'gemCoke', 'dustCoke', 'gemCoke' ]) +.each { input, output -> + int CARBON_PROCESSED = 1200 + PYROLYSE_OVEN.recipeBuilder() + .inputs(ore(input.name) * input.num_items_by_carbon(CARBON_PROCESSED)) + .outputs(metaitem(output.name) * output.num_items_by_carbon(CARBON_PROCESSED)) .fluidOutputs(fluid('coal_gas') * 2500) .fluidOutputs(fluid('coal_tar') * 2500) .duration(320) .EUt(60) .buildAndRegister() +} -PYROLYSE_OVEN.recipeBuilder() - .inputs(item('minecraft:coal') * 16) - .outputs(metaitem('gemCoke') * 12) - .fluidOutputs(fluid('coal_gas') * 2500) - .fluidOutputs(fluid('coal_tar') * 2500) +make_pyrolysis_io(['dustAnthracite', 'gemAnthracite'], +/* output */ ['dustCoke', 'gemCoke' ]) +.each { input, output -> + int CARBON_PROCESSED = 1400 + PYROLYSE_OVEN.recipeBuilder() + .inputs(ore(input.name) * input.num_items_by_carbon(CARBON_PROCESSED)) + .outputs(metaitem(output.name) * output.num_items_by_carbon(CARBON_PROCESSED)) + .fluidOutputs(fluid('coal_gas') * 3200) + .fluidOutputs(fluid('coal_tar') * 3200) .duration(320) .EUt(60) .buildAndRegister() +} + +make_pyrolysis_io(['dustLignite', 'gemLignite'], +/* output */ ['dustLigniteCoke', 'gemLigniteCoke']) +.each { input, output -> + int CARBON_PROCESSED = 400 + PYROLYSE_OVEN.recipeBuilder() + .inputs(ore(input.name) * input.num_items_by_carbon(CARBON_PROCESSED)) + .outputs(metaitem(output.name) * output.num_items_by_carbon(CARBON_PROCESSED)) + .fluidOutputs(fluid('creosote') * 1600) + .fluidOutputs(fluid('syngas') * 2000) + .duration(320) + .EUt(60) + .buildAndRegister() +} -PYROLYSE_OVEN.recipeBuilder() - .inputs(ore('gemAnthracite') * 16) - .outputs(metaitem('gemCoke') * 14) - .fluidOutputs(fluid('coal_gas') * 3200) - .fluidOutputs(fluid('coal_tar') * 3200) +make_pyrolysis_io(['dustCoke', 'gemCoke'], +/* output */ ['dustCarbon', 'dustCarbon']) +.each { input, output -> + PYROLYSE_OVEN.recipeBuilder() + .inputs(ore(input.name) * 16) + .outputs(metaitem(output.name) * 12) + .fluidInputs(fluid('steam') * 15000) + .fluidOutputs(fluid('syngas') * 12000) .duration(320) .EUt(60) .buildAndRegister() +} -PYROLYSE_OVEN.recipeBuilder() - .inputs(ore('gemCoke') * 16) - .outputs(metaitem('dustCarbon') * 12) +make_pyrolysis_io(['dustLigniteCoke', 'gemLigniteCoke'], +/* output */ ['dustCarbon', 'dustCarbon']) +.each { input, output -> + PYROLYSE_OVEN.recipeBuilder() + .inputs(ore(input.name) * 16) + .outputs(metaitem(output.name) * 9) .fluidInputs(fluid('steam') * 15000) .fluidOutputs(fluid('syngas') * 12000) .duration(320) .EUt(60) .buildAndRegister() +} CENTRIFUGE.recipeBuilder() .fluidInputs(fluid('coal_gas') * 10000) @@ -180,47 +217,7 @@ DISTILLATION_TOWER.recipeBuilder() .EUt(48) .buildAndRegister() -// Lignite processing - -//----- Lignite pyrolysis to Lignite Coke -PYROLYSE_OVEN.recipeBuilder() - .inputs(ore('gemLignite') * 16) - .outputs(metaitem('gemLigniteCoke') * 4) - .fluidOutputs(fluid('creosote') * 2000) - .fluidOutputs(fluid('syngas') * 3200) - .duration(320) - .EUt(60) - .buildAndRegister() - -PYROLYSE_OVEN.recipeBuilder() - .inputs(ore('dustLignite') * 16) - .outputs(metaitem('dustLigniteCoke') * 4) - .fluidOutputs(fluid('creosote') * 2000) - .fluidOutputs(fluid('syngas') * 3200) - .duration(320) - .EUt(60) - .buildAndRegister() - -//----- Lignite Coke pyrolysis -PYROLYSE_OVEN.recipeBuilder() - .inputs(ore('gemLigniteCoke') * 16) - .outputs(metaitem('dustCarbon') * 9) - .fluidInputs(fluid('steam') * 15000) - .fluidOutputs(fluid('syngas') * 12000) - .duration(320) - .EUt(60) - .buildAndRegister() - -PYROLYSE_OVEN.recipeBuilder() - .inputs(ore('dustLigniteCoke') * 16) - .outputs(metaitem('dustCarbon') * 9) - .fluidInputs(fluid('steam') * 15000) - .fluidOutputs(fluid('syngas') * 12000) - .duration(320) - .EUt(60) - .buildAndRegister() - -//----- Centrifuging to Carbon +// Centrifuging Lignite to Carbon CENTRIFUGE.recipeBuilder() .inputs(ore('dustLignite')) .chancedOutput(metaitem('dustCarbon'), 2500, 0) From 5e19850fd2e0f8cb9e0bc4828c8bebf93cf4d531 Mon Sep 17 00:00:00 2001 From: trexxet Date: Wed, 15 Nov 2023 13:34:52 +0300 Subject: [PATCH 17/50] Move pyrolysis product to CarbonSource --- groovy/globals/CarbonGlobals.groovy | 48 +++++++++++++------ .../CoalPyrolysisChain.groovy | 29 ++++------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index a4672f3d5..07f0a3477 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -18,6 +18,10 @@ class CarbonGlobals { trait HighPurityCombustible extends Combustible {} + trait Pyrolyzable { + String pyrolysis_product + } + // Get number of items which would contatin %required% amount of // material if single item has %provider% amount // E.g. for 90 carbon this would yield 1 for dustCarbon or @@ -51,43 +55,57 @@ class CarbonGlobals { new CarbonSource('dustCarbon', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { duration = 1 }, - new CarbonSource('gemCoke', 100, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('gemCoke', 100, 'dustTinyAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 2 + pyrolysis_product = 'dustCarbon' }, - new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible).tap { + new CarbonSource('dustCoke', 100, 'dustTinyAsh').withTraits(HighPurityCombustible, Pyrolyzable).tap { duration = 2 + pyrolysis_product = 'dustCarbon' }, - new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('gemAnthracite', 90, 'dustTinyAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 2 + pyrolysis_product = 'gemCoke' }, - new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('dustAnthracite', 90, 'dustTinyAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 2 + pyrolysis_product = 'dustCoke' }, - new CarbonSource('gemLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('gemLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 3 + pyrolysis_product = 'dustCarbon' }, - new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible).tap { + new CarbonSource('dustLigniteCoke', 75, 'dustTinyAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 3 + pyrolysis_product = 'dustCarbon' }, - new CarbonSource('gemCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { + new CarbonSource('gemCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 4 + pyrolysis_product = 'gemCoke' }, - new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible).tap { + new CarbonSource('dustCoal', 75, 'dustTinyDarkAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 4 + pyrolysis_product = 'dustCoke' }, - new CarbonSource('gemCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { + new CarbonSource('gemCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 4 + pyrolysis_product = 'gemCoke' }, - new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible).tap { + new CarbonSource('dustCharcoal', 60, 'dustTinyDarkAsh').withTraits(Combustible, Pyrolyzable).tap { duration = 4 + pyrolysis_product = 'dustCoke' }, - new CarbonSource('gemLignite', 25, 'dustTinyAsh'), - new CarbonSource('dustLignite', 25, 'dustTinyAsh') + new CarbonSource('gemLignite', 25, 'dustTinyAsh').withTraits(Pyrolyzable).tap { + pyrolysis_product = 'gemLigniteCoke' + }, + new CarbonSource('dustLignite', 25, 'dustTinyAsh').withTraits(Pyrolyzable).tap { + pyrolysis_product = 'dustLigniteCoke' + } ] - public static Map sourcesMap = sources.collectEntries{[it.name, it]} - // %names% may contain duplicates, so we can't just slap a submap here - public static List byNames(List names) { names.collect { sourcesMap[it] } } + static Map sourcesMap = sources.collectEntries{[it.name, it]} + public static def byName(String name) {sourcesMap[name] } + public static List byNames(List names) { sourcesMap.subMap(names)*.value } public static List combustibles() { sources.grep(Combustible) } public static List highPurityCombustibles() { sources.grep(HighPurityCombustible) } diff --git a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy index b580a51ba..171e1ed91 100644 --- a/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/CoalPyrolysisChain.groovy @@ -13,14 +13,9 @@ def MIXER = recipemap('mixer'); def CSTR = recipemap('continuous_stirred_tank_reactor'); def DISTILLERY = recipemap('distillery'); -static List make_pyrolysis_io(List input, List output) { - [CarbonGlobals.byNames(input), CarbonGlobals.byNames(output)].transpose() -} - -make_pyrolysis_io(['dustCoal', 'gemCoal', 'dustCharcoal', 'gemCharcoal'], -/* output */ ['dustCoke', 'gemCoke', 'dustCoke', 'gemCoke' ]) -.each { input, output -> +CarbonGlobals.byNames(['dustCoal', 'gemCoal', 'dustCharcoal', 'gemCharcoal']).each { input -> int CARBON_PROCESSED = 1200 + def output = CarbonGlobals.byName(input.pyrolysis_product) PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * input.num_items_by_carbon(CARBON_PROCESSED)) .outputs(metaitem(output.name) * output.num_items_by_carbon(CARBON_PROCESSED)) @@ -31,10 +26,9 @@ make_pyrolysis_io(['dustCoal', 'gemCoal', 'dustCharcoal', 'gemCharcoal'], .buildAndRegister() } -make_pyrolysis_io(['dustAnthracite', 'gemAnthracite'], -/* output */ ['dustCoke', 'gemCoke' ]) -.each { input, output -> +CarbonGlobals.byNames(['dustAnthracite', 'gemAnthracite']).each { input -> int CARBON_PROCESSED = 1400 + def output = CarbonGlobals.byName(input.pyrolysis_product) PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * input.num_items_by_carbon(CARBON_PROCESSED)) .outputs(metaitem(output.name) * output.num_items_by_carbon(CARBON_PROCESSED)) @@ -45,10 +39,9 @@ make_pyrolysis_io(['dustAnthracite', 'gemAnthracite'], .buildAndRegister() } -make_pyrolysis_io(['dustLignite', 'gemLignite'], -/* output */ ['dustLigniteCoke', 'gemLigniteCoke']) -.each { input, output -> +CarbonGlobals.byNames(['dustLignite', 'gemLignite']).each { input -> int CARBON_PROCESSED = 400 + def output = CarbonGlobals.byName(input.pyrolysis_product) PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * input.num_items_by_carbon(CARBON_PROCESSED)) .outputs(metaitem(output.name) * output.num_items_by_carbon(CARBON_PROCESSED)) @@ -59,9 +52,8 @@ make_pyrolysis_io(['dustLignite', 'gemLignite'], .buildAndRegister() } -make_pyrolysis_io(['dustCoke', 'gemCoke'], -/* output */ ['dustCarbon', 'dustCarbon']) -.each { input, output -> +CarbonGlobals.byNames(['dustCoke', 'gemCoke']).each { input -> + def output = CarbonGlobals.byName(input.pyrolysis_product) PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * 16) .outputs(metaitem(output.name) * 12) @@ -72,9 +64,8 @@ make_pyrolysis_io(['dustCoke', 'gemCoke'], .buildAndRegister() } -make_pyrolysis_io(['dustLigniteCoke', 'gemLigniteCoke'], -/* output */ ['dustCarbon', 'dustCarbon']) -.each { input, output -> +CarbonGlobals.byNames(['dustLigniteCoke', 'gemLigniteCoke']).each { input -> + def output = CarbonGlobals.byName(input.pyrolysis_product) PYROLYSE_OVEN.recipeBuilder() .inputs(ore(input.name) * 16) .outputs(metaitem(output.name) * 9) From 8def0295970ec91652745a53445745e33872489e Mon Sep 17 00:00:00 2001 From: trexxet Date: Tue, 21 Nov 2023 14:59:43 +0300 Subject: [PATCH 18/50] Replace Combustible.amount -> equivalent() --- groovy/globals/CarbonGlobals.groovy | 4 ---- .../chemistry/StainlessSteelChain.groovy | 2 +- .../chemistry/elements/BismuthChain.groovy | 2 +- .../chemistry/elements/CobaltChain.groovy | 2 +- .../chemistry/elements/HafniumChain.groovy | 2 +- .../postInit/chemistry/elements/IronChain.groovy | 16 ++++++++-------- .../postInit/chemistry/elements/LeadChain.groovy | 2 +- .../chemistry/elements/MagnesiumChain.groovy | 6 +++--- .../chemistry/elements/ManganeseChain.groovy | 4 ++-- .../chemistry/elements/NickelChain.groovy | 14 +++++++------- .../postInit/chemistry/elements/TinChain.groovy | 4 ++-- .../chemistry/elements/TitaniumChain.groovy | 6 +++--- .../postInit/chemistry/elements/ZincChain.groovy | 4 ++-- .../chemistry/elements/ZirconiumChain.groovy | 6 +++--- 14 files changed, 35 insertions(+), 39 deletions(-) diff --git a/groovy/globals/CarbonGlobals.groovy b/groovy/globals/CarbonGlobals.groovy index 07f0a3477..d5afdcd44 100644 --- a/groovy/globals/CarbonGlobals.groovy +++ b/groovy/globals/CarbonGlobals.groovy @@ -9,11 +9,7 @@ class CarbonGlobals { static final int UNIVERSAL_COAL_EQUIVALENT = 90 trait Combustible { - int amount int duration - { - amount = equivalent(1) - } } trait HighPurityCombustible extends Combustible {} diff --git a/groovy/postInit/chemistry/StainlessSteelChain.groovy b/groovy/postInit/chemistry/StainlessSteelChain.groovy index 61f68c3f5..8cde89a67 100644 --- a/groovy/postInit/chemistry/StainlessSteelChain.groovy +++ b/groovy/postInit/chemistry/StainlessSteelChain.groovy @@ -86,7 +86,7 @@ for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { EBF.recipeBuilder() .inputs(ore('dustSiliconDioxide') * 3) .inputs(ore('dustIron') * 3) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(2)) .outputs(metaitem('dustFerrosilicon') * 4) .fluidOutputs(fluid('carbon_monoxide') * 2000) .blastFurnaceTemp(1400) diff --git a/groovy/postInit/chemistry/elements/BismuthChain.groovy b/groovy/postInit/chemistry/elements/BismuthChain.groovy index 51ef734d2..3ede10f36 100644 --- a/groovy/postInit/chemistry/elements/BismuthChain.groovy +++ b/groovy/postInit/chemistry/elements/BismuthChain.groovy @@ -20,7 +20,7 @@ ROASTER.recipeBuilder() for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustBismuthIiiOxide') * 5) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 3)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(3)) .outputs(metaitem('dustBismuth') * 2) .fluidOutputs(fluid('carbon_monoxide') * 3000) .EUt(120) diff --git a/groovy/postInit/chemistry/elements/CobaltChain.groovy b/groovy/postInit/chemistry/elements/CobaltChain.groovy index 8806fc351..451105aa8 100644 --- a/groovy/postInit/chemistry/elements/CobaltChain.groovy +++ b/groovy/postInit/chemistry/elements/CobaltChain.groovy @@ -6,7 +6,7 @@ ROASTER = recipemap('roaster') for (combustible in CarbonGlobals.combustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustCobaltOxide') * 2) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('dustCobalt')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .duration(120) diff --git a/groovy/postInit/chemistry/elements/HafniumChain.groovy b/groovy/postInit/chemistry/elements/HafniumChain.groovy index 7ba00889f..ee681b68f 100644 --- a/groovy/postInit/chemistry/elements/HafniumChain.groovy +++ b/groovy/postInit/chemistry/elements/HafniumChain.groovy @@ -42,7 +42,7 @@ ROASTER.recipeBuilder() for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustHafniumDioxide')) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(2)) .fluidInputs(fluid('chlorine') * 4000) .outputs(metaitem('dustImpureHafniumTetrachloride') * 5) .fluidOutputs(fluid('carbon_monoxide') * 2000) diff --git a/groovy/postInit/chemistry/elements/IronChain.groovy b/groovy/postInit/chemistry/elements/IronChain.groovy index 6a45ce058..49110e2ec 100755 --- a/groovy/postInit/chemistry/elements/IronChain.groovy +++ b/groovy/postInit/chemistry/elements/IronChain.groovy @@ -62,18 +62,18 @@ for (blastable in blastables) { //BESSEMER PROCESS PBF_RECIPES.recipeBuilder() .inputs(ore(blastable.name) * blastable.amount_required) - .inputs(ore(combustible.name) * (combustible.amount * blastable.reductant_required)) + .inputs(ore(combustible.name) * (combustible.equivalent(1) * blastable.reductant_required)) .outputs(metaitem('ingotPigIron') * blastable.amount_produced) - .outputs(metaitem(combustible.byproduct) * (combustible.amount * blastable.reductant_required)) + .outputs(metaitem(combustible.byproduct) * (combustible.equivalent(1) * blastable.reductant_required)) .duration((int) (combustible.duration * blastable.amount_produced * blastable.duration)) .buildAndRegister() //MODERN BLAST FURNACE EBF_RECIPES.recipeBuilder() .inputs(ore(blastable.name) * blastable.amount_required) - .inputs(ore(combustible.name) * (combustible.amount * blastable.reductant_required)) + .inputs(ore(combustible.name) * (combustible.equivalent(1) * blastable.reductant_required)) .outputs(metaitem('ingotPigIron') * blastable.amount_produced) - .outputs(metaitem(combustible.byproduct) * (combustible.amount * blastable.reductant_required)) + .outputs(metaitem(combustible.byproduct) * (combustible.equivalent(1) * blastable.reductant_required)) .duration((int) (combustible.duration * blastable.amount_produced * blastable.duration / 2)) .blastFurnaceTemp(1750) .EUt(Globals.voltAmps[1]) @@ -173,17 +173,17 @@ EBF_RECIPES.recipeBuilder() for (combustible in combustibles) { PBF_RECIPES.recipeBuilder() .inputs(item('minecraft:iron_ingot')) - .inputs(ore(combustible.name) * combustible.amount) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('ingotSteel')) - .outputs(metaitem(combustible.byproduct) * combustible.amount) + .outputs(metaitem(combustible.byproduct) * combustible.equivalent(1)) .duration(combustible.duration * 120) .buildAndRegister() PBF_RECIPES.recipeBuilder() .inputs(ore('ingotWroughtIron')) - .inputs(ore(combustible.name) * combustible.amount) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('ingotSteel')) - .outputs(metaitem(combustible.byproduct) * combustible.amount) + .outputs(metaitem(combustible.byproduct) * combustible.equivalent(1)) .duration(combustible.duration * 60) .buildAndRegister() } diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index ba497f8f0..0aba57d7d 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -169,7 +169,7 @@ def combustibles = CarbonGlobals.combustibles() for (combustible in combustibles) { EBF.recipeBuilder() .inputs(ore('dustSinteredLeadConcentrate') * 2) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .inputs(ore('dustTinyCalcite')) .outputs(metaitem('ingotCrudeLead') * 2) .outputs(metaitem(combustible.byproduct)) diff --git a/groovy/postInit/chemistry/elements/MagnesiumChain.groovy b/groovy/postInit/chemistry/elements/MagnesiumChain.groovy index 49228bcca..4801b1954 100644 --- a/groovy/postInit/chemistry/elements/MagnesiumChain.groovy +++ b/groovy/postInit/chemistry/elements/MagnesiumChain.groovy @@ -44,9 +44,9 @@ EBF.recipeBuilder() for (combustible in CarbonGlobals.combustibles()) { EBF.recipeBuilder() .inputs(ore('dustMagnesia') * 2) - .inputs(ore(combustible.name) * combustible.amount) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('dustMagnesium')) - .outputs(metaitem(combustible.byproduct) * combustible.amount) + .outputs(metaitem(combustible.byproduct) * combustible.equivalent(1)) .fluidOutputs(fluid('carbon_monoxide') * 1000) .EUt(120) .duration(20 * combustible.duration) @@ -66,7 +66,7 @@ ROASTER.recipeBuilder() for (combustible in CarbonGlobals.combustibles()) { REACTION_FURNACE.recipeBuilder() .inputs(ore('dustMagnesia') * 2) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .fluidInputs(fluid('chlorine') * 2000) .outputs(metaitem('dustMagnesiumChloride') * 3) .outputs(metaitem(combustible.byproduct)) diff --git a/groovy/postInit/chemistry/elements/ManganeseChain.groovy b/groovy/postInit/chemistry/elements/ManganeseChain.groovy index c964b48e0..a26d6448a 100644 --- a/groovy/postInit/chemistry/elements/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/elements/ManganeseChain.groovy @@ -19,7 +19,7 @@ ELECTROLYTIC_CELL = recipemap('electrolytic_cell') for (combustible in CarbonGlobals.combustibles()) { EBF.recipeBuilder() .inputs(ore('dustPyrolusite')) - .inputs(ore(combustible.name) * (combustible.amount * 2)) + .inputs(ore(combustible.name) * combustible.equivalent(2)) .inputs(ore('dustTinyCalcite')) .chancedOutput(metaitem('dustManganese'), 7500, 0) .fluidOutputs(fluid('carbon_dioxide') * 1000) @@ -40,7 +40,7 @@ ROASTER.recipeBuilder() for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustManganeseIiOxide') * 2) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(1)) .chancedOutput(metaitem('dustManganese'), 8500, 0) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('carbon_monoxide') * 1000) diff --git a/groovy/postInit/chemistry/elements/NickelChain.groovy b/groovy/postInit/chemistry/elements/NickelChain.groovy index 099db99d1..9fef4c3bf 100644 --- a/groovy/postInit/chemistry/elements/NickelChain.groovy +++ b/groovy/postInit/chemistry/elements/NickelChain.groovy @@ -23,31 +23,31 @@ EBF.recipeBuilder() for (combustible in CarbonGlobals.combustibles()) { PRIMITIVEBLASTFURNACE.recipeBuilder() .inputs(ore('dustNickel')) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('ingotNickel')) - .outputs(metaitem(combustible.byproduct) * (combustible.amount)) + .outputs(metaitem(combustible.byproduct) * combustible.equivalent(1)) .duration(250) .buildAndRegister() PRIMITIVEBLASTFURNACE.recipeBuilder() .inputs(ore('dustGarnierite')) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('ingotNickel')) - .outputs(metaitem(combustible.byproduct) * (combustible.amount)) + .outputs(metaitem(combustible.byproduct) * combustible.equivalent(1)) .duration(250) .buildAndRegister() PRIMITIVEBLASTFURNACE.recipeBuilder() .inputs(ore('dustPentlandite')) - .inputs(ore(combustible.name) * (combustible.amount * 4)) + .inputs(ore(combustible.name) * combustible.equivalent(4)) .outputs(metaitem('ingotNickel')) - .outputs(metaitem(combustible.byproduct) * (combustible.amount * 4)) + .outputs(metaitem(combustible.byproduct) * combustible.equivalent(4)) .duration(250) .buildAndRegister() EBF.recipeBuilder() .inputs(ore('dustGarnierite')) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('ingotNickel')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .EUt(30) diff --git a/groovy/postInit/chemistry/elements/TinChain.groovy b/groovy/postInit/chemistry/elements/TinChain.groovy index 320c76059..076106313 100644 --- a/groovy/postInit/chemistry/elements/TinChain.groovy +++ b/groovy/postInit/chemistry/elements/TinChain.groovy @@ -73,7 +73,7 @@ CHEMICAL_BATH.recipeBuilder() for (combustible in CarbonGlobals.combustibles()) { REACTION_FURNACE.recipeBuilder() .inputs(ore('dustCassiteriteConcentrate')) - .inputs(ore(combustible.name) * (combustible.amount * 2)) + .inputs(ore(combustible.name) * combustible.equivalent(2)) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('crude_tin') * 190) .fluidOutputs(fluid('tin_dross') * 25) @@ -84,7 +84,7 @@ for (combustible in CarbonGlobals.combustibles()) { REACTION_FURNACE.recipeBuilder() .inputs(ore('dustLeachedCassiteriteConcentrate')) - .inputs(ore(combustible.name) * (combustible.amount * 2)) + .inputs(ore(combustible.name) * combustible.equivalent(2)) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('crude_tin') * 190) .fluidOutputs(fluid('tin_dross') * 25) diff --git a/groovy/postInit/chemistry/elements/TitaniumChain.groovy b/groovy/postInit/chemistry/elements/TitaniumChain.groovy index f23e1a9e3..7e3b90ad6 100644 --- a/groovy/postInit/chemistry/elements/TitaniumChain.groovy +++ b/groovy/postInit/chemistry/elements/TitaniumChain.groovy @@ -124,7 +124,7 @@ for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .fluidInputs(fluid('chlorine') * 3000) .inputs(ore('dustIlmenite')) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(1)) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('gaseous_iron_iii_chloride') * 120) .fluidOutputs(fluid('carbon_monoxide') * 1000) @@ -136,7 +136,7 @@ for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .fluidInputs(fluid('chlorine') * 2000) .inputs(ore('dustPerovskite')) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(1)) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('calcium_chloride') * 432) .fluidOutputs(fluid('carbon_monoxide') * 1000) @@ -147,7 +147,7 @@ for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustRutile') * 3) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(2)) .fluidInputs(fluid('chlorine') * 4000) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) .fluidOutputs(fluid('gaseous_titanium_tetrachloride') * 1000) diff --git a/groovy/postInit/chemistry/elements/ZincChain.groovy b/groovy/postInit/chemistry/elements/ZincChain.groovy index f8c9d9a1d..0f151084f 100755 --- a/groovy/postInit/chemistry/elements/ZincChain.groovy +++ b/groovy/postInit/chemistry/elements/ZincChain.groovy @@ -145,7 +145,7 @@ FLUIDIZEDBR.recipeBuilder() for (combustible in CarbonGlobals.combustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustZincite') * 2) - .inputs(ore(combustible.name) * (combustible.amount)) + .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('crude_zinc') * 216) .fluidOutputs(fluid('carbon_monoxide') * 1000) @@ -157,7 +157,7 @@ for (combustible in CarbonGlobals.combustibles()) { for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { ROASTER.recipeBuilder() .inputs(ore('dustZincOxide') * 2) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(1)) .outputs(metaitem('dustZinc')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .EUt(30) diff --git a/groovy/postInit/chemistry/elements/ZirconiumChain.groovy b/groovy/postInit/chemistry/elements/ZirconiumChain.groovy index bd1281186..2c442246e 100644 --- a/groovy/postInit/chemistry/elements/ZirconiumChain.groovy +++ b/groovy/postInit/chemistry/elements/ZirconiumChain.groovy @@ -85,7 +85,7 @@ ADVANCED_ARC_FURNACE.recipeBuilder() for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustZirconConcentrate')) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 4)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(4)) .fluidInputs(fluid('chlorine') * 8000) .outputs(metaitem('dustImpureZirconiumTetrachloride') * 5) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) @@ -146,7 +146,7 @@ BR.recipeBuilder() for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustBaddeleyite')) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(2)) .fluidInputs(fluid('chlorine') * 4000) .outputs(metaitem('dustImpureZirconiumTetrachloride') * 5) .chancedOutput(metaitem(highPurityCombustible.byproduct), 1000, 0) @@ -206,7 +206,7 @@ BR.recipeBuilder() for (highPurityCombustible in CarbonGlobals.highPurityCombustibles()) { FLUIDIZED_BED_REACTOR.recipeBuilder() .inputs(ore('dustZirconiumDioxide')) - .inputs(ore(highPurityCombustible.name) * (highPurityCombustible.amount * 2)) + .inputs(ore(highPurityCombustible.name) * highPurityCombustible.equivalent(2)) .fluidInputs(fluid('chlorine') * 4000) .outputs(metaitem('dustZirconiumTetrachloride') * 5) .fluidOutputs(fluid('carbon_monoxide') * 2000) From 5ab3f67a1d63bb36d6191830ee1df38d176ba2d7 Mon Sep 17 00:00:00 2001 From: MCTian-mi <3431493799@qq.com> Date: Tue, 21 Nov 2023 22:16:42 +0800 Subject: [PATCH 19/50] Update&fix Chinese localization --- resources/langfiles/lang/zh_cn.lang | 66 +++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 6f7c9f6f6..2e47e5daf 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -47,7 +47,7 @@ susy.material.meta_para_xylene_mixture=间/对二甲苯混合物 susy.material.phosgene=光气 susy.material.dichloroethane=二氯乙烷 susy.material.isophthalic_acid=间苯二甲酸 -susy.material.isophthalic_acid_solution=间苯二甲酸溶液 +susy.material.isophthalic_acid_slurry=间苯二甲酸浆液 susy.material.dichloroethane_isophthalic_acid_solution=间苯二甲酸二氯乙烷溶液 susy.material.isophthaloyl_dichloride_solution=间苯二甲酰氯溶液 susy.material.sodium_phenoxide_solution=苯酚钠溶液 @@ -123,6 +123,7 @@ susy.material.mixed_nitrochlorobenzene_solution=硝基氯苯混合物溶液 susy.material.mixed_dichlorobenzene_solution=二氯苯混合物溶液 susy.material.two_two_dichlorohydrazobenzene_solution=2,2'-二氯氢化偶氮苯溶液 susy.material.two_butanol_solution=2-丁醇溶液 +susy.material.DilutedSodiumCarbonateSolution=稀碳酸钠溶液 susy.material.iron_ii_sulfide=硫化亚铁 susy.material.potassium_bisulfate=硫酸氢钾 @@ -162,7 +163,7 @@ susy.material.calcium_carbide=碳化钙 susy.material.iron_ii_chloride=氯化亚铁 susy.material.cuprous_oxide=氧化亚铜 susy.material.lithium_bromide=溴化锂 -susy.material.iron_iii_oxide=氯化铁 +susy.material.iron_iii_oxide=氧化铁 susy.material.copper_ii_chloride=氯化铜 susy.material.silicon_carbide=碳化硅 susy.material.tungsten_trioxide=三氧化钨 @@ -182,6 +183,15 @@ susy.material.black_liquor=黑液 susy.material.concentrated_black_liquor=浓缩黑液 susy.material.green_liquor=绿液 +susy.material.organosilicon_mixture=有机硅混合物 +susy.material.impure_polydimethylsiloxane_mixture=含杂聚二甲基硅氧烷混合物 +susy.material.raw_polydimethylsiloxane_mixture=粗聚二甲基硅氧烷混合物 +susy.material.polydimethylsiloxane=聚二甲基硅氧烷 +susy.material.chlorotrimethylsilane=三甲基氯硅烷 +susy.material.methyldichlorosilane=甲基二氯硅烷 +susy.material.methyltrichlorosilane=甲基三氯硅烷 +susy.material.dimethyldichlorosilane=二甲基二氯硅烷 + # Solids susy.material.pig_iron=生铁 @@ -320,7 +330,7 @@ susy.material.crude_gallium_arsenide=粗砷化镓 susy.material.gallium_arsenide=纯净砷化镓 susy.material.monocalcium_phosphate=磷酸二氢钙 -susy.material.calcium_phosphite=磷酸钙 +susy.material.calcium_phosphite=亚磷酸钙 susy.material.phosphorus=白磷 susy.material.hydroxyapatite=羟基磷灰石 susy.material.calcium_metasilicate=偏硅酸钙 @@ -595,7 +605,7 @@ susy.material.urea_solution=尿素溶液 susy.material.diiodobenzene_solution=二碘苯溶液 susy.material.impure_four_four_oxydianiline=含杂4,4'-二氨基二苯醚溶液 susy.material.ethylene_glycol_solution=乙二醇溶液 -susy.material.terephthalic_acid_solution=对苯二甲酸溶液 +susy.material.terephthalic_acid_slurry=对苯二甲酸浆液 susy.material.impure_acetaldehyde=含杂乙醛 susy.material.cativa_process_preparation=Cativa工艺制剂 @@ -674,8 +684,8 @@ susy.material.acidic_copper_solution=酸性铜溶液 susy.material.arsine=砷化氢 susy.material.sodium_bromide_solution=溴化钠溶液 susy.material.sperrylite_waste=砷铂矿废液 -susy.material.gallium_trichloride=氯化镓 -susy.material.manganese_ii_oxide=二氧化锰 +susy.material.gallium_trichloride=三氯化镓 +susy.material.manganese_ii_oxide=一氧化锰 susy.material.crude_manganese_ii_sulfate_solution=粗硫酸锰溶液 susy.material.manganese_ii_sulfate_solution=硫酸锰溶液 susy.material.iron_iii_hydroxide=氢氧化铁 @@ -710,7 +720,7 @@ susy.material.lithium_free_brine=无锂卤水 susy.material.chlorinated_brine=氯化卤水 susy.material.impure_bromine=含杂溴 susy.material.concentrated_salt_water=浓盐水 -susy.material.hypersaline_water=高盐水 +susy.material.hypersaline_water=高浓盐水 susy.material.lithium_carbonate=碳酸锂 susy.material.lithium_cobalt_oxide=钴酸锂 susy.material.sodium_cathode_alloy=钠电池阴极合金 @@ -1048,7 +1058,7 @@ susy.material.cold_chlorodifluoromethane=冷一氯二氟甲烷 susy.material.warm_water=温水 susy.material.warm_ethylene_glycol=温乙二醇 susy.material.warm_salt_water=温盐水 -susy.material.warm_lubricant=温润滑油 +susy.material.warm_lubricant=温润滑剂 susy.material.warm_polychlorinated_biphenyl=温多氯联苯 susy.material.warm_sodium_potassium=温钠钾合金 @@ -1086,7 +1096,7 @@ susy.material.vanadiferous_titanomagnetite=钒钛磁铁矿 susy.material.baddeleyite=斜锆石 susy.material.vanadinite=钒铅矿 susy.material.cerussite=白铅矿 -susy.material.anglesite=铅钒 +susy.material.anglesite=铅矾 susy.material.enargite=菱锌矿 susy.material.smithsonite=菱锌矿 susy.material.arsenopyrite=毒砂矿 @@ -1121,7 +1131,7 @@ susy.material.sulfate_evaporite=硫酸盐蒸发岩 susy.material.granite_tailings=花岗岩尾矿 susy.material.limestone_tailings=石灰岩尾矿 susy.material.pegmatite_tailings=伟晶岩尾矿 -susy.material.ultramafic_tailings=超基性尾矿 +susy.material.ultramafic_tailings=超镁铁质岩尾矿 susy.material.vinegar=醋 @@ -1433,7 +1443,7 @@ susy.material.ilmenite_slurry=钛铁矿浆液 susy.material.titanyl_sulfate_solution=硫酸氧钛溶液 susy.material.acidic_wastewater=酸性废水 susy.material.rutile_concentrate=金红石精矿 -susy.material.ultramafic_tailing_slurry=超基性尾矿浆液 +susy.material.ultramafic_tailing_slurry=超镁铁质岩尾矿浆液 susy.material.rutile_slurry=金红石浆液 susy.material.impure_titanium_tetrachloride=含杂四氯化钛 susy.material.distilled_titanium_tetrachloride=蒸馏四氯化钛 @@ -1641,7 +1651,7 @@ susy.material.oxalic_acid=草酸 susy.material.one_amidoethyl_two_alkyl_two_imidazoline=1-酰胺基乙基-2-烷基咪唑啉 susy.material.molybdenite_flue_gas=辉钼矿烟气 susy.material.rhenium_rich_flue=富铼烟道灰 -susy.material.scrubbed_perrhenate_solution=漂洗高铼酸盐溶液 +susy.material.scrubbed_perrhenate_solution=高铼酸盐漂洗液 susy.material.ammonium_perrhenate=高铼酸铵 susy.material.ammonium_perrhenate_solution=高铼酸铵溶液 susy.material.alpha_olefin_mixture=α-烯烃混合物 @@ -1729,6 +1739,37 @@ susy.material.hydrogen_silsesquioxane_solution=氢倍半硅氧烷(HSQ)溶液 susy.material.trichlorosilane_solution=三氯硅烷溶液 susy.material.tosylic_acid_solution=对甲苯磺酸溶液 susy.material.hydrogen_silsesquioxane_photoresist=氢倍半硅氧烷(HSQ)光刻胶 +susy.material.strontium_sulfide_solution=硫化锶溶液 +susy.material.strontium_oxide=氧化锶 +susy.material.impure_barium_sulfide=含杂硫化钡 +susy.material.barium_residue=钡残渣 +susy.material.impure_barium_sulfide_solution=含杂硫化钡溶液 +susy.material.impure_celestine_slurry=含杂天青石浆液 +susy.material.celestine_slurry=天青石浆液 +susy.material.impure_strontium_sulfide_slurry=含杂硫化锶浆液 +susy.material.impure_strontium_sulfide=含杂硫化锶 +susy.material.diluted_sodium_carbonate_solution=稀碳酸钠溶液 +susy.material.diluted_acetic_acid=稀乙酸 +susy.material.cobalt_ii_acetate=乙酸钴 +susy.material.palladium_on_carbon=钯碳 +susy.material.dimethyl_terephthalate=对苯二甲酸二甲酯 +susy.material.polyethylene_terephthalate=聚对苯二甲酸乙二醇酯(PET) +susy.material.amoco_terephthalic_acid=Amoco对苯二甲酸 +susy.material.amoco_isophthalic_acid=Amoco间苯二甲酸 +susy.material.para_toluic_acid=对甲基苯甲酸 +susy.material.methyl_para_toluate=对甲基苯甲酸甲酯 +susy.material.crude_dimethyl_terephthalate=粗对苯二甲酸二甲酯 +susy.material.crude_terephthalic_acid_solution=粗对苯二甲酸溶液 +susy.material.crude_isophthalic_acid_solution=粗间苯二甲酸溶液 +susy.material.hydrogenated_terephthalic_acid_solution=氢化对苯二甲酸溶液 +susy.material.hydrogenated_isophthalic_acid_solution=氢化间苯二甲酸溶液 +susy.material.amoco_purification_mother_liquor=Amoco工艺纯化母液 +susy.material.para_toluate_mixture=对甲基苯甲酸酯混合物 +susy.material.crude_dimethyl_terephthalate_solution=粗对苯二甲酸二甲酯 溶液 +susy.material.terephthalate_mother_liquor=对苯二甲酸母液 +susy.material.wet_terephthalic_acid=湿对苯二甲酸 +susy.material.wet_isophthalic_acid=湿间苯二甲酸 +susy.material.methyl_para_toluate_mixture=对甲基苯甲酸甲酯混合物 # Isotopes @@ -1823,6 +1864,7 @@ metaitem.steam.pump.name=蒸汽泵 metaitem.bound_leather.name=捆扎皮革 metaitem.vacuum_tube_components.name=真空管部件 +metaitem.mylar.name=Mylar聚酯薄膜 metaitem.circuit.gooware_processor.name=粘质处理器 metaitem.circuit.gooware_processor.tooltip=反应扩散计算/n§2ZPM级电路 From a5b3639f8406ce41f5a2e4a8bac0d7b0396a9d82 Mon Sep 17 00:00:00 2001 From: last8kings Date: Tue, 5 Dec 2023 13:36:21 -0500 Subject: [PATCH 20/50] Adds and modifies veins --- .../worldgen/vein/beneath/graphite_vein.json | 31 +++++++++++ .../worldgen/vein/nether/graphite_vein.json | 33 ++++++++++++ .../vein/nether/sulfur_deposit_vein.json | 45 ++++++++++++++++ .../vein/overworld/garnierite_vein.json | 34 +++++++++++++ .../vein/overworld/pentlandite_vein.json | 34 +++++++++++++ .../vein/overworld/sulfidic_silver_vein.json | 6 +-- .../vein/overworld/sulfur_deposit_vein.json | 51 +++++++++++++++++++ 7 files changed, 231 insertions(+), 3 deletions(-) create mode 100644 config/gregtech/worldgen/vein/beneath/graphite_vein.json create mode 100644 config/gregtech/worldgen/vein/nether/graphite_vein.json create mode 100644 config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json create mode 100644 config/gregtech/worldgen/vein/overworld/garnierite_vein.json create mode 100644 config/gregtech/worldgen/vein/overworld/pentlandite_vein.json create mode 100644 config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json diff --git a/config/gregtech/worldgen/vein/beneath/graphite_vein.json b/config/gregtech/worldgen/vein/beneath/graphite_vein.json new file mode 100644 index 000000000..db6a893a9 --- /dev/null +++ b/config/gregtech/worldgen/vein/beneath/graphite_vein.json @@ -0,0 +1,31 @@ +{ + "weight": 40, + "density": 1, + "dimension_filter": ["dimension_id:10"], + "max_height": 255, + "min_height": 0, + "generator": { + "type": "layered", + "radius": [ + 8, + 8 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:graphite" + }, + { + "secondary": "ore:graphite" + }, + { + "between": "ore:graphite" + }, + { + "sporadic": "ore:graphite" + } + ] + } +} diff --git a/config/gregtech/worldgen/vein/nether/graphite_vein.json b/config/gregtech/worldgen/vein/nether/graphite_vein.json new file mode 100644 index 000000000..5916ce989 --- /dev/null +++ b/config/gregtech/worldgen/vein/nether/graphite_vein.json @@ -0,0 +1,33 @@ +{ + "weight": 40, + "density": 1, + "dimension_filter":[ + "dimension_id:-1" + ], + "max_height": 255, + "min_height": 0, + "generator": { + "type": "layered", + "radius": [ + 8, + 8 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:graphite" + }, + { + "secondary": "ore:graphite" + }, + { + "between": "ore:graphite" + }, + { + "sporadic": "ore:graphite" + } + ] + } +} diff --git a/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json b/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json new file mode 100644 index 000000000..329bcdc9d --- /dev/null +++ b/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json @@ -0,0 +1,45 @@ +{ + "weight": 120, + "density": 1, + "dimension_filter":[ + "dimension_id:-1" + ], + "max_height":120, + "min_height":0, + "generator": { + "type": "layered", + "radius": [ + 20, + 20 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": { + "block":"susy:resource_block", + "variant":"sulfur" + } + }, + { + "secondary": { + "block":"susy:resource_block", + "variant":"sulfur" + } + }, + { + "between": { + "block":"susy:resource_block", + "variant":"sulfur" + } + }, + { + "sporadic": { + "block":"susy:resource_block", + "variant":"sulfur" + } + } + ] + } +} diff --git a/config/gregtech/worldgen/vein/overworld/garnierite_vein.json b/config/gregtech/worldgen/vein/overworld/garnierite_vein.json new file mode 100644 index 000000000..47507a8e9 --- /dev/null +++ b/config/gregtech/worldgen/vein/overworld/garnierite_vein.json @@ -0,0 +1,34 @@ +{ + "weight": 60, + "density": 0.75, + "max_height": 80, + "min_height": 0, + "vein_populator": { + "type": "surface_rock", + "material": "garnierite" + }, + "generator": { + "type": "layered", + "radius": [ + 20, + 20 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:garnierite" + }, + { + "secondary": "ore:garnierite" + }, + { + "between": "ore:garnierite" + }, + { + "sporadic": "ore:garnierite" + } + ] + } +} diff --git a/config/gregtech/worldgen/vein/overworld/pentlandite_vein.json b/config/gregtech/worldgen/vein/overworld/pentlandite_vein.json new file mode 100644 index 000000000..07ddf6a3d --- /dev/null +++ b/config/gregtech/worldgen/vein/overworld/pentlandite_vein.json @@ -0,0 +1,34 @@ +{ + "weight": 80, + "density": 0.75, + "max_height": 80, + "min_height": 0, + "vein_populator": { + "type": "surface_rock", + "material": "pentlandite" + }, + "generator": { + "type": "layered", + "radius": [ + 20, + 20 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:pentlandite" + }, + { + "secondary": "ore:chalcopyrite" + }, + { + "between": "ore:pyrite" + }, + { + "sporadic": "ore:pyrite" + } + ] + } +} diff --git a/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json b/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json index 28590cdbe..bd7391d27 100644 --- a/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json +++ b/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json @@ -10,8 +10,8 @@ "generator": { "type": "layered", "radius": [ - 20, - 20 + 16, + 16 ] }, "filler": { @@ -27,7 +27,7 @@ "between": "ore:pyrargyrite" }, { - "sporadic": "ore:proustite" + "sporadic": "ore:silver" } ] } diff --git a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json new file mode 100644 index 000000000..fb0531799 --- /dev/null +++ b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json @@ -0,0 +1,51 @@ +{ + "weight": 120, + "density": 0.5, + "max_height": 70, + "min_height": 62, + "block": "minecraft:sand", + "vein_populator": { + "type": "surface_rock", + "material": "sulfur" + }, + "biome_modifier": { + "type": "biome_map", + "biomesoplenty:volcanic_island": 400 + }, + "generator": { + "type": "layered", + "radius": [ + 32, + 32 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": { + "block":"susy:resource_block", + "variant":"sulfur" + } + }, + { + "secondary": { + "block":"susy:resource_block", + "variant":"sulfur" + } + }, + { + "between": { + "block":"susy:resource_block", + "variant":"sulfur" + } + }, + { + "sporadic": { + "block":"susy:resource_block", + "variant":"sulfur" + } + } + ] + } +} From 98428bcb2504e212adb7afb1c7a36268b17ce530 Mon Sep 17 00:00:00 2001 From: last8kings Date: Tue, 5 Dec 2023 13:37:19 -0500 Subject: [PATCH 21/50] add macerating recipe for sulfur deposit --- groovy/postInit/mod/GregTech.groovy | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/groovy/postInit/mod/GregTech.groovy b/groovy/postInit/mod/GregTech.groovy index ab5d6bf0b..75d03f255 100644 --- a/groovy/postInit/mod/GregTech.groovy +++ b/groovy/postInit/mod/GregTech.groovy @@ -668,6 +668,13 @@ mods.gregtech.macerator.recipeBuilder() .EUt(7) .buildAndRegister(); +mods.gregtech.macerator.recipeBuilder() + .inputs(item('susy:resource_block', 14)) + .outputs(metaitem('dustSulfur') * 8) + .duration(240) + .EUt(7) + .buildAndRegister(); + mods.gregtech.sifter.recipeBuilder() .inputs(ore('dustNonMarineEvaporite')) .chancedOutput(metaitem('dustSalt'), 8000, 500) From 0fcbb737c8895577cc761a0b000816599322bec0 Mon Sep 17 00:00:00 2001 From: last8kings Date: Tue, 5 Dec 2023 13:39:36 -0500 Subject: [PATCH 22/50] Make sulfur deposit only in volcano --- .../gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json index fb0531799..9995678e3 100644 --- a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json +++ b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json @@ -1,6 +1,6 @@ { - "weight": 120, - "density": 0.5, + "weight": -1, + "density": 0.75, "max_height": 70, "min_height": 62, "block": "minecraft:sand", From f46cff6cc653764f6dccfe482a42638696fc5674 Mon Sep 17 00:00:00 2001 From: last8kings Date: Thu, 7 Dec 2023 01:55:55 -0500 Subject: [PATCH 23/50] Makes nether sulfur vein smaller and less dense --- .../gregtech/worldgen/vein/nether/sulfur_deposit_vein.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json b/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json index 329bcdc9d..a746dfefc 100644 --- a/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json +++ b/config/gregtech/worldgen/vein/nether/sulfur_deposit_vein.json @@ -1,6 +1,6 @@ { "weight": 120, - "density": 1, + "density": 0.8, "dimension_filter":[ "dimension_id:-1" ], @@ -9,8 +9,8 @@ "generator": { "type": "layered", "radius": [ - 20, - 20 + 16, + 16 ] }, "filler": { From 69fddf7ad9995087b601f702a498928d46c62fd4 Mon Sep 17 00:00:00 2001 From: last8kings Date: Thu, 7 Dec 2023 01:56:07 -0500 Subject: [PATCH 24/50] Changes galena to prousite --- .../gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json b/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json index bd7391d27..0030427ce 100644 --- a/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json +++ b/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json @@ -21,7 +21,7 @@ "primary": "ore:acanthite" }, { - "secondary": "ore:galena" + "secondary": "ore:prousite" }, { "between": "ore:pyrargyrite" From 7ad205c4e18eb6ca4271038af081e84831d10a85 Mon Sep 17 00:00:00 2001 From: last8kings Date: Thu, 7 Dec 2023 01:57:04 -0500 Subject: [PATCH 25/50] Makes vein smaller and increases max height --- .../worldgen/vein/overworld/sulfur_deposit_vein.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json index 9995678e3..58470a002 100644 --- a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json +++ b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json @@ -1,7 +1,7 @@ { "weight": -1, "density": 0.75, - "max_height": 70, + "max_height": 110, "min_height": 62, "block": "minecraft:sand", "vein_populator": { @@ -15,8 +15,8 @@ "generator": { "type": "layered", "radius": [ - 32, - 32 + 16, + 16 ] }, "filler": { From 80768319df4a3fd07698d87be7d6391f87be56be Mon Sep 17 00:00:00 2001 From: last8kings Date: Thu, 7 Dec 2023 17:19:28 -0500 Subject: [PATCH 26/50] fix typo and raise max height --- .../gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json | 2 +- .../gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json b/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json index 0030427ce..462b2eb3e 100644 --- a/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json +++ b/config/gregtech/worldgen/vein/overworld/sulfidic_silver_vein.json @@ -21,7 +21,7 @@ "primary": "ore:acanthite" }, { - "secondary": "ore:prousite" + "secondary": "ore:proustite" }, { "between": "ore:pyrargyrite" diff --git a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json index 58470a002..07af4e400 100644 --- a/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json +++ b/config/gregtech/worldgen/vein/overworld/sulfur_deposit_vein.json @@ -1,7 +1,7 @@ { "weight": -1, "density": 0.75, - "max_height": 110, + "max_height": 170, "min_height": 62, "block": "minecraft:sand", "vein_populator": { From 8f93a677a60a1ae2f2b2b158829f9385a5512bde Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:43:55 -0500 Subject: [PATCH 27/50] Update Alluvial.rcbp --- structures/active/Alluvial.rcbp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/structures/active/Alluvial.rcbp b/structures/active/Alluvial.rcbp index b9e1b9242..1ef53d094 100644 --- a/structures/active/Alluvial.rcbp +++ b/structures/active/Alluvial.rcbp @@ -12,6 +12,10 @@ { "biomes": "$RIVER", "weight": 2.5 + }, + { + "biomes": "", + "weight": 0.1 } ], "metadata": { @@ -20,4 +24,4 @@ "" ] } -} \ No newline at end of file +} From 7418066ba832eb46e56fefefd92f233e7dbc7510 Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:44:10 -0500 Subject: [PATCH 28/50] Update Hydrothermal.rcbp --- structures/active/Hydrothermal.rcbp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/structures/active/Hydrothermal.rcbp b/structures/active/Hydrothermal.rcbp index fe9c60e07..fbacfb4c7 100644 --- a/structures/active/Hydrothermal.rcbp +++ b/structures/active/Hydrothermal.rcbp @@ -2,7 +2,7 @@ "data": [ { "biomes": "$FOREST", - "weight": 0.1 + "weight": 0.25 }, { "biomes": "$MOUNTAIN", @@ -14,6 +14,10 @@ }, { "biomes": "$JUNGLE", + "weight": 0.25 + }, + { + "biomes": "", "weight": 0.1 } ], @@ -23,4 +27,4 @@ "" ] } -} \ No newline at end of file +} From c017922c7fb4b73476bedc721db8df278b61ef6a Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:44:20 -0500 Subject: [PATCH 29/50] Update LaunchPadBiomes.rcbp --- structures/active/LaunchPadBiomes.rcbp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/structures/active/LaunchPadBiomes.rcbp b/structures/active/LaunchPadBiomes.rcbp index fe52d34e8..b43abf1fc 100644 --- a/structures/active/LaunchPadBiomes.rcbp +++ b/structures/active/LaunchPadBiomes.rcbp @@ -8,6 +8,9 @@ }, { "biomes": "$WASTELAND" + }, + { + "biomes": "", } ], "metadata": { @@ -16,4 +19,4 @@ "Biomes suitable for launch pads" ] } -} \ No newline at end of file +} From e52c650251b04e44e82cfbfe0db2637b07c8f2ea Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:44:36 -0500 Subject: [PATCH 30/50] Update MagmaticHydrothermal.rcbp --- structures/active/MagmaticHydrothermal.rcbp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/structures/active/MagmaticHydrothermal.rcbp b/structures/active/MagmaticHydrothermal.rcbp index bfdb7f716..29359e92b 100644 --- a/structures/active/MagmaticHydrothermal.rcbp +++ b/structures/active/MagmaticHydrothermal.rcbp @@ -2,11 +2,11 @@ "data": [ { "biomes": "$MOUNTAIN", - "weight": 0.75 + "weight": 1.0 }, { "biomes": "$JUNGLE", - "weight": 0.25 + "weight": 0.5 }, { "biomes": "$HILLS", @@ -15,6 +15,10 @@ { "biomes": "$LUSH", "weight": 0.4 + }, + { + "biomes": "", + "weight": 0.1 } ], "metadata": { @@ -23,4 +27,4 @@ "" ] } -} \ No newline at end of file +} From 6d8031a4aafaafb5deef9ba831dbb2db4be5992f Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:44:47 -0500 Subject: [PATCH 31/50] Update Metamorphic.rcbp --- structures/active/Metamorphic.rcbp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/structures/active/Metamorphic.rcbp b/structures/active/Metamorphic.rcbp index dbe596203..563bde9d9 100644 --- a/structures/active/Metamorphic.rcbp +++ b/structures/active/Metamorphic.rcbp @@ -2,7 +2,7 @@ "data": [ { "biomes": "$FOREST", - "weight": 0.5 + "weight": 0.75 }, { "biomes": "$HILLS", @@ -19,4 +19,4 @@ "" ] } -} \ No newline at end of file +} From 487af3a34ad0141a3d51c4fc3dcbb5dce78164f3 Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:44:59 -0500 Subject: [PATCH 32/50] Update Orthomagmatic.rcbp --- structures/active/Orthomagmatic.rcbp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/structures/active/Orthomagmatic.rcbp b/structures/active/Orthomagmatic.rcbp index ff3fab4a8..939d36e67 100644 --- a/structures/active/Orthomagmatic.rcbp +++ b/structures/active/Orthomagmatic.rcbp @@ -2,15 +2,19 @@ "data": [ { "biomes": "$WASTELAND", - "weight": 1.2 + "weight": 1.5 }, { "biomes": "$MOUNTAIN", - "weight": 0.6 + "weight": 0.75 }, { "biomes": "volcanic", - "weight": 1.2 + "weight": 1.5 + }, + { + "biomes": "", + "weight": 0.1 } ], "metadata": { @@ -19,4 +23,4 @@ "" ] } -} \ No newline at end of file +} From 128c63deca995e6051577337fcc298b07eac3713 Mon Sep 17 00:00:00 2001 From: bun Date: Thu, 14 Dec 2023 15:40:25 +0100 Subject: [PATCH 33/50] set DWG as a client only mod --- manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest.json b/manifest.json index 947464bec..700d085ed 100644 --- a/manifest.json +++ b/manifest.json @@ -891,6 +891,7 @@ "required": true }, { + "clientOnly": true, "projectID": 241140, "fileID": 2499252, "required": true From e38633ae5f641f495b71d4212f7e3f3534ce05bf Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:37:30 -0500 Subject: [PATCH 34/50] Create tantalite_vein.json --- .../worldgen/vein/nether/tantalite_vein.json | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 config/gregtech/worldgen/vein/nether/tantalite_vein.json diff --git a/config/gregtech/worldgen/vein/nether/tantalite_vein.json b/config/gregtech/worldgen/vein/nether/tantalite_vein.json new file mode 100644 index 000000000..605318c89 --- /dev/null +++ b/config/gregtech/worldgen/vein/nether/tantalite_vein.json @@ -0,0 +1,33 @@ +{ + "weight": 120, + "density": 0.75, + "max_height":120, + "min_height":0, + "dimension_filter":[ + "dimension_id:-1" + ], + "generator": { + "type": "layered", + "radius": [ + 25, + 25 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:tantalite" + }, + { + "secondary": "ore:columbite" + }, + { + "between": "ore:pyrochlore" + }, + { + "sporadic": "ore:banded_iron" + } + ] + } +} From fee7bc630243cd1bab65c12adcdf8106b1fae6d5 Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:38:40 -0500 Subject: [PATCH 35/50] Create wolframite_vein.json --- .../worldgen/vein/nether/wolframite_vein.json | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 config/gregtech/worldgen/vein/nether/wolframite_vein.json diff --git a/config/gregtech/worldgen/vein/nether/wolframite_vein.json b/config/gregtech/worldgen/vein/nether/wolframite_vein.json new file mode 100644 index 000000000..4c430997a --- /dev/null +++ b/config/gregtech/worldgen/vein/nether/wolframite_vein.json @@ -0,0 +1,33 @@ +{ + "weight": 30, + "density": 0.75, + "max_height":120, + "min_height":0, + "dimension_filter":[ + "dimension_id:-1" + ], + "generator": { + "type": "layered", + "radius": [ + 8, + 8 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:wolframite" + }, + { + "secondary": "ore:scheelite" + }, + { + "between": "ore:bismuthinite" + }, + { + "sporadic": "ore:sphalerite" + } + ] + } +} From 74e9a1dfd0ee90e2aa6b2a154c7a45eaca5589cd Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:38:59 -0500 Subject: [PATCH 36/50] Update tantalite_vein.json --- config/gregtech/worldgen/vein/nether/tantalite_vein.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/gregtech/worldgen/vein/nether/tantalite_vein.json b/config/gregtech/worldgen/vein/nether/tantalite_vein.json index 605318c89..6e19cec18 100644 --- a/config/gregtech/worldgen/vein/nether/tantalite_vein.json +++ b/config/gregtech/worldgen/vein/nether/tantalite_vein.json @@ -1,5 +1,5 @@ { - "weight": 120, + "weight": 30, "density": 0.75, "max_height":120, "min_height":0, @@ -9,8 +9,8 @@ "generator": { "type": "layered", "radius": [ - 25, - 25 + 8, + 8 ] }, "filler": { From dfd2708ba993bcb6a6a8c1817b96d1db85f84a61 Mon Sep 17 00:00:00 2001 From: SuperObamaByte <145173390+SuperObamaByte@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:40:32 -0500 Subject: [PATCH 37/50] Create chromite_vein.json --- .../worldgen/vein/beneath/chromite_vein.json | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 config/gregtech/worldgen/vein/beneath/chromite_vein.json diff --git a/config/gregtech/worldgen/vein/beneath/chromite_vein.json b/config/gregtech/worldgen/vein/beneath/chromite_vein.json new file mode 100644 index 000000000..01ffceaf6 --- /dev/null +++ b/config/gregtech/worldgen/vein/beneath/chromite_vein.json @@ -0,0 +1,31 @@ +{ + "weight": 80, + "density": 0.5, + "dimension_filter": ["dimension_id:10"], + "max_height": 255, + "min_height": 0, + "generator": { + "type": "layered", + "radius": [ + 25, + 25 + ] + }, + "filler": { + "type": "layered", + "values": [ + { + "primary": "ore:olivine" + }, + { + "secondary": "ore:magnetite" + }, + { + "between": "ore:chromite" + }, + { + "sporadic": "ore:emerald" + } + ] + } +} From 0c0cc83238e2c043c97dad2372f5fb5daa50ae65 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Fri, 22 Dec 2023 12:32:52 -0600 Subject: [PATCH 38/50] fix --- config/gregtech/worldgen/vein/nether/wolframite_vein.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/gregtech/worldgen/vein/nether/wolframite_vein.json b/config/gregtech/worldgen/vein/nether/wolframite_vein.json index 4c430997a..8b30437cd 100644 --- a/config/gregtech/worldgen/vein/nether/wolframite_vein.json +++ b/config/gregtech/worldgen/vein/nether/wolframite_vein.json @@ -23,10 +23,10 @@ "secondary": "ore:scheelite" }, { - "between": "ore:bismuthinite" + "between": "ore:sphalerite" }, { - "sporadic": "ore:sphalerite" + "sporadic": "ore:bismuthinite" } ] } From 4dc183b87c4cbfa8b9d887452cec7b4b9b2f060b Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sun, 24 Dec 2023 03:06:49 -0600 Subject: [PATCH 39/50] Photomask rework (#662) * adjust SiO2 slurry for polishing purposes * add rubylith * make rubylith harder and fix it * finish circuit rework part I * final fix --- groovy/material/FirstDegreeMaterials.groovy | 15 +- .../material/OrganicChemistryMaterials.groovy | 30 +++ groovy/material/SuSyMaterials.groovy | 10 + groovy/material/ThirdDegreeMaterials.groovy | 6 + .../UnknownCompositionMaterials.groovy | 13 +- .../chemistry/ChemistryOverhaul.groovy | 29 +++ .../chemistry/elements/PhosphorusChain.groovy | 2 +- .../chemistry/elements/VanadiumChain.groovy | 10 +- .../electronics/EtchablesChain.groovy | 102 +------- groovy/postInit/electronics/Photomasks.groovy | 231 ++++++++++++++++++ groovy/postInit/mod/GregTechFoodOption.groovy | 46 +++- groovy/preInit/RegisterMetaItems.groovy | 32 ++- .../models/item/metaitems/mask.blank.json | 6 + .../models/item/metaitems/rubylith.json | 6 + .../models/item/metaitems/rubylith_film.json | 6 + .../models/item/metaitems/stencil.cpu.json | 6 + .../models/item/metaitems/stencil.ic.json | 6 + .../models/item/metaitems/stencil.lpic.json | 6 + .../models/item/metaitems/stencil.pcb.json | 6 + .../models/item/metaitems/stencil.ram.json | 6 + .../models/item/metaitems/stencil.ulpic.json | 6 + .../metaitems/{mask.png => mask.blank.png} | Bin .../textures/items/metaitems/rubylith.png | Bin 0 -> 254 bytes .../items/metaitems/rubylith_film.png | Bin 0 -> 249 bytes .../textures/items/metaitems/stencil.cpu.png | Bin 0 -> 247 bytes .../textures/items/metaitems/stencil.ic.png | Bin 0 -> 286 bytes .../textures/items/metaitems/stencil.lpic.png | Bin 0 -> 258 bytes .../textures/items/metaitems/stencil.pcb.png | Bin 0 -> 235 bytes .../textures/items/metaitems/stencil.png | Bin 0 -> 200 bytes .../textures/items/metaitems/stencil.ram.png | Bin 0 -> 220 bytes .../items/metaitems/stencil.ulpic.png | Bin 0 -> 238 bytes resources/langfiles/lang/en_us.lang | 20 ++ 32 files changed, 481 insertions(+), 119 deletions(-) create mode 100644 groovy/postInit/electronics/Photomasks.groovy create mode 100644 resources/gregtech/models/item/metaitems/mask.blank.json create mode 100644 resources/gregtech/models/item/metaitems/rubylith.json create mode 100644 resources/gregtech/models/item/metaitems/rubylith_film.json create mode 100644 resources/gregtech/models/item/metaitems/stencil.cpu.json create mode 100644 resources/gregtech/models/item/metaitems/stencil.ic.json create mode 100644 resources/gregtech/models/item/metaitems/stencil.lpic.json create mode 100644 resources/gregtech/models/item/metaitems/stencil.pcb.json create mode 100644 resources/gregtech/models/item/metaitems/stencil.ram.json create mode 100644 resources/gregtech/models/item/metaitems/stencil.ulpic.json rename resources/gregtech/textures/items/metaitems/{mask.png => mask.blank.png} (100%) create mode 100644 resources/gregtech/textures/items/metaitems/rubylith.png create mode 100644 resources/gregtech/textures/items/metaitems/rubylith_film.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.cpu.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.ic.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.lpic.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.pcb.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.ram.png create mode 100644 resources/gregtech/textures/items/metaitems/stencil.ulpic.png diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 6f8ef9f1a..15caa4d14 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -3278,6 +3278,19 @@ public class FirstDegreeMaterials{ .color(0xfc7e89) .build(); - CobaltIIAcetate.setFormula("Co(C2H3O2)2", true) + CobaltIIAcetate.setFormula("Co(C2H3O2)2", true) + + AcrylicCatalyst = new Material.Builder(8578, SuSyUtility.susyId("acrylic_catalyst")) + .dust() + .components(Copper, 1, Nickel, 1, Bromine, 4) + .colorAverage() + .build(); + + GelatinSolution = new Material.Builder(8579, SuSyUtility.susyId("gelatin_solution")) + .fluid() + .fluidTemp(323) + .components(Gelatin, 1, Water, 1) + .colorAverage() + .build(); } } \ No newline at end of file diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 310061a80..769d45241 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1864,5 +1864,35 @@ public class OrganicChemistryMaterials { .color(0x609169) .iconSet(DULL) .build(); + + Trimethylolpropane = new Material.Builder(15297, SuSyUtility.susyId('trimethylolpropane')) + .dust() + .components(Carbon, 6, Hydrogen, 14, Oxygen, 3) + .color(0x5d8230) + .build(); + + AcrylicAcid = new Material.Builder(15298, SuSyUtility.susyId('acrylic_acid')) + .fluid(FluidTypes.ACID) + .components(Carbon, 3, Hydrogen, 4, Oxygen, 2) + .color(0x308264) + .build(); + + TrimethylolpropaneTriacrylate = new Material.Builder(15299, SuSyUtility.susyId('trimethylolpropane_triacrylate')) + .fluid() + .components(Carbon, 15, Hydrogen, 20, Oxygen, 6) + .color(0x279630) + .build(); + + BenzenediazoniumChloride = new Material.Builder(15300, SuSyUtility.susyId('benzenediazonium_chloride')) + .dust() + .components(Carbon, 6, Hydrogen, 5, Nitrogen, 2, Chlorine, 1) + .color(0x18262b) + .build(); + + Crotonaldehyde = new Material.Builder(15301, SuSyUtility.susyId('crotonaldehyde')) + .fluid() + .components(Carbon, 4, Hydrogen, 6, Oxygen, 1) + .color(0xa31a5c) + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 200d97fea..27ac7fcf6 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -482,6 +482,8 @@ class SuSyMaterials { public static Material OrganosiliconMixture; public static Material ImpurePolydimethylsiloxaneMixture; public static Material RawPolydimethylsiloxaneMixture; + public static Material AcrylicPhotoemulsion; + public static Material TreatedCollagen; // Petrochem Materials @@ -1012,6 +1014,8 @@ class SuSyMaterials { public static Material ImpureStrontiumSulfide; public static Material DilutedAceticAcid; public static Material CobaltIIAcetate; + public static Material AcrylicCatalyst; + public static Material GelatinSolution; // Second Degree Materials @@ -1415,6 +1419,11 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalate; public static Material WetTerephthalicAcid; public static Material WetIsophthalicAcid; + public static Material Trimethylolpropane; + public static Material AcrylicAcid; + public static Material TrimethylolpropaneTriacrylate; + public static Material BenzenediazoniumChloride; + public static Material Crotonaldehyde; // Third Degree Materials @@ -1489,6 +1498,7 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalateSolution; public static Material TerephthalateMotherLiquor; public static Material MethylParaToluateMixture; + public static Material CrotonaldehydeMixture; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 003088f48..929430bb5 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -450,5 +450,11 @@ public class ThirdDegreeMaterials { .components(MethylParaToluate, 1, DimethylTerephthalate, 1) .colorAverage() .build(); + + CrotonaldehydeMixture = new Material.Builder(24070, SuSyUtility.susyId('crotonaldehyde_mixture')) + .fluid() + .components(SodiumHydroxide, 1, Crotonaldehyde, 1) + .colorAverage() + .build(); } } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index a3ba7c739..1d73963e6 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1838,6 +1838,17 @@ public class UnknownCompositionMaterials { RawPolydimethylsiloxaneMixture = new Material.Builder(4350, SuSyUtility.susyId("raw_polydimethylsiloxane_mixture")) .fluid() .color(0xf6f7f0) - .build(); + .build(); + + AcrylicPhotoemulsion = new Material.Builder(4351, SuSyUtility.susyId("acrylic_photoemulsion")) + .fluid() + .color(0x8a2531) + .build(); + + TreatedCollagen = new Material.Builder(4352, SuSyUtility.susyId("treated_collagen")) + .dust() + .color(0xa6a490) + .iconSet(ROUGH) + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 63b24a157..7c4f8addd 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -4572,3 +4572,32 @@ BR.recipeBuilder() .duration(120) .EUt(30) .buildAndRegister() + +// Early butyraldehyde + +BR.recipeBuilder() + .notConsumable(ore('springCupronickel')) + .fluidInputs(fluid('gtfo_acetaldehyde') * 2000) + .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .fluidOutputs(fluid('crotonaldehyde_mixture') * 1000) + .fluidOutputs(fluid('steam') * 2000) + .duration(400) + .EUt(120) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('crotonaldehyde_mixture') * 1000) + .outputs(metaitem('dustSodiumHydroxide') * 3) + .fluidOutputs(fluid('crotonaldehyde') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + +FBR.recipeBuilder() + .notConsumable(ore('catalystBedCopper')) + .fluidInputs(fluid('crotonaldehyde') * 50) + .fluidInputs(fluid('hydrogen') * 100) + .fluidOutputs(fluid('butyraldehyde') * 50) + .duration(20) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/elements/PhosphorusChain.groovy b/groovy/postInit/chemistry/elements/PhosphorusChain.groovy index 385f5bc58..3b70035bb 100755 --- a/groovy/postInit/chemistry/elements/PhosphorusChain.groovy +++ b/groovy/postInit/chemistry/elements/PhosphorusChain.groovy @@ -218,7 +218,7 @@ FLOTATION.recipeBuilder() .notConsumable(fluid('alkaline_sodium_oleate_solution') * 1000) .notConsumable(fluid('fuel_oil') * 100) .fluidOutputs(fluid('phosphate_concentrate_slurry') * 1000) - .fluidOutputs(fluid('silicon_dioxide_slurry') * 1000) + .fluidOutputs(fluid('limestone_tailing_slurry') * 1000) .duration(20) .EUt(Globals.voltAmps[3]) .buildAndRegister() diff --git a/groovy/postInit/chemistry/elements/VanadiumChain.groovy b/groovy/postInit/chemistry/elements/VanadiumChain.groovy index 431ab5796..a593de08c 100644 --- a/groovy/postInit/chemistry/elements/VanadiumChain.groovy +++ b/groovy/postInit/chemistry/elements/VanadiumChain.groovy @@ -139,19 +139,11 @@ FLOTATION.recipeBuilder() .notConsumable(fluid('methyl_isobutyl_carbinol') * 100) .notConsumable(fluid('n_octylamine') * 100) .fluidOutputs(fluid('vtm_slurry') * 1000) - .fluidOutputs(fluid('silicon_dioxide_slurry') * 1000) + .fluidOutputs(fluid('pegmatite_tailing_slurry') * 1000) .EUt(480) .duration(800) .buildAndRegister() -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('silicon_dioxide_slurry') * 1000) - .fluidOutputs(fluid('wastewater') * 1000) - .outputs(metaitem('dustSiliconDioxide')) - .EUt(120) - .duration(400) - .buildAndRegister() - CLARIFIER.recipeBuilder() .fluidInputs(fluid('vtm_slurry') * 1000) .fluidOutputs(fluid('wastewater') * 1000) diff --git a/groovy/postInit/electronics/EtchablesChain.groovy b/groovy/postInit/electronics/EtchablesChain.groovy index a44cdd6b1..a3c812e3c 100755 --- a/groovy/postInit/electronics/EtchablesChain.groovy +++ b/groovy/postInit/electronics/EtchablesChain.groovy @@ -204,6 +204,15 @@ new PDopant("dustHighPurityAntimony", 1) new PDopant("dustHighPurityPhosphorus", 2) new PDopant("dustHighPurityArsenic", 2) +MIXER.recipeBuilder() + .inputs(ore('dustTinyPotassiumHydroxide')) + .inputs(ore('dustSiliconDioxide') * 30) + .fluidInputs(fluid('demineralized_water') * 10000) + .fluidOutputs(fluid('silicon_dioxide_slurry') * 10000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + def generatePatterningRecipes(input, product, mask, voltageTier, timeMultiplier, int outputMultiplier, int circ, boolean cleanroom) { for (photoresist in Photoresist.photoresists) { if (cleanroom) { @@ -311,99 +320,6 @@ def generateCuttingRecipes(input, product, productMultiplier, voltageTier, boole } } -//LITHOGRAPHY MASKS - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(ore('plateGlass')) - .circuitMeta(6) - .fluidInputs(fluid('dye_black')*100) - .outputs(metaitem('mask.cpu')) - .duration(200) - .EUt(7) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(ore('plateGlass')) - .circuitMeta(1) - .fluidInputs(fluid('dye_black')*100) - .outputs(metaitem('mask.ram')) - .duration(200) - .EUt(7) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(ore('plateGlass')) - .circuitMeta(2) - .fluidInputs(fluid('dye_black')*100) - .outputs(metaitem('mask.ic')) - .duration(200) - .EUt(7) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(ore('plateGlass')) - .circuitMeta(3) - .fluidInputs(fluid('dye_black')*100) - .outputs(metaitem('mask.pcb')) - .duration(200) - .EUt(7) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(ore('plateGlass')) - .circuitMeta(4) - .fluidInputs(fluid('dye_black')*100) - .outputs(metaitem('mask.ulpic')) - .duration(200) - .EUt(7) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(ore('plateGlass')) - .circuitMeta(5) - .fluidInputs(fluid('dye_black')*100) - .outputs(metaitem('mask.lpic')) - .duration(200) - .EUt(7) - .buildAndRegister() - -REACTION_FURNACE.recipeBuilder() - .notConsumable(metaitem('shape.mold.plate')) - .fluidInputs(fluid('silicon_tetrachloride')*1000) - .fluidInputs(fluid('oxygen')*3000) - .fluidInputs(fluid('hydrogen')*2000) - .outputs(metaitem('fused_quartz')) - .duration(400) - .EUt(120) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(metaitem('fused_quartz')) - .inputs(ore('dustTinyChromiumTrioxide')) - .circuitMeta(1) - .outputs(metaitem('mask.advanced')) - .duration(200) - .EUt(120) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(metaitem('fused_quartz')) - .inputs(ore('dustTinyChromiumTrioxide')) - .circuitMeta(2) - .outputs(metaitem('mask.nand')) - .duration(200) - .EUt(120) - .buildAndRegister() - -CIRCUIT_ASSEMBLER.recipeBuilder() - .inputs(metaitem('fused_quartz')) - .inputs(ore('dustTinyChromiumTrioxide')) - .circuitMeta(3) - .outputs(metaitem('mask.nor')) - .duration(200) - .EUt(120) - .buildAndRegister() - //NOVOLACS CSTR.recipeBuilder() diff --git a/groovy/postInit/electronics/Photomasks.groovy b/groovy/postInit/electronics/Photomasks.groovy new file mode 100644 index 000000000..2ac8399fd --- /dev/null +++ b/groovy/postInit/electronics/Photomasks.groovy @@ -0,0 +1,231 @@ +import static globals.Globals.* + +ASSEMBLER = recipemap('assembler') +BR = recipemap('batch_reactor') +REACTION_FURNACE = recipemap('reaction_furnace') +ROASTER = recipemap('roaster') +MIXER = recipemap('mixer') +UV_LIGHT_BOX = recipemap('uv_light_box') + +// TMPTA + +BR.recipeBuilder() + .fluidInputs(fluid('butyraldehyde') * 1000) + .fluidInputs(fluid('formaldehyde') * 3000) + .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .outputs(metaitem('dustTrimethylolpropane')) + .fluidOutputs(fluid('wastewater') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + +ROASTER.recipeBuilder() + .inputs(ore('dustCopper')) + .inputs(ore('dustNickel')) + .fluidInputs(fluid('bromine') * 4000) + .outputs(metaitem('dustAcrylicCatalyst')) + .duration(200) + .EUt(120) + .buildAndRegister() + +REACTION_FURNACE.recipeBuilder() + .notConsumable(ore('dustAcrylicCatalyst')) + .fluidInputs(fluid('acetylene') * 1000) + .fluidInputs(fluid('carbon_monoxide') * 1000) + .fluidInputs(fluid('water') * 1000) + .fluidOutputs(fluid('acrylic_acid') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + +BR.recipeBuilder() + .notConsumable(ore('springCupronickel')) + .notConsumable(fluid('sulfuric_acid') * 1000) + .inputs(ore('dustTrimethylolpropane')) + .fluidInputs(fluid('acrylic_acid') * 3000) + .fluidOutputs(fluid('trimethylolpropane_triacrylate') * 1000) + .fluidOutputs(fluid('steam') * 3000) + .duration(200) + .EUt(120) + .buildAndRegister() + +// UV initiator, Benzenediazonium tetrafluoroborate + +BR.recipeBuilder() + .inputs(ore('dustSodiumNitrite') * 4) + .fluidInputs(fluid('hydrogen_chloride') * 2000) + .fluidInputs(fluid('gtfo_aniline') * 1000) + .outputs(metaitem('dustBenzenediazoniumChloride')) + .fluidOutputs(fluid('diluted_saltwater') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustBenzenediazoniumChloride')) + .inputs(ore('dustGelatin') * 8) + .fluidInputs(fluid('trimethylolpropane_triacrylate') * 8000) + .fluidOutputs(fluid('acrylic_photoemulsion') * 8000) + .duration(200) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('foilPlastic')) + .fluidInputs(fluid('dye_red') * 100) + .fluidInputs(fluid('acrylic_photoemulsion') * 500) + .outputs(metaitem('rubylith_film')) + .duration(200) + .EUt(120) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(ore('foilMylar')) + .inputs(metaitem('rubylith_film')) + .fluidInputs(fluid('glue') * 100) + .outputs(metaitem('rubylith')) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Early lithography masks + +ROASTER.recipeBuilder() + .inputs(ore('dustSilver')) + .fluidInputs(fluid('chlorine') * 1000) + .outputs(metaitem('dustSilverChloride') * 2) + .duration(100) + .EUt(30) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(ore('plateGlass')) + .inputs(ore('dustGelatin')) + .inputs(ore('dustSilverChloride')) + .outputs(metaitem('mask.blank')) + .duration(200) + .EUt(7) + .buildAndRegister() + +crafting.addShaped("rubylith_ram", metaitem('stencil.ram'), [ + [ore('craftingToolKnife'), null, null], + [null, metaitem('rubylith'), null], + [null, null, null] +]); + +UV_LIGHT_BOX.recipeBuilder() + .inputs(metaitem('stencil.ram')) + .inputs(metaitem('mask.blank')) + .outputs(metaitem('mask.ram')) + .duration(200) + .EUt(7) + .buildAndRegister() + +crafting.addShaped("rubylith_ic", metaitem('stencil.ic'), [ + [null, ore('craftingToolKnife'), null], + [null, metaitem('rubylith'), null], + [null, null, null] +]); + +UV_LIGHT_BOX.recipeBuilder() + .inputs(metaitem('stencil.ic')) + .inputs(metaitem('mask.blank')) + .outputs(metaitem('mask.ic')) + .duration(200) + .EUt(7) + .buildAndRegister() + +crafting.addShaped("rubylith_pcb", metaitem('stencil.pcb'), [ + [null, null, ore('craftingToolKnife')], + [null, metaitem('rubylith'), null], + [null, null, null] +]); + +UV_LIGHT_BOX.recipeBuilder() + .inputs(metaitem('stencil.pcb')) + .inputs(metaitem('mask.blank')) + .outputs(metaitem('mask.pcb')) + .duration(200) + .EUt(7) + .buildAndRegister() + +crafting.addShaped("rubylith_ulpic", metaitem('stencil.ulpic'), [ + [null, null, null], + [ore('craftingToolKnife'), metaitem('rubylith'), null], + [null, null, null] +]); + +UV_LIGHT_BOX.recipeBuilder() + .inputs(metaitem('stencil.ulpic')) + .inputs(metaitem('mask.blank')) + .outputs(metaitem('mask.ulpic')) + .duration(200) + .EUt(7) + .buildAndRegister() + +crafting.addShaped("rubylith_lpic", metaitem('stencil.lpic'), [ + [null, null, null], + [null, metaitem('rubylith'), ore('craftingToolKnife')], + [null, null, null] +]); + +UV_LIGHT_BOX.recipeBuilder() + .inputs(metaitem('stencil.lpic')) + .inputs(metaitem('mask.blank')) + .outputs(metaitem('mask.lpic')) + .duration(200) + .EUt(7) + .buildAndRegister() + +crafting.addShaped("rubylith_cpu", metaitem('stencil.cpu'), [ + [null, null, null], + [null, metaitem('rubylith'), null], + [ore('craftingToolKnife'), null, null] +]); + +UV_LIGHT_BOX.recipeBuilder() + .inputs(metaitem('stencil.cpu')) + .inputs(metaitem('mask.blank')) + .outputs(metaitem('mask.cpu')) + .duration(200) + .EUt(7) + .buildAndRegister() + +// CrO3 photomasks + +REACTION_FURNACE.recipeBuilder() + .notConsumable(metaitem('shape.mold.plate')) + .fluidInputs(fluid('silicon_tetrachloride') * 1000) + .fluidInputs(fluid('oxygen') * 3000) + .fluidInputs(fluid('hydrogen') * 2000) + .outputs(metaitem('fused_quartz')) + .duration(400) + .EUt(120) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(metaitem('fused_quartz')) + .inputs(ore('dustTinyChromiumTrioxide')) + .circuitMeta(1) + .outputs(metaitem('mask.advanced')) + .duration(200) + .EUt(120) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(metaitem('fused_quartz')) + .inputs(ore('dustTinyChromiumTrioxide')) + .circuitMeta(2) + .outputs(metaitem('mask.nand')) + .duration(200) + .EUt(120) + .buildAndRegister() + +ASSEMBLER.recipeBuilder() + .inputs(metaitem('fused_quartz')) + .inputs(ore('dustTinyChromiumTrioxide')) + .circuitMeta(3) + .outputs(metaitem('mask.nor')) + .duration(200) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/mod/GregTechFoodOption.groovy b/groovy/postInit/mod/GregTechFoodOption.groovy index bf48a1184..ad4529ed0 100755 --- a/groovy/postInit/mod/GregTechFoodOption.groovy +++ b/groovy/postInit/mod/GregTechFoodOption.groovy @@ -506,7 +506,51 @@ MIXER.recipeBuilder() .duration(160) .EUt(8) .buildAndRegister() - + +// Gelatin +CHEMICAL_BATH.recipeBuilder() + .inputs(ore('dustBone') * 1) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .outputs(metaitem('dustCollagen') * 1) + .fluidOutputs(fluid('wastewater') * 2000) + .duration(160) + .EUt(8) + .buildAndRegister() + +CHEMICAL_BATH.recipeBuilder() + .inputs(item('minecraft:leather')) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .outputs(metaitem('dustCollagen') * 1) + .fluidOutputs(fluid('wastewater') * 2000) + .duration(160) + .EUt(8) + .buildAndRegister() + +CHEMICAL_BATH.recipeBuilder() + .inputs(ore('dustCollagen')) + .fluidInputs(fluid('sodium_hydroxide_solution') * 250) + .outputs(metaitem('dustTreatedCollagen')) + .fluidOutputs(fluid('wastewater') * 250) + .duration(160) + .EUt(8) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .inputs(ore('dustTreatedCollagen')) + .fluidInputs(fluid('gtfo_heated_water') * 1000) + .fluidOutputs(fluid('gelatin_solution') * 1000) + .duration(160) + .EUt(8) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('gelatin_solution') * 1000) + .outputs(metaitem('dustGelatin')) + .fluidOutputs(fluid('wastewater') * 1000) + .duration(160) + .EUt(8) + .buildAndRegister() + // Force GTFO skewers to be made with only long rods // Skewer * 16 mods.gregtech.lathe.removeByInput(200, [metaitem('stickTitanium')], null) diff --git a/groovy/preInit/RegisterMetaItems.groovy b/groovy/preInit/RegisterMetaItems.groovy index f5644f21f..c62ea396f 100644 --- a/groovy/preInit/RegisterMetaItems.groovy +++ b/groovy/preInit/RegisterMetaItems.groovy @@ -214,17 +214,25 @@ eventManager.listen { customMetaItems.addItem(4101, "vacuum_tube_components"); //Circuit Stuff 5000-6000 - - customMetaItems.addItem(5000, "mask.ic"); - customMetaItems.addItem(5001, "mask.cpu"); - customMetaItems.addItem(5002, "mask.ram"); - customMetaItems.addItem(5003, "mask.pcb"); - customMetaItems.addItem(5004, "mask.ulpic"); - customMetaItems.addItem(5005, "mask.lpic"); - customMetaItems.addItem(5006, "mask.nand"); - customMetaItems.addItem(5007, "mask.nor"); - customMetaItems.addItem(5008, "mask.advanced"); - + //Photomasks 5000-5099 + customMetaItems.addItem(5000, "rubylith") + customMetaItems.addItem(5001, "rubylith_film") + customMetaItems.addItem(5002, "stencil.ic") + customMetaItems.addItem(5003, "stencil.cpu") + customMetaItems.addItem(5004, "stencil.ram") + customMetaItems.addItem(5005, "stencil.pcb") + customMetaItems.addItem(5006, "stencil.ulpic") + customMetaItems.addItem(5007, "stencil.lpic") + customMetaItems.addItem(5020, "mask.blank") + customMetaItems.addItem(5021, "mask.ic"); + customMetaItems.addItem(5022, "mask.cpu"); + customMetaItems.addItem(5023, "mask.ram"); + customMetaItems.addItem(5024, "mask.pcb"); + customMetaItems.addItem(5025, "mask.ulpic"); + customMetaItems.addItem(5026, "mask.lpic"); + customMetaItems.addItem(5027, "mask.nand"); + customMetaItems.addItem(5028, "mask.nor"); + customMetaItems.addItem(5029, "mask.advanced"); customMetaItems.addItem(5100, "patterned.ic"); customMetaItems.addItem(5101, "patterned.cpu"); customMetaItems.addItem(5102, "patterned.ram"); @@ -237,9 +245,7 @@ eventManager.listen { customMetaItems.addItem(5109, "patterned.nor"); customMetaItems.addItem(5150, "patterned.board.phenolic"); customMetaItems.addItem(5151, "patterned.board.plastic"); - customMetaItems.addItem(5200, "laminated.board.phenolic"); - customMetaItems.addItem(5300, "etched.ic"); customMetaItems.addItem(5301, "etched.cpu"); customMetaItems.addItem(5302, "etched.ram"); diff --git a/resources/gregtech/models/item/metaitems/mask.blank.json b/resources/gregtech/models/item/metaitems/mask.blank.json new file mode 100644 index 000000000..62f411125 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/mask.blank.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/mask.blank" + } +} diff --git a/resources/gregtech/models/item/metaitems/rubylith.json b/resources/gregtech/models/item/metaitems/rubylith.json new file mode 100644 index 000000000..e3f8130d2 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/rubylith.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/rubylith" + } + } \ No newline at end of file diff --git a/resources/gregtech/models/item/metaitems/rubylith_film.json b/resources/gregtech/models/item/metaitems/rubylith_film.json new file mode 100644 index 000000000..8079b4130 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/rubylith_film.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/rubylith_film" + } + } \ No newline at end of file diff --git a/resources/gregtech/models/item/metaitems/stencil.cpu.json b/resources/gregtech/models/item/metaitems/stencil.cpu.json new file mode 100644 index 000000000..98834d3f9 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/stencil.cpu.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/stencil.cpu" + } +} diff --git a/resources/gregtech/models/item/metaitems/stencil.ic.json b/resources/gregtech/models/item/metaitems/stencil.ic.json new file mode 100644 index 000000000..5f97f2e8d --- /dev/null +++ b/resources/gregtech/models/item/metaitems/stencil.ic.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/stencil.ic" + } +} diff --git a/resources/gregtech/models/item/metaitems/stencil.lpic.json b/resources/gregtech/models/item/metaitems/stencil.lpic.json new file mode 100644 index 000000000..22cfcd073 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/stencil.lpic.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/stencil.lpic" + } + } \ No newline at end of file diff --git a/resources/gregtech/models/item/metaitems/stencil.pcb.json b/resources/gregtech/models/item/metaitems/stencil.pcb.json new file mode 100644 index 000000000..b01e2a92b --- /dev/null +++ b/resources/gregtech/models/item/metaitems/stencil.pcb.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/stencil.pcb" + } +} diff --git a/resources/gregtech/models/item/metaitems/stencil.ram.json b/resources/gregtech/models/item/metaitems/stencil.ram.json new file mode 100644 index 000000000..7e4f7887f --- /dev/null +++ b/resources/gregtech/models/item/metaitems/stencil.ram.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/stencil.ram" + } +} diff --git a/resources/gregtech/models/item/metaitems/stencil.ulpic.json b/resources/gregtech/models/item/metaitems/stencil.ulpic.json new file mode 100644 index 000000000..2c98977ea --- /dev/null +++ b/resources/gregtech/models/item/metaitems/stencil.ulpic.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/stencil.ulpic" + } +} diff --git a/resources/gregtech/textures/items/metaitems/mask.png b/resources/gregtech/textures/items/metaitems/mask.blank.png similarity index 100% rename from resources/gregtech/textures/items/metaitems/mask.png rename to resources/gregtech/textures/items/metaitems/mask.blank.png diff --git a/resources/gregtech/textures/items/metaitems/rubylith.png b/resources/gregtech/textures/items/metaitems/rubylith.png new file mode 100644 index 0000000000000000000000000000000000000000..fc2e79f7c818c1ea5d37cd680a5b1f289c15bd2e GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!dVo)eE09)JR#s3@kdTlN5)#_# z;&Li9^iV*+DhG#!CMMI3jTf1l%gf9EduX=^sFb%P$S;`TKN8Soaa;?O2=H`q45^sY zd(K<*T4z=O26;tuQY9&^zH0BPGN?9?Hy}Pg2dJ-g_d~gAG-ANKtSe^Q_Igz%aORa z{ew@Yn%(!>x9&ykCss4w`TP9k4c70vOd+eA&fWzYEnDImQ4*Y=R#Ki=l*-_cQ<|4p ikeHcQqF<1guA7{nlA8S0SyB$DkipZ{&t;ucLK6VA4_>VR literal 0 HcmV?d00001 diff --git a/resources/gregtech/textures/items/metaitems/stencil.cpu.png b/resources/gregtech/textures/items/metaitems/stencil.cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..afcffd229399864b32d5db71e9c932febd8cf606 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyJOMr-u0VRewDdJ6Cm@+NOa&XceY#fdBvi literal 0 HcmV?d00001 diff --git a/resources/gregtech/textures/items/metaitems/stencil.ic.png b/resources/gregtech/textures/items/metaitems/stencil.ic.png new file mode 100644 index 0000000000000000000000000000000000000000..c1224f331b99ef539d8d60014945a6c5fcc5a737 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy5&=FTu0VRewDdJ6r=^ybH++16 z>>J+R*S);9F>Q_p%5jtg`2{m9x_|Wb-Pf;I8*5kr#acXF978JRoV^su*Py_|5}=W~ zOjx!N&f$otlag8Vm&QB{TPb^AhaL6gmODsst%q!6^ c$V=Bv&QD2A{^~3#2UN)5>FVdQ&MBb@04Z5#_5c6? literal 0 HcmV?d00001 diff --git a/resources/gregtech/textures/items/metaitems/stencil.lpic.png b/resources/gregtech/textures/items/metaitems/stencil.lpic.png new file mode 100644 index 0000000000000000000000000000000000000000..fc3d3526e70fe42e919cb391f1e2744ed8ca7820 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy`~f~8u0VRewDdJ6Cm^}h(o*lZ z&_bXPYe|q_FvFtzcaPS%Xv6~rN<3X0Ln`K+z4ValfC2~0gDdy`&lH~-bh&$D!kd4; z&MHT0+H-xK!Ca_%v+Amw; z8c`CQpH@M;f4-Zdzf%<`5bNpU7*a9k?4^rb2NXD1FI@Tk|9%W_QdHlpLpN$a z9A(xFJJs(LUeplXA@@*GqVNXWmu(!c54~qRuxm-<=H|JIOz(93ZFKc$6r!+6IATcwqM86;}T{k&DB{li0v!onQA%mx@pUXO@geCx-W;)IQ literal 0 HcmV?d00001 diff --git a/resources/gregtech/textures/items/metaitems/stencil.ram.png b/resources/gregtech/textures/items/metaitems/stencil.ram.png new file mode 100644 index 0000000000000000000000000000000000000000..118c9ea999108abe0b148f9a9c4f538c4eb55d10 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyJOMr-u0VRewDdJ6Cm@+N6Msn1(mJ_H7Q zYV=^#StwK>yp8eijETGpPVg<7(OxLo1^;{t{$3=!*|YJDi>Ix*qhRLcd~Qr&6_vBCZO zADA6xDExos&Eq|c#xacZ)0w&RnBLTdT;B?`PqxH0q9iy!t)x7$D3!q>r!+6IATcwq eM86;}T{k&DB{li0v!onQA%mx@pUXO@geCxrgH?|J literal 0 HcmV?d00001 diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index eacc19be1..b4fa6d3f3 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1770,6 +1770,16 @@ susy.material.terephthalate_mother_liquor=Terephthalate Mother Liquor susy.material.wet_terephthalic_acid=Wet Terephthalic Acid susy.material.wet_isophthalic_acid=Wet Isophthalic Acid susy.material.methyl_para_toluate_mixture=Methyl p-Toluate Mixture +susy.material.trimethylolpropane=Trimethylolpropane +susy.material.acrylic_catalyst=Acrylic Catalyst +susy.material.acrylic_acid=Acrylic Acid +susy.material.trimethylolpropane_triacrylate=Trimethylolpropane Triacrylate +susy.material.benzenediazonium_chloride=Benzenediazonium Chloride +susy.material.acrylic_photoemulsion=Acrylic Photoemulsion +susy.material.crotonaldehyde_mixture=Crotonaldehyde Mixture +susy.material.crotonaldehyde=Crotonaldehyde +susy.material.treated_collagen=Treated Collagen +susy.material.gelatin_solution=Gelatin Solution # Isotopes @@ -1959,6 +1969,7 @@ metaitem.graphite_electrode.name=Graphite Electrode metaitem.rydberg_atom_array.name=Rydberg Atom Array metaitem.malted_grain.name=Malted Grain +metaitem.mask.blank.name=Photolithography Mask (Blank) metaitem.mask.ic.name=Photolithography Mask (IC) metaitem.mask.cpu.name=Photolithography Mask (CPU) metaitem.mask.ram.name=Photolithography Mask (RAM) @@ -2138,6 +2149,15 @@ metaitem.drone.lv.name=Basic Drone metaitem.glass_fibers.name=Glass Fibers metaitem.epoxy_lamina.name=Epoxy Lamina +metaitem.rubylith.name=Rubylith +metaitem.rubylith_film.name=Rubylith Film +metaitem.stencil.ic.name=Integrated Circuit Stencil +metaitem.stencil.cpu.name=CPU Stencil +metaitem.stencil.ram.name=RAM Stencil +metaitem.stencil.pcb.name=PCB Stencil +metaitem.stencil.ulpic.name=ULPIC Stencil +metaitem.stencil.lpic.name=LPIC Stencil + # Multiblocked tile.multiblocked.item_input.name=Small Input Bus From 2fca12418e4cf517b30951c6815556a1a8959434 Mon Sep 17 00:00:00 2001 From: Zalgo239 <67443118+Zalgo239@users.noreply.github.com> Date: Sun, 24 Dec 2023 18:10:05 +0100 Subject: [PATCH 40/50] Update SusyCore to 0.1.11 --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 947464bec..2473decd4 100644 --- a/manifest.json +++ b/manifest.json @@ -427,7 +427,7 @@ }, { "projectID": 846224, - "fileID": 4800385, + "fileID": 4961082, "required": true }, { From db5713ee55471ad6971bddd45771d4b47d544e6f Mon Sep 17 00:00:00 2001 From: a1999-dev <123336769+a1999-dev@users.noreply.github.com> Date: Wed, 27 Dec 2023 20:22:09 -0500 Subject: [PATCH 41/50] Create ChestTranporters.groovy --- groovy/postInit/mod/ChestTranporters.groovy | 1 + 1 file changed, 1 insertion(+) create mode 100644 groovy/postInit/mod/ChestTranporters.groovy diff --git a/groovy/postInit/mod/ChestTranporters.groovy b/groovy/postInit/mod/ChestTranporters.groovy new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/groovy/postInit/mod/ChestTranporters.groovy @@ -0,0 +1 @@ + From 4534b0c4d43737cbe25e5512b2cce8c7386f4b94 Mon Sep 17 00:00:00 2001 From: a1999-dev <123336769+a1999-dev@users.noreply.github.com> Date: Thu, 28 Dec 2023 00:54:26 -0500 Subject: [PATCH 42/50] Update en_us.lang --- resources/langfiles/lang/en_us.lang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index b4fa6d3f3..bbad31ee5 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -112,7 +112,7 @@ susy.material.diluted_methyl_ii_pyrrolidone=Diluted N-Methyl-2-pyrrolidone susy.material.dimethyldichlorosilane_emulsion=Dimethyldichlorosilane Emulsion susy.material.tetrafluoroethylene_emulsion=Tetrafluoroethylene Emulsion susy.material.dichloromethane=Dichloromethane -susy.material.carbon_tetrachloride=Carbon Tetrachloride +susy.material.carbon_tetrachloride=Carbon Tetrachloride susy.material.phthalic_acid_solution=Phthalic Acid Solution susy.material.butanol=Butanol susy.material.saltpeter_solution=Saltpeter Solution @@ -2205,6 +2205,7 @@ recipemap.gravity_separator.name=Gravity Separation item.chisel.chisel_diamond.name=Steel Chisel tooltip.computronics.waila.tape.notapeinserted=No Tape Inserted tooltip.computronics.waila.tape.tapeinserted=Tape Inserted +item.chesttransporter_copper.name=Bronze Chest Transporter # Resin Logs gregtech.block_group_members.extractable_logs_1.name=Birch, Jungle, Oak, and Spruce Log From cd4ea801613a56ae66fdd9aadba9a022649f3ced Mon Sep 17 00:00:00 2001 From: a1999-dev <123336769+a1999-dev@users.noreply.github.com> Date: Thu, 28 Dec 2023 00:55:36 -0500 Subject: [PATCH 43/50] Update ChestTranporters.groovy --- groovy/postInit/mod/ChestTranporters.groovy | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/groovy/postInit/mod/ChestTranporters.groovy b/groovy/postInit/mod/ChestTranporters.groovy index 8b1378917..46744c296 100644 --- a/groovy/postInit/mod/ChestTranporters.groovy +++ b/groovy/postInit/mod/ChestTranporters.groovy @@ -1 +1,34 @@ +def name_removals = [ + 'chesttransporter:tin_transporter', + 'chesttransporter:silver_transporter', + 'chesttransporter:obsidian_transporter', + 'chesttransporter:diamond_transporter' +]; +for (name in name_removals) { + crafting.remove(name) +} + +crafting.replaceShaped('chesttransporter:wooden_transporter', item('chesttransporter:chesttransporter'), [ + [metaitem('rubber_drop'), null, metaitem('rubber_drop')], + [item('minecraft:stick'), item('minecraft:stick') , item('minecraft:stick')], + [null, item('minecraft:stick'), null] +]); + +crafting.replaceShaped('chesttransporter:iron_transporter', item('chesttransporter:chesttransporter_iron'), [ + [ore('plateWroughtIron'), null, ore('plateWroughtIron')], + [ore('screwWroughtIron'), ore('gearSmallIron') , ore('screwWroughtIron')], + [ore('craftingToolScrewdriver'), ore('stickWroughtIron'), ore('craftingToolHardHammer')] +]); + +crafting.replaceShaped('chesttransporter:gold_transporter', item('chesttransporter:chesttransporter_gold'), [ + [metaitem('robot.arm.lv'), null, metaitem('robot.arm.lv')], + [ore('screwSteel'), ore('gearSmallSteel') , ore('screwSteel')], + [ore('craftingToolScrewdriver'), ore('stickGold'), ore('craftingToolHardHammer')] +]); + +crafting.replaceShaped('chesttransporter:copper_transporter', item('chesttransporter:chesttransporter_copper'), [ + [ore('plateBronze'), null, ore('plateBronze')], + [ore('screwBronze'), ore('gearSmallBronze') , ore('screwBronze')], + [ore('craftingToolScrewdriver'), ore('stickBronze'), ore('craftingToolHardHammer')] +]); From 1e91e4071402d2f362b139750f1e1ef4f88b7698 Mon Sep 17 00:00:00 2001 From: HeadOfWC <123336769+HeadOfWC@users.noreply.github.com> Date: Thu, 28 Dec 2023 01:30:40 -0500 Subject: [PATCH 44/50] Update manifest.json to add Chest Transporter --- manifest.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/manifest.json b/manifest.json index 2473decd4..2e793fb97 100644 --- a/manifest.json +++ b/manifest.json @@ -895,6 +895,11 @@ "fileID": 2499252, "required": true } + { + "projectID": 78778, + "fileID": 2524058, + "required": true + } ], "overrides": "overrides" } From c94de363f5150f3e3477bdc3489056bef03ca7f9 Mon Sep 17 00:00:00 2001 From: HeadOfWC <123336769+HeadOfWC@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:35:34 -0500 Subject: [PATCH 45/50] Update ChestTranporters.groovy --- groovy/postInit/mod/ChestTranporters.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/groovy/postInit/mod/ChestTranporters.groovy b/groovy/postInit/mod/ChestTranporters.groovy index 46744c296..9e68f402d 100644 --- a/groovy/postInit/mod/ChestTranporters.groovy +++ b/groovy/postInit/mod/ChestTranporters.groovy @@ -1,6 +1,6 @@ def name_removals = [ 'chesttransporter:tin_transporter', - 'chesttransporter:silver_transporter', + 'chesttransporter:gold_transporter', 'chesttransporter:obsidian_transporter', 'chesttransporter:diamond_transporter' ]; @@ -21,10 +21,10 @@ crafting.replaceShaped('chesttransporter:iron_transporter', item('chesttransport [ore('craftingToolScrewdriver'), ore('stickWroughtIron'), ore('craftingToolHardHammer')] ]); -crafting.replaceShaped('chesttransporter:gold_transporter', item('chesttransporter:chesttransporter_gold'), [ +crafting.replaceShaped('chesttransporter:silver_transporter', item('chesttransporter:chesttransporter_sillver'), [ [metaitem('robot.arm.lv'), null, metaitem('robot.arm.lv')], [ore('screwSteel'), ore('gearSmallSteel') , ore('screwSteel')], - [ore('craftingToolScrewdriver'), ore('stickGold'), ore('craftingToolHardHammer')] + [ore('craftingToolScrewdriver'), ore('stickSilver'), ore('craftingToolHardHammer')] ]); crafting.replaceShaped('chesttransporter:copper_transporter', item('chesttransporter:chesttransporter_copper'), [ From 5e22a4bc4962e13fe64b1d4792f8da510aff1061 Mon Sep 17 00:00:00 2001 From: HeadOfWC <123336769+HeadOfWC@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:46:03 -0500 Subject: [PATCH 46/50] Update ChestTranporters.groovy --- groovy/postInit/mod/ChestTranporters.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/groovy/postInit/mod/ChestTranporters.groovy b/groovy/postInit/mod/ChestTranporters.groovy index 9e68f402d..450c1400f 100644 --- a/groovy/postInit/mod/ChestTranporters.groovy +++ b/groovy/postInit/mod/ChestTranporters.groovy @@ -21,7 +21,7 @@ crafting.replaceShaped('chesttransporter:iron_transporter', item('chesttransport [ore('craftingToolScrewdriver'), ore('stickWroughtIron'), ore('craftingToolHardHammer')] ]); -crafting.replaceShaped('chesttransporter:silver_transporter', item('chesttransporter:chesttransporter_sillver'), [ +crafting.replaceShaped('chesttransporter:silver_transporter', item('chesttransporter:chesttransporter_silver'), [ [metaitem('robot.arm.lv'), null, metaitem('robot.arm.lv')], [ore('screwSteel'), ore('gearSmallSteel') , ore('screwSteel')], [ore('craftingToolScrewdriver'), ore('stickSilver'), ore('craftingToolHardHammer')] From 4818e7362a1dc8b27c1a1371a482dc506101abb5 Mon Sep 17 00:00:00 2001 From: HeadOfWC <123336769+HeadOfWC@users.noreply.github.com> Date: Thu, 28 Dec 2023 18:14:29 -0500 Subject: [PATCH 47/50] Update ChestTranporters.groovy --- groovy/postInit/mod/ChestTranporters.groovy | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/groovy/postInit/mod/ChestTranporters.groovy b/groovy/postInit/mod/ChestTranporters.groovy index 450c1400f..7f407b2c3 100644 --- a/groovy/postInit/mod/ChestTranporters.groovy +++ b/groovy/postInit/mod/ChestTranporters.groovy @@ -32,3 +32,19 @@ crafting.replaceShaped('chesttransporter:copper_transporter', item('chesttranspo [ore('screwBronze'), ore('gearSmallBronze') , ore('screwBronze')], [ore('craftingToolScrewdriver'), ore('stickBronze'), ore('craftingToolHardHammer')] ]); + +recipemap('assembler').recipeBuilder() + .inputs(item('minecraft:stick') * 4) + .fluidInputs(fluid('glue') * 20) + .outputs(item('chesttransporter:chesttransporter')) + .duration(400) + .EUt(16) + .buildAndRegister() + +recipemap('assembler').recipeBuilder() + .inputs(item('minecraft:stick') * 4) + .fluidInputs(fluid('resin') * 100) + .outputs(item('chesttransporter:chesttransporter')) + .duration(800) + .EUt(16) + .buildAndRegister() From b719003741053a77047fab7d8a924efb59d16397 Mon Sep 17 00:00:00 2001 From: trainvoi Date: Fri, 29 Dec 2023 12:45:40 -0500 Subject: [PATCH 48/50] Update ChemistryOverhaul.groovy (#664) --- groovy/postInit/chemistry/ChemistryOverhaul.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 7c4f8addd..821be2f46 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -3424,7 +3424,7 @@ BR.recipeBuilder() .inputs(ore('dustSodiumHydroxide') * 3) .fluidInputs(fluid('methanol') * 1000) .fluidOutputs(fluid('tetramethylammonium_hydroxide_solution') * 1000) - .outputs(metaitem('dustRockSalt') * 2) + .outputs(metaitem('dustSalt') * 2) .duration(300) .EUt(30) .buildAndRegister() From 34bb90bfa2938c4851c589c86510eea6fc812498 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Mon, 1 Jan 2024 00:49:30 -0600 Subject: [PATCH 49/50] hide useless transporters + add cfg --- config/chesttransporter.cfg | 44 ++++++++++++++++++++++++++++++++++++ config/jei/itemBlacklist.cfg | 4 ++++ 2 files changed, 48 insertions(+) create mode 100644 config/chesttransporter.cfg diff --git a/config/chesttransporter.cfg b/config/chesttransporter.cfg new file mode 100644 index 000000000..8c0c3b85d --- /dev/null +++ b/config/chesttransporter.cfg @@ -0,0 +1,44 @@ +# Configuration file + +general { + # Set to false to disable the hunger debuff [default: true] + B:debuffHunger=true + + # Set to false to disable the jump debuff [default: true] + B:debuffJump=true + + # Set to false to disable the mining fatigue debuff [default: true] + B:debuffMiningFatigue=true + + # Set to false to disable the slowness debuff [default: true] + B:debuffSlowness=true + + # Set this to false to prevent picking up of mob spawners [default: true] + B:pickupSpawners=true + + # Set this to false to prevent the copper transporter to pick up mob spawners [default: true] + B:spawnerWithCopper=true + + # Set this to false to prevent the diamond transporter to pick up mob spawners [default: true] + B:spawnerWithDiamond=true + + # Set this to false to prevent the gold transporter to pick up mob spawners [default: true] + B:spawnerWithGold=true + + # Set this to false to prevent the iron transporter to pick up mob spawners [default: true] + B:spawnerWithIron=true + + # Set this to false to prevent the obsidian transporter to pick up mob spawners [default: true] + B:spawnerWithObsidian=true + + # Set this to false to prevent the silver transporter to pick up mob spawners [default: true] + B:spawnerWithSilver=true + + # Set this to false to prevent the tin transporter to pick up mob spawners [default: true] + B:spawnerWithTin=true + + # Set this to false to prevent the wood transporter to pick up mob spawners [default: true] + B:spawnerWithWood=true +} + + diff --git a/config/jei/itemBlacklist.cfg b/config/jei/itemBlacklist.cfg index 4b00cd477..6f5d4f503 100644 --- a/config/jei/itemBlacklist.cfg +++ b/config/jei/itemBlacklist.cfg @@ -90,6 +90,7 @@ advanced { enchantment:enchantment.protect.explosion.lvl2 enchantment:enchantment.protect.explosion.lvl1 rftools:powercell_advanced + chesttransporter:chesttransporter_gold gaspunk:grenade:{"gaspunk:contained_gas":"gaspunk:colored_smoke_yellow"} rftools:pearl_injector enchantment:enchantment.protect.explosion.lvl4 @@ -174,6 +175,8 @@ advanced { enchantment:enchantment.protect.fire.lvl1 rftools:machine_frame gaspunk:grenade:{"gaspunk:contained_gas":"gaspunk:colored_smoke_gray"} + chesttransporter:chesttransporter_obsidian + chesttransporter:chesttransporter_tin rftools:space_chamber_card gaspunk:grenade:{"gaspunk:contained_gas":"gaspunk:colored_smoke_magenta",grenade_skin:0} gaspunk:grenade:{"gaspunk:contained_gas":"gaspunk:vx",grenade_skin:0} @@ -188,6 +191,7 @@ advanced { enchantment:enchantment.sweeping.lvl1 minecraft:lingering_potion rftools:remote_storage + chesttransporter:chesttransporter_diamond gaspunk:grenade:{"gaspunk:contained_gas":"gaspunk:colored_smoke_white",grenade_skin:0} gaspunk:grenade:{"gaspunk:contained_gas":"gaspunk:colored_smoke_black"} rftools:fluid_module From 779e535cce1d07eefbca43a65b5e7ca7b59e1165 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Mon, 1 Jan 2024 13:33:33 -0600 Subject: [PATCH 50/50] fix manifest --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index d6c9a4478..c181330f6 100644 --- a/manifest.json +++ b/manifest.json @@ -895,8 +895,8 @@ "projectID": 241140, "fileID": 2499252, "required": true - } - { + }, + { "projectID": 78778, "fileID": 2524058, "required": true