Shay c284b4a1aa
Mod Updates As Specified In #472 (#712)
[EXPAND]
[[messages]]
messageTitle = "Update AE2 Unofficial Extended Life (#712)"
messageBody = '''
[FEATURE]
[QOL]
'''

[[messages]]
messageTitle = "Update Neeve's AE2 Additions (#712)"
messageBody = '''
[FEATURE]

[DETAILS]
details = ["Adds Many QoL Features", "Adds Larger Cells and Crafting Storage"]
[DETAILS]
'''
[EXPAND]

Co-authored-by: Integer Limit <103940576+IntegerLimit@users.noreply.github.com>
Co-authored-by: tracer4b <61507029+tracer4b@users.noreply.github.com>
2024-05-19 16:22:30 +10:00

366 lines
10 KiB
Groovy

package ae2
import com.cleanroommc.groovyscript.helper.ingredient.OreDictIngredient
import net.minecraft.item.ItemStack
import static gregtech.api.GTValues.*
/* Usable Blocks */
// ME Drive
crafting.shapedBuilder()
.output(item('appliedenergistics2:drive'))
.matrix(
'PEP',
'LCL',
'PSP')
.key('P', metaitem('plateAluminium'))
.key('E', metaitem('emitter.mv'))
.key('L', ore('circuitLv'))
.key('C', item('appliedenergistics2:chest'))
.key('S', metaitem('sensor.mv'))
.replace().register()
// ME Inscriber
crafting.shapedBuilder()
.output(item('appliedenergistics2:inscriber'))
.matrix(
'DPD',
'FHD',
'DPD')
.key('D', metaitem('nomilabs:plateDarkSteel'))
.key('P', metaitem('electric.piston.mv'))
.key('F', item('appliedenergistics2:material:7'))
.key('H', metaitem('hull.mv'))
.replace().register()
// Crafting CPU
crafting.shapedBuilder()
.output(item('appliedenergistics2:crafting_unit'))
.matrix(
'PCP',
'FLF',
'PCP')
.key('P', metaitem('plateAluminium'))
.key('C', item('appliedenergistics2:material:23'))
.key('F', item('appliedenergistics2:part:16'))
.key('L', item('appliedenergistics2:material:22'))
.replace().register()
// Molecular Assembler
crafting.shapedBuilder()
.output(item('appliedenergistics2:molecular_assembler'))
.matrix(
'PGP',
'ACF',
'PGP')
.key('P', metaitem('plateAluminium'))
.key('G', item('appliedenergistics2:quartz_glass'))
.key('A', item('appliedenergistics2:material:44'))
.key('C', metaitem('workbench'))
.key('F', item('appliedenergistics2:material:43'))
.replace().register()
// Matter Condensor
crafting.shapedBuilder()
.output(item('appliedenergistics2:condenser'))
.matrix(
'PPP',
'PSP',
'PPP')
.key('P', metaitem('plateTitanium'))
.key('S', metaitem('quantumstar'))
.replace().register()
// Energy Acceptor
crafting.shapedBuilder()
.output(item('appliedenergistics2:energy_acceptor'))
.matrix(
'PFP',
'FHF',
'PFP')
.key('P', metaitem('nomilabs:plateElectricalSteel'))
.key('F', item('moreplates:fluix_plate'))
.key('H', metaitem('hull.lv'))
.replace().register()
// Charger
crafting.shapedBuilder()
.output(item('appliedenergistics2:charger'))
.matrix(
'DCD',
'D ',
'DCD')
.key('D', metaitem('nomilabs:plateDarkSteel'))
.key('C', metaitem('plateCertusQuartz'))
.replace().register()
// ME Chest
crafting.shapedBuilder()
.output(item('appliedenergistics2:chest'))
.matrix(
'GPG',
'CSF',
'DQD')
.key('G', item('appliedenergistics2:quartz_glass'))
.key('P', item('appliedenergistics2:part:180'))
.key('C', item('appliedenergistics2:material:10'))
.key('S', item('actuallyadditions:block_giant_chest'))
.key('F', item('appliedenergistics2:material:12'))
.key('D', ore('blockDarkSteel'))
.key('Q', item('appliedenergistics2:material:11'))
.replace().register()
// Quantum Ring
crafting.shapedBuilder()
.output(item('appliedenergistics2:quantum_ring'))
.matrix(
'PCP',
'EQE',
'PCP')
.key('P', metaitem('plateStainlessSteel'))
.key('C', item('appliedenergistics2:material:23'))
.key('E', item('appliedenergistics2:material:24'))
.key('Q', metaitem('quantumstar'))
.replace().register()
// Interfaces
var makeInterface = { String recipeName, OreDictIngredient plate, ItemStack moving, ItemStack interfaceStack ->
crafting.remove(recipeName)
crafting.shapedBuilder()
.output(interfaceStack)
.matrix(
'PRP',
'AMF',
'PPP')
.key('P', plate)
.key('R', moving)
.key('A', item('appliedenergistics2:material:44'))
.key('M', metaitem('hull.mv'))
.key('F', item('appliedenergistics2:material:43'))
.register()
}
// Interface
makeInterface('appliedenergistics2:network/blocks/interfaces_interface', ore('plateAluminium'), metaitem('robot.arm.mv'), item('appliedenergistics2:interface'))
// Fluid Interface
makeInterface('appliedenergistics2:network/blocks/fluid_interfaces_interface', ore('plateLapis'), metaitem('electric.pump.mv'), item('appliedenergistics2:fluid_interface'))
/* Cables */
// Quartz Fiber
crafting.removeByOutput(item('appliedenergistics2:part:140'))
mods.gregtech.wiremill.recipeBuilder()
.inputs(item('appliedenergistics2:material:11'))
.outputs(item('appliedenergistics2:part:140') * 2)
.duration(100).EUt(VHA[LV])
.buildAndRegister()
// Glass Cable
crafting.removeByOutput(item('appliedenergistics2:part:16'))
mods.gregtech.alloy_smelter.recipeBuilder()
.inputs(ore('dustFluix'), item('appliedenergistics2:part:140'))
.outputs(item('appliedenergistics2:part:16') * 2)
.duration(50).EUt(VHA[LV])
.buildAndRegister()
// Covered Cable
for (var rubber in [fluid('rubber') * 144, fluid('styrene_butadiene_rubber') * 36, fluid('silicone_rubber') * 76]) {
mods.gregtech.assembler.recipeBuilder()
.inputs(item('appliedenergistics2:part:16'))
.fluidInputs(rubber)
.outputs(item('appliedenergistics2:part:36'))
.duration(100).EUt(VA[ULV])
.buildAndRegister()
}
// ME Conduit
crafting.removeByOutput(item('enderio:item_me_conduit'))
mods.gregtech.assembler.recipeBuilder()
.inputs(item('appliedenergistics2:part:36') * 3, item('enderio:item_material:4') * 6)
.outputs(item('enderio:item_me_conduit') * 8)
.duration(100).EUt(VHA[LV])
.buildAndRegister()
/* Block Parts */
/* Planes */
var makePlane = { OreDictIngredient plate, ItemStack core, ItemStack plane ->
crafting.shapedBuilder()
.output(plane)
.matrix(
'FFF',
'PAP')
.key('F', item('moreplates:fluix_plate'))
.key('P', plate)
.key('A', core)
.replace().register()
}
// Formation Plane
makePlane(ore('plateAluminium'), item('appliedenergistics2:material:43'), item('appliedenergistics2:part:320'))
// Annihilation Plane
makePlane(ore('plateAluminium'), item('appliedenergistics2:material:44'), item('appliedenergistics2:part:300'))
// Fluid Formation Plane
makePlane(ore('plateLapis'), item('appliedenergistics2:material:43'), item('appliedenergistics2:part:321'))
// Fluid Annihilation Plane
makePlane(ore('plateLapis'), item('appliedenergistics2:material:44'), item('appliedenergistics2:part:302'))
/* Level Emitters */
var makeEmitter = { OreDictIngredient plate, ItemStack emitter ->
crafting.shapedBuilder()
.output(emitter)
.matrix(
'TP',
'CR')
.key('T', item('minecraft:redstone_torch'))
.key('P', plate)
.key('C', item('appliedenergistics2:material:23'))
.key('R', ore('stickStainlessSteel'))
.replace().register()
}
// Item Emitter
makeEmitter(ore('plateAluminium'), item('appliedenergistics2:part:280'))
// Fluid Emitter
makeEmitter(ore('plateLapis'), item('appliedenergistics2:part:281'))
/* Terminals */
// ME Terminal
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:380'))
.input(ore('itemIlluminatedPanel'))
.input(ore('circuitLv'))
.replace().register()
// Pattern Terminal
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:340'))
.input(item('appliedenergistics2:material:24'))
.input(item('appliedenergistics2:part:380'))
.input(item('appliedenergistics2:material:52'))
.replace().register()
// Fluid Terminal
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:520'))
.input(item('appliedenergistics2:part:380'))
.input(metaitem('plateLapis'))
.input(item('appliedenergistics2:material:22'))
.replace().register()
// Extended Processing Pattern Terminal
crafting.shapedBuilder()
.output(item('appliedenergistics2:part:341'))
.matrix(
'A',
'B',
'C')
.key('A', item('appliedenergistics2:part:340'))
.key('B', ore('circuitEv'))
.key('C', item('packagedauto:encoder'))
.replace().register()
// Configuration Fluid Interface Terminal
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:522'))
.input(item('appliedenergistics2:part:520'))
.input(item('appliedenergistics2:material:24'))
.input(item('appliedenergistics2:fluid_interface').or(item('appliedenergistics2:part:441')))
.replace().register()
/* Buses */
var makeImportBus = { OreDictIngredient plate, ItemStack bus ->
crafting.shapedBuilder()
.output(bus)
.matrix(
' A ',
'PEP')
.key('A', item('appliedenergistics2:material:44'))
.key('P', plate)
.key('E', metaitem('electric.piston.mv'))
.replace().register()
}
var makeExportBus = { OreDictIngredient plate, ItemStack bus ->
crafting.shapedBuilder()
.output(bus)
.matrix(
'PEP',
' A ')
.key('P', plate)
.key('E', item('appliedenergistics2:material:43'))
.key('A', metaitem('electric.piston.mv'))
.replace().register()
}
// Import Bus
makeImportBus(ore('plateAluminium'), item('appliedenergistics2:part:240'))
// Fluid Import Bus
makeImportBus(ore('plateLapis'), item('appliedenergistics2:part:241'))
// Export Bus
makeExportBus(ore('plateAluminium'), item('appliedenergistics2:part:260'))
// Fluid Export Bus
makeExportBus(ore('plateLapis'), item('appliedenergistics2:part:261'))
// Storage Bus
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:220'))
.input(metaitem('electric.piston.mv'), item('appliedenergistics2:interface'))
.replace().register()
// Fluid Storage Bus
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:221'))
.input(metaitem('electric.pump.mv'), item('appliedenergistics2:fluid_interface'))
.replace().register()
// Oredict Storage Bus
crafting.shapelessBuilder()
.output(item('appliedenergistics2:part:222'))
.input(item('appliedenergistics2:part:220'), metaitem('ore_dictionary_filter'))
/* Misc Block Parts */
// P2P Tunnel
crafting.shapedBuilder()
.output(item('appliedenergistics2:part:460'))
.matrix(
' P ',
'PEP',
'FFF')
.key('P', metaitem('plateStainlessSteel'))
.key('E', item('appliedenergistics2:material:24'))
.key('F', ore('plateFluix'))
.replace().register()
// Illuminated Panel
crafting.remove('appliedenergistics2:network/parts/panels_semi_dark_monitor')
crafting.shapedBuilder()
.output(item('appliedenergistics2:part:180'))
.matrix(
'GGG',
'PPP')
.key('G', item('appliedenergistics2:quartz_glass'))
.key('P', item('moreplates:fluix_plate'))
.register()
// Cable Anchor
crafting.addShapeless(item('appliedenergistics2:part:120'), [ore('boltSteel')])
/* Misc Blocks */
// Vibrant Quartz Glass
crafting.removeByOutput(item('appliedenergistics2:quartz_vibrant_glass'))
mods.gregtech.alloy_smelter.recipeBuilder()
.inputs(item('appliedenergistics2:quartz_glass'), ore('ingotVibrantAlloy'))
.outputs(item('appliedenergistics2:quartz_vibrant_glass'))
.duration(80).EUt(VHA[LV])
.buildAndRegister()