Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/stuffadditions' into stuffadditions
Browse files Browse the repository at this point in the history
  • Loading branch information
WideMann committed Nov 28, 2024
2 parents cde6273 + eff085b commit a8d6e40
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 27 deletions.
12 changes: 6 additions & 6 deletions groovy/globals/RecyclingHelper.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -71,23 +71,23 @@ class RecyclingHelper {

static final void handleRecycling(ItemStack output, List<?> inputs) {
RecyclingRecipes.registerRecyclingRecipes(output.withAmount(1),
getRecyclingIngredients(output.getAmount(), inputs.flatten()).getMaterials(),
false, /*OreDictUnifier.getPrefix(output)*/ null) // See the comment at the top of this class
getRecyclingIngredients(output.getAmount(), inputs.flatten()),
false, OreDictUnifier.getPrefix(output)) // See the comment at the top of this class
}

private static final ItemMaterialInfo getRecyclingIngredients(int outputCount, List<IIngredient> inputs) {
private static final List<MaterialStack> getRecyclingIngredients(int outputCount, List<IIngredient> inputs) {

Object2LongMap<Material> materialStacksExploded = new Object2LongOpenHashMap<>();

for (IIngredient input : inputs) {
if (input == null || input.isEmpty()) continue
addItemStackToMaterialStacks(input.getMatchingStacks()[0], materialStacksExploded, input.getAmount())
addItemStackToMaterialStacks(input.withAmount(1).getMatchingStacks()[0], materialStacksExploded, input.getAmount())
}

return new ItemMaterialInfo(materialStacksExploded.entrySet().stream()
return materialStacksExploded.entrySet().stream()
.map(e -> new MaterialStack(e.getKey(), e.getValue().intdiv(outputCount)))
.sorted(Comparator.comparingLong(m -> -m.amount))
.collect(Collectors.toList()));
.collect(Collectors.toList());
}

private static final void addItemStackToMaterialStacks(ItemStack itemStack, Object2LongMap<Material> materialStacksExploded, int inputCount) {
Expand Down
17 changes: 9 additions & 8 deletions groovy/material/FirstDegreeMaterials.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -1031,10 +1031,11 @@ public class FirstDegreeMaterials {

SulfidicSilverCyanideSolution = new Material.Builder(8247, SuSyUtility.susyId('sulfidic_silver_cyanide_solution'))
.liquid()
.components(Silver * 2, Carbon * 4, Nitrogen * 4, Sodium * 4, Sulfur, Water * 4)
.components(Silver * 2, Carbon * 4, Nitrogen * 4, Sodium * 4, Sulfur, Water * 8)
.flags(DISABLE_DECOMPOSITION)
.colorAverage()
.build()
.setFormula("(Na[Ag(CN)2])2(Na2S)(H2O)8", true)

SilverCyanideSolution = new Material.Builder(8248, SuSyUtility.susyId('silver_cyanide_solution'))
.liquid()
Expand All @@ -1046,19 +1047,19 @@ public class FirstDegreeMaterials {

SulfidicPyrargyriteCyanideLeachSolution = new Material.Builder(8249, SuSyUtility.susyId('sulfidic_pyrargyrite_cyanide_leach_solution'))
.liquid()
.components(Sodium * 6, Silver * 3, Carbon * 6, Nitrogen * 6, Antimony, Sulfur * 3, Water * 6)
.components(Sodium * 6, Silver * 3, Carbon * 6, Nitrogen * 6, Antimony, Sulfur * 3, Water * 12)
.flags(DISABLE_DECOMPOSITION)
.colorAverage()
.build()
.setFormula("(Na[Ag(CN)2])3(Na3SbS3)(H2O)6", true)
.setFormula("(Na[Ag(CN)2])3(Na3SbS3)(H2O)12", true)

PyrargyriteCyanideLeachSolution = new Material.Builder(8250, SuSyUtility.susyId('pyrargyrite_cyanide_leach_solution'))
.liquid()
.components(Sodium * 6, Silver * 3, Carbon * 6, Nitrogen * 6, Chlorine * 3, Water * 12)
.flags(DISABLE_DECOMPOSITION)
.colorAverage()
.build()
.setFormula("(Na[Ag(CN)2])3(NaCl)2(NaSbCl4)(H2O)6", true)
.setFormula("(Na[Ag(CN)2])3(NaCl)3(H2O)12", true)

PyrargyriteThiosulfateLeachSolution = new Material.Builder(8251, SuSyUtility.susyId('pyrargyrite_thiosulfate_leach_solution'))
.liquid()
Expand All @@ -1084,19 +1085,19 @@ public class FirstDegreeMaterials {

SulfidicStephaniteCyanideLeachSolution = new Material.Builder(8254, SuSyUtility.susyId('sulfidic_stephanite_cyanide_leach_solution'))
.liquid()
.components(Sodium * 10, Silver * 5, Carbon * 10, Nitrogen * 10, Antimony, Sulfur * 4, Water * 12)
.components(Sodium * 10, Silver * 5, Carbon * 10, Nitrogen * 10, Antimony, Sulfur * 4, Water * 10)
.flags(DISABLE_DECOMPOSITION)
.colorAverage()
.build()
.setFormula("(Na[Ag(CN)2])5(Na3SbS3)(Na2S)(H2O)12", true)
.setFormula("(Na[Ag(CN)2])5(Na3SbS3)(Na2S)(H2O)20", true)

StephaniteCyanideLeachSolution = new Material.Builder(8255, SuSyUtility.susyId('stephanite_cyanide_leach_solution'))
.liquid()
.components(Sodium * 10, Silver * 5, Carbon * 10, Nitrogen * 10, Chlorine * 5, Water * 20)
.components(Sodium * 10, Silver * 5, Carbon * 10, Nitrogen * 10, Chlorine * 5, Water * 10)
.flags(DISABLE_DECOMPOSITION)
.colorAverage()
.build()
.setFormula("(Na[Ag(CN)2])5(NaCl)2(NaSbCl6)(H2O)20", true)
.setFormula("(Na[Ag(CN)2])5(NaCl)3(H2O)20", true)

ProustiteThiosulfateLeachSolution = new Material.Builder(8256, SuSyUtility.susyId('proustite_thiosulfate_leach_solution'))
.liquid()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ ELECTROLYTIC_CELL.recipeBuilder()
.notConsumable(metaitem('stickSilver'))
.notConsumable(metaitem('graphite_electrode'))
.outputs(metaitem('dustSilver') * 2)
.fluidOutputs(fluid('chlorine') * 2000)
.fluidOutputs(fluid('chlorine') * 4000)
.fluidOutputs(fluid('sodium_cyanide_solution') * 8000)
.duration(480)
.EUt(Globals.voltAmps[2])
Expand All @@ -93,7 +93,7 @@ BATCH_REACTOR.recipeBuilder()
.inputs(ore('dustPyrargyrite'))
.inputs(ore('dustSodiumCyanide') * 18)
.fluidInputs(fluid('distilled_water') * 12000)
.fluidOutputs(fluid('sulfidic_pyrargyrite_cyanide_leach_solution') * 12000)
.fluidOutputs(fluid('sulfidic_pyrargyrite_cyanide_leach_solution') * 12000) //missing 90% ratio?
.duration(120)
.EUt(Globals.voltAmps[2])
.buildAndRegister()
Expand All @@ -113,14 +113,15 @@ ELECTROLYTIC_CELL.recipeBuilder()
.notConsumable(metaitem('stickSilver'))
.notConsumable(metaitem('graphite_electrode'))
.outputs(metaitem('dustSilver') * 3)
.fluidOutputs(fluid('chlorine') * 6000)
.fluidOutputs(fluid('chlorine') * 3000)
.fluidOutputs(fluid('sodium_cyanide_solution') * 12000)
.duration(480)
.EUt(Globals.voltAmps[2])
.buildAndRegister()

//STEPHANITE (100%)
BATCH_REACTOR.recipeBuilder()
.circuitMeta(1)
.inputs(ore('dustStephanite'))
.inputs(ore('dustSodiumCyanide') * 15)
.fluidInputs(fluid('distilled_water') * 10000)
Expand All @@ -130,6 +131,16 @@ BATCH_REACTOR.recipeBuilder()
.EUt(Globals.voltAmps[2])
.buildAndRegister()

BATCH_REACTOR.recipeBuilder()
.circuitMeta(2)
.inputs(ore('dustStephanite'))
.inputs(ore('dustSodiumCyanide') * 30)
.fluidInputs(fluid('distilled_water') * 20000)
.fluidOutputs(fluid('sulfidic_stephanite_cyanide_leach_solution') * 20000)
.duration(480)
.EUt(Globals.voltAmps[2])
.buildAndRegister()

BATCH_REACTOR.recipeBuilder()
.fluidInputs(fluid('sulfidic_stephanite_cyanide_leach_solution') * 10000)
.fluidInputs(fluid('hydrogen_chloride') * 2500)
Expand All @@ -145,7 +156,7 @@ ELECTROLYTIC_CELL.recipeBuilder()
.notConsumable(metaitem('stickSilver'))
.notConsumable(metaitem('graphite_electrode'))
.outputs(metaitem('dustSilver') * 5)
.fluidOutputs(fluid('chlorine') * 5000)
.fluidOutputs(fluid('chlorine') * 2500)
.fluidOutputs(fluid('sodium_cyanide_solution') * 20000)
.duration(480)
.EUt(Globals.voltAmps[2])
Expand All @@ -157,24 +168,25 @@ BATCH_REACTOR.recipeBuilder()
.inputs(ore('dustPyrargyrite') * 1)
.inputs(ore('dustSodiumThiosulfate') * 42)
.fluidInputs(fluid('distilled_water') * 5000)
.fluidOutputs(fluid('pyrargyrite_thiosulfate_leach_solution') * 1000)
.fluidOutputs(fluid('pyrargyrite_thiosulfate_leach_solution') * 5000)
.duration(120)
.EUt(Globals.voltAmps[2])
.buildAndRegister()

BATCH_REACTOR.recipeBuilder()
.inputs(ore('dustSodiumSulfide') * 9)
.fluidInputs(fluid('pyrargyrite_thiosulfate_leach_solution') * 2000)
.fluidInputs(fluid('pyrargyrite_thiosulfate_leach_solution') * 5000)
.outputs(metaitem('dustSilverSulfide') * 9)
.fluidOutputs(fluid('thiosulfate_thioantimonite_solution') * 2000)
.fluidOutputs(fluid('thiosulfate_thioantimonite_solution') * 5000)
.duration(120)
.EUt(Globals.voltAmps[2])
.buildAndRegister()

BATCH_REACTOR.recipeBuilder()
.fluidInputs(fluid('thiosulfate_thioantimonite_solution') * 1000)
.fluidInputs(fluid('thiosulfate_thioantimonite_solution') * 5000)
.fluidInputs(fluid('iron_iii_chloride_solution') * 1000)
.outputs(metaitem('dustIronThioantimonite') * 5)
.outputs(metaitem('dustSalt') * 3) //this should be dissolved in the sodium thiosulfate solution.
.fluidOutputs(fluid('sodium_thiosulfate_solution') * 6000)
.duration(120)
.EUt(Globals.voltAmps[2])
Expand Down Expand Up @@ -203,24 +215,25 @@ BATCH_REACTOR.recipeBuilder()
.inputs(ore('dustProustite') * 1)
.inputs(ore('dustSodiumThiosulfate') * 42)
.fluidInputs(fluid('distilled_water') * 5000)
.fluidOutputs(fluid('proustite_thiosulfate_leach_solution') * 1000)
.fluidOutputs(fluid('proustite_thiosulfate_leach_solution') * 5000)
.duration(120)
.EUt(Globals.voltAmps[2])
.buildAndRegister()

BATCH_REACTOR.recipeBuilder()
.inputs(ore('dustSodiumSulfide') * 9)
.fluidInputs(fluid('proustite_thiosulfate_leach_solution') * 2000)
.fluidInputs(fluid('proustite_thiosulfate_leach_solution') * 5000)
.outputs(metaitem('dustSilverSulfide') * 9)
.fluidOutputs(fluid('thiosulfate_thioarsenite_solution') * 2000)
.fluidOutputs(fluid('thiosulfate_thioarsenite_solution') * 5000)
.duration(120)
.EUt(Globals.voltAmps[2])
.buildAndRegister()

BATCH_REACTOR.recipeBuilder()
.fluidInputs(fluid('thiosulfate_thioarsenite_solution') * 1000)
.fluidInputs(fluid('thiosulfate_thioarsenite_solution') * 5000)
.fluidInputs(fluid('iron_iii_chloride_solution') * 1000)
.outputs(metaitem('dustIronThioarsenite') * 5)
.outputs(metaitem('dustSalt') * 3) //this should be dissolved in the sodium thiosulfate solution.
.fluidOutputs(fluid('sodium_thiosulfate_solution') * 6000)
.duration(120)
.EUt(Globals.voltAmps[2])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,8 @@ BATCH_REACTOR.recipeBuilder()
.inputs(ore('dustProustite') * 1)
.inputs(ore('dustSalt') * 6)
.fluidInputs(fluid('sodium_hydroxide_solution') * 1000)
.fluidInputs(fluid('distilled_water') * 5000)
.fluidInputs(fluid('distilled_water') * 5000)
//where does the distilled water go in the fluid output?
.outputs(metaitem('dustSilverChloride') * 6) //TO SILVER PROCESSING
.fluidOutputs(fluid('proustite_alkaline_leach_solution') * 1000)
.duration(240)
Expand Down

0 comments on commit a8d6e40

Please sign in to comment.