init
This commit is contained in:
commit
d8d0e9d536
2567 changed files with 167778 additions and 0 deletions
205
kubejs/server_scripts/aa_planet_resources.js
Normal file
205
kubejs/server_scripts/aa_planet_resources.js
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
/**
|
||||
* Maceration recipes for Ad Astra planetary rock dusts
|
||||
* Makes planetary rock dusts drop from ores
|
||||
* Centrifuge recipes for converting planetary rock dusts into valuable resources
|
||||
* Maceration recipes for converting other blocks found on planets to resources
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// Regolith dusts
|
||||
let regolithDustResources = [
|
||||
["moon", ["moon_sand"], "diamond"],
|
||||
["mars", ["mars_sand"], "monazite"],
|
||||
["venus", ["venus_sandstone", "venus_sandstone_bricks", "cracked_venus_sandstone_bricks", "venus_sand"], "olivine"],
|
||||
["mercury", [], "cinnabar"],
|
||||
["glacio", [], "sodalite"]
|
||||
]
|
||||
|
||||
regolithDustResources.forEach((planetResources, fluxCount) => {
|
||||
let stone_variants = [
|
||||
`${planetResources[0]}_stone`,
|
||||
`${planetResources[0]}_cobblestone`,
|
||||
`${planetResources[0]}_stone_bricks`,
|
||||
`cracked_${planetResources[0]}_stone_bricks`,
|
||||
`chiseled_${planetResources[0]}_stone_bricks`,
|
||||
`polished_${planetResources[0]}_stone`,
|
||||
`${planetResources[0]}_pillar`,
|
||||
`${planetResources[0]}_stone_brick_wall`
|
||||
]
|
||||
|
||||
// Planetary dust maceration recipe: stone variants
|
||||
stone_variants.forEach(variant => {
|
||||
event.recipes.gtceu.macerator(`macerate_${variant}`)
|
||||
.itemInputs(`ad_astra:${variant}`)
|
||||
.itemOutputs(`kubejs:${planetResources[0]}_dust`)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
})
|
||||
|
||||
// Planetary dust maceration recipe: others
|
||||
planetResources[1].forEach(variant => {
|
||||
event.recipes.gtceu.macerator(`macerate_${variant}`)
|
||||
.itemInputs(`ad_astra:${variant}`)
|
||||
.itemOutputs(`kubejs:${planetResources[0]}_dust`)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.HV])
|
||||
})
|
||||
|
||||
// Recipes to make quantum flux from planets' rock dusts
|
||||
event.shaped(`${fluxCount + 1}x kubejs:quantum_flux`, [
|
||||
" B ",
|
||||
"BAB",
|
||||
" B "
|
||||
], {
|
||||
A: `#forge:gems/${planetResources[2]}`,
|
||||
B: `kubejs:${planetResources[0]}_dust`
|
||||
}).id(`kubejs:quantum_flux_from_${planetResources[0]}_dust`)
|
||||
|
||||
event.recipes.gtceu.mixer(`quantum_flux_from_${planetResources[0]}_dust`)
|
||||
.itemInputs(`4x kubejs:${planetResources[0]}_dust`, `#forge:gems/${planetResources[2]}`)
|
||||
.itemOutputs(`${fluxCount + 1}x kubejs:quantum_flux`)
|
||||
.duration(100)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
})
|
||||
|
||||
// Rock dust centrifuging
|
||||
event.recipes.gtceu.centrifuge("moon_dust_centrifuging")
|
||||
.itemInputs("kubejs:moon_dust")
|
||||
.chancedOutput("gtceu:stone_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:glass_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:bauxite_dust", 2300, 0)
|
||||
.chancedOutput("gtceu:quicklime_dust", 1400, 0)
|
||||
.chancedOutput("gtceu:magnesia_dust", 1000, 50)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 700, 70)
|
||||
.outputFluids(Fluid.of("gtceu:deuterium", 100))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("mars_dust_centrifuging")
|
||||
.itemInputs("kubejs:mars_dust")
|
||||
.chancedOutput("gtceu:silicon_dioxide_dust", 4000, 0)
|
||||
.chancedOutput("gtceu:pyrope_dust", 2300, 0)
|
||||
.chancedOutput("gtceu:hematite_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:soapstone_dust", 900, 90)
|
||||
.chancedOutput("gtceu:calcium_perchlorate_dust", 700, 0)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 825, 80)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.HV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("venus_dust_centrifuging")
|
||||
.itemInputs("kubejs:venus_dust")
|
||||
.chancedOutput("gtceu:quartz_sand_dust", 3000, 0)
|
||||
.chancedOutput("gtceu:pyrite_dust", 2600, 260)
|
||||
.chancedOutput("gtceu:calcium_carbonate_dust", 1800, 0)
|
||||
.chancedOutput("gtceu:apatite_dust", 1400, 140)
|
||||
.chancedOutput("gtceu:garnierite_dust", 1100, 110)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 1000, 80)
|
||||
.outputFluids(Fluid.of("gtceu:sulfur_dioxide", 100))
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("mercury_dust_centrifuging")
|
||||
.itemInputs("kubejs:mercury_dust")
|
||||
.chancedOutput("gtceu:stone_dust", 2900, 0)
|
||||
.chancedOutput("gtceu:basaltic_mineral_sand_dust", 2700, 0)
|
||||
.chancedOutput("gtceu:garnet_sand_dust", 2000, 0)
|
||||
.chancedOutput("gtceu:fullers_earth_dust", 1650, 0)
|
||||
.chancedOutput("minecraft:redstone", 1100, 130)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 1000, 80)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.EV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("glacio_dust_centrifuging")
|
||||
.itemInputs("kubejs:glacio_dust")
|
||||
.chancedOutput("gtceu:granitic_mineral_sand_dust", 4500, 0)
|
||||
.chancedOutput("gtceu:kyanite_dust", 3750, 0)
|
||||
.chancedOutput("gtceu:alunite_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:oilsands_dust", 1750, 175)
|
||||
.chancedOutput("gtceu:bastnasite_dust", 1350, 130)
|
||||
.chancedOutput("gtceu:extraterrestrial_metal_mixture_dust", 1200, 80)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.centrifuge("extraterrestrial_metal_mixture_centrifuging")
|
||||
.itemInputs("gtceu:extraterrestrial_metal_mixture_dust")
|
||||
.chancedOutput("gtceu:ilmenite_dust", 6000, 0)
|
||||
.chancedOutput("gtceu:chromite_dust", 4000, 0)
|
||||
.chancedOutput("gtceu:pyrolusite_dust", 3500, 0)
|
||||
.chancedOutput("gtceu:wulfenite_dust", 2200, 70)
|
||||
.chancedOutput("gtceu:tungstate_dust", 1700, 110)
|
||||
.duration(1000)
|
||||
.EUt(GTValues.VA[GTValues.IV])
|
||||
|
||||
// Maceration recycling for other extraterrestrial materials
|
||||
event.recipes.gtceu.macerator("macerate_conglomerate")
|
||||
.itemInputs("ad_astra:conglomerate")
|
||||
.chancedOutput("gtceu:mirabilite_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:redrock_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:biotite_dust", 2500, 0)
|
||||
.chancedOutput("gtceu:gypsum_dust", 2500, 0)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.MV])
|
||||
|
||||
event.recipes.gtceu.macerator("macerate_infernal_spire")
|
||||
.itemInputs("ad_astra:infernal_spire_block")
|
||||
.chancedOutput("minecraft:blaze_powder", 5000, 0)
|
||||
.chancedOutput("gtceu:bauxite_dust", 2000, 200)
|
||||
.chancedOutput("gtceu:scheelite_dust", 1500, 150)
|
||||
.chancedOutput("gtceu:netherite_scrap_dust", 500, 100)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.IV])
|
||||
|
||||
event.recipes.gtceu.macerator("macerate_permafrost")
|
||||
.itemInputs("ad_astra:permafrost")
|
||||
.chancedOutput("gtceu:ice_dust", 5000, 0)
|
||||
.chancedOutput("minecraft:dirt", 5000, 0)
|
||||
.duration(200)
|
||||
.EUt(GTValues.VHA[GTValues.ULV])
|
||||
|
||||
// Dilithium
|
||||
event.recipes.gtceu.autoclave("dilithium_helium")
|
||||
.itemInputs("4x gtceu:dilithium_dust")
|
||||
.inputFluids("gtceu:helium 1000")
|
||||
.itemOutputs("4x gtceu:dilithium_gem")
|
||||
.duration(400)
|
||||
.EUt(110)
|
||||
})
|
||||
|
||||
// Add regolith dusts to ores' loot pool
|
||||
LootJS.modifiers((event) => {
|
||||
const moonDust = LootEntry.of("kubejs:moon_dust").when(c => c.randomChance(0.50))
|
||||
const moonDustFortune = LootEntry.of("kubejs:moon_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const marsDust = LootEntry.of("kubejs:mars_dust").when(c => c.randomChance(0.50))
|
||||
const marsDustFortune = LootEntry.of("kubejs:mars_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const venusDust = LootEntry.of("kubejs:venus_dust").when(c => c.randomChance(0.50))
|
||||
const venusDustFortune = LootEntry.of("kubejs:venus_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const mercuryDust = LootEntry.of("kubejs:mercury_dust").when(c => c.randomChance(0.50))
|
||||
const mercuryDustFortune = LootEntry.of("kubejs:mercury_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
const glacioDust = LootEntry.of("kubejs:glacio_dust").when(c => c.randomChance(0.50))
|
||||
const glacioDustFortune = LootEntry.of("kubejs:glacio_dust")
|
||||
.limitCount(0, 2)
|
||||
.when(c => c.randomTableBonus("minecraft:fortune", [0, 0.60, 1.2, 2.0]))
|
||||
.applyOreBonus("minecraft:fortune")
|
||||
|
||||
event.addBlockLootModifier(/.*moon_.*_ore$/).addSequenceLoot(moonDust, moonDustFortune);
|
||||
event.addBlockLootModifier(/.*mars_.*_ore$/).addSequenceLoot(marsDust, marsDustFortune);
|
||||
event.addBlockLootModifier(/.*venus_.*_ore$/).addSequenceLoot(venusDust, venusDustFortune);
|
||||
event.addBlockLootModifier(/.*mercury_.*_ore$/).addSequenceLoot(mercuryDust, mercuryDustFortune);
|
||||
event.addBlockLootModifier(/.*glacio_.*_ore$/).addSequenceLoot(glacioDust, glacioDustFortune);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue