v3ect0rgames 39b9efaa30
Add Recycling Recipes for GT Parts and Hatches (#797)
Adds recycling recipes for some GT parts and hatches.

Fixes #780.

/* Github Stuff */

[FEATURE]
[DETAILS]
details = [
"**Adds Recycling Recipes For:**",
"LuV+ Parts",
"LuV+ Energy Hatches",
"4A and 16A Energy Hatches",
"Adjustable Transformers",
"Substation Hatches",
"Laser Hatches",
"Misc Batteries",
]
[DETAILS]

[FIXUP]
sha = "226cd449fe4844b2b2c84cebdd6bfaf3cec9a313"
newBody = '''
[EXPAND]
[[messages]]
messageTitle = "Port Tooltips to Groovy (#796)"
messageBody = """
[FEATURE]
[DETAILS]
detail = \"Tooltips are now Localisable!\"
[DETAILS]
"""

[[messages]]
messageTitle = "Fix Fluids in JEI (#796)"
messageBody = """
[BUG]
[DETAILS]
details = [
  \"Fixes Some Fluids being Items in JEI\",
  \"Adds Information about Temperature to all Fluids\",
]
[DETAILS]
"""
[EXPAND]
'''
[FIXUP]



Co-authored-by: Integer Limit <103940576+IntegerLimit@users.noreply.github.com>
2024-07-14 20:16:17 +10:00

108 lines
5.9 KiB
Groovy

import com.nomiceu.nomilabs.util.LabsModeHelper
import gregtech.api.recipes.ingredients.nbtmatch.NBTCondition
import gregtech.api.recipes.ingredients.nbtmatch.NBTMatcher
import gregtech.api.recipes.ingredients.nbtmatch.NBTTagType
import static com.nomiceu.nomilabs.groovy.GroovyHelpers.RecyclingHelpers.*
import static gregtech.api.recipes.RecipeMaps.*
/* Adds Recycling Recipes to some GT Items */
// 4x and 9x Fluid Hatches
// Only add these in Hard Mode, in Normal Mode, these are added in Mode-Specific/Normal-Mode/buses.groovy
if (LabsModeHelper.expert) {
changeStackRecycling(metaitem('fluid_hatch.import_4x'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.import_4x.iv'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.import_9x'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.import_9x.iv'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.export_4x'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.export_4x.iv'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.export_9x'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('fluid_hatch.export_9x.iv'), ASSEMBLER_RECIPES)
}
// LuV, ZPM and UV Parts
var addRecyclingToParts = { String tier ->
changeStackRecycling(metaitem("electric.motor.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("electric.pump.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("conveyor.module.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("electric.piston.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("robot.arm.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("field.generator.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("emitter.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("sensor.${tier}"), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("fluid.regulator.${tier}"), ASSEMBLER_RECIPES)
}
addRecyclingToParts('luv')
addRecyclingToParts('zpm')
addRecyclingToParts('uv')
// EV, IV, LuV, ZPM, UV and UHV Misc Energy Hatches
var addRecyclingToHatches = { String tier ->
changeStackRecycling(metaitem("energy_hatch.input_4a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("energy_hatch.output_4a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("energy_hatch.input_16a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("energy_hatch.output_16a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("transformer.adjustable.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("substation_hatch.input_64a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("substation_hatch.output_64a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("laser_hatch.target_256a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("laser_hatch.source_256a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("laser_hatch.target_1024a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("laser_hatch.source_1024a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("laser_hatch.target_4096a.${tier}"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("laser_hatch.source_4096a.${tier}"), ASSEMBLER_RECIPES)
}
// EV Hatches (Just 4A Hatches + Adjustable Transformer)
changeStackRecycling(metaitem('energy_hatch.input_4a.ev'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('energy_hatch.output_4a.ev'), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem('transformer.adjustable.ev'), ASSEMBLER_RECIPES)
addRecyclingToHatches('iv')
// LuV+: Energy Hatch (2a) Needs Recycling Added
changeStackRecycling(metaitem('energy_hatch.input.luv'), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem('energy_hatch.output.luv'), ASSEMBLY_LINE_RECIPES)
addRecyclingToHatches('luv')
changeStackRecycling(metaitem('energy_hatch.input.zpm'), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem('energy_hatch.output.zpm'), ASSEMBLY_LINE_RECIPES)
addRecyclingToHatches('zpm')
changeStackRecycling(metaitem('energy_hatch.input.uv'), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem('energy_hatch.output.uv'), ASSEMBLY_LINE_RECIPES)
addRecyclingToHatches('uv')
// UHV: Just Energy Input & Output (2a, 4a, 16a), Substation Hatch
changeStackRecycling(metaitem('energy_hatch.input.uhv'), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem('energy_hatch.output.uhv'), ASSEMBLY_LINE_RECIPES)
changeStackRecycling(metaitem("energy_hatch.input_4a.uhv"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("energy_hatch.output_4a.uhv"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("energy_hatch.input_16a.uhv"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("energy_hatch.output_16a.uhv"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("substation_hatch.input_64a.uhv"), ASSEMBLER_RECIPES)
changeStackRecycling(metaitem("substation_hatch.output_64a.uhv"), ASSEMBLER_RECIPES)
// Batteries
NBTCondition charge = NBTCondition.create(NBTTagType.LONG, 'Charge', 0L)
changeStackRecyclingNBT(metaitem('battery.re.ulv.tantalum'), ASSEMBLER_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('energy_crystal'), AUTOCLAVE_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('lapotron_crystal'), ASSEMBLER_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('energy.lapotronic_orb'), CIRCUIT_ASSEMBLER_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('energy.lapotronic_orb_cluster'), ASSEMBLY_LINE_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('energy.module'), ASSEMBLY_LINE_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('energy.cluster'), ASSEMBLY_LINE_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)
changeStackRecyclingNBT(metaitem('max.battery'), ASSEMBLY_LINE_RECIPES, NBTMatcher.NOT_PRESENT_OR_HAS_KEY, charge)