Added mod files
This commit is contained in:
133
overrides/kubejs/server_scripts/mods/sophstorage.js
Normal file
133
overrides/kubejs/server_scripts/mods/sophstorage.js
Normal file
@@ -0,0 +1,133 @@
|
||||
/**
|
||||
* Configuration of Sophisticated Storage
|
||||
*/
|
||||
ServerEvents.recipes(event => {
|
||||
// const modids = ["sophisticatedstorage", "sophisticatedbackpacks"]
|
||||
|
||||
// Remove XP pump upgrades
|
||||
event.remove({ id: "sophisticatedstorage:xp_pump_upgrade" })
|
||||
event.remove({ id: "sophisticatedbackpacks:xp_pump_upgrade" })
|
||||
|
||||
// Remove Limited barrels
|
||||
event.remove({ id: /^sophisticatedstorage:.*limited.+barrel.+$/ })
|
||||
event.remove({ output: /^sophisticatedstorage:limited_barrel.+$/ })
|
||||
|
||||
// Remove Copper tier storage (not used)
|
||||
event.remove({ output: "sophisticatedstorage:copper_barrel" })
|
||||
event.remove({ output: "sophisticatedstorage:copper_chest" })
|
||||
event.remove({ output: "sophisticatedstorage:copper_shulker_box" })
|
||||
// Remove Copper tier upgrades
|
||||
event.remove({ output: /^sophisticatedstorage:.*copper.*tier_upgrade$/ })
|
||||
event.remove({ input: /^sophisticatedstorage:.*copper.*tier_upgrade$/ })
|
||||
|
||||
// Barrel, Chest, Shulker Box upgrading
|
||||
const sophStorageMaterials = [
|
||||
["", null, null],
|
||||
// ["copper_", "tconstruct:steel_ingot", "lead"],
|
||||
["iron_", "bronze"],
|
||||
["gold_", "invar"],
|
||||
["diamond_", "slimesteel"],
|
||||
["netherite_", "manyullyn"],
|
||||
]
|
||||
const sophStorageTypes = [
|
||||
["", "barrel"],
|
||||
["", "chest"],
|
||||
["", "shulker_box"]
|
||||
]
|
||||
|
||||
let upgradePattern = ["NIN", "NCN", "NIN"]
|
||||
|
||||
sophStorageMaterials.forEach((material, toIndex) => {
|
||||
if (toIndex == 0) return;
|
||||
|
||||
// Tier upgrade items
|
||||
for (let fromIndex = 0; fromIndex < toIndex; fromIndex++) {
|
||||
let fromTierName = (fromIndex == 0 ? "basic_" : sophStorageMaterials[fromIndex][0]);
|
||||
let prevTierName = (toIndex - 1 == 0 ? "basic_" : sophStorageMaterials[toIndex - 1][0]);
|
||||
let toTierName = material[0];
|
||||
|
||||
event.shaped(`sophisticatedstorage:${fromTierName}to_${toTierName}tier_upgrade`,
|
||||
upgradePattern, {
|
||||
N: `#forge:nuggets/${material[1]}`,
|
||||
I: `#forge:ingots/${material[1]}`,
|
||||
C: (fromTierName == prevTierName ? "minecraft:redstone_torch" : `sophisticatedstorage:${fromTierName}to_${prevTierName}tier_upgrade`),
|
||||
}).id(`sophisticatedstorage:${fromTierName}to_${toTierName}tier_upgrade`)
|
||||
}
|
||||
|
||||
// Barrel-in-table upgrades
|
||||
sophStorageTypes.forEach(storageType => {
|
||||
// Works for upgrades as the recipe type implies, but doesn't work for making new barrels/chests/boxes from scratch
|
||||
let outputStorage = `sophisticatedstorage:${storageType[0]}${material[0]}${storageType[1]}`
|
||||
let inputStorage = `sophisticatedstorage:${storageType[0]}${sophStorageMaterials[toIndex - 1][0]}${storageType[1]}`
|
||||
event.remove({ mod: "sophisticatedstorage", output: outputStorage })
|
||||
event.custom({
|
||||
"type": "sophisticatedstorage:storage_tier_upgrade",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "sophisticatedcore:item_enabled",
|
||||
"itemRegistryName": outputStorage
|
||||
}
|
||||
],
|
||||
"pattern": upgradePattern,
|
||||
"key": {
|
||||
"N": {
|
||||
"tag": `forge:nuggets/${material[1]}`
|
||||
},
|
||||
"I": {
|
||||
"tag": `forge:ingots/${material[1]}`
|
||||
},
|
||||
"C": {
|
||||
"item": inputStorage
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": outputStorage
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
enderiumMachine(event, Item.of("sophisticatedstorage:controller", 1), "functionalstorage:storage_controller")
|
||||
enderiumMachine(event, Item.of("sophisticatedstorage:controller", 1), "functionalstorage:controller_extension")
|
||||
leadMachine(event, Item.of("sophisticatedstorage:storage_input", 1))
|
||||
leadMachine(event, Item.of("sophisticatedstorage:storage_output", 1))
|
||||
|
||||
// Stack upgrades
|
||||
let stackupgrade = [
|
||||
["", "create:andesite_alloy", ""],
|
||||
["stack_upgrade_tier_1", "create:brass_ingot", "upgrade_base"],
|
||||
["stack_upgrade_tier_2", "thermal:invar_ingot", "stack_upgrade_tier_1"],
|
||||
["stack_upgrade_tier_3", "thermal:enderium_ingot", "stack_upgrade_tier_2"],
|
||||
["stack_upgrade_tier_4", "kubejs:calculation_mechanism", "stack_upgrade_tier_3"]
|
||||
]
|
||||
|
||||
event.remove({ output: "sophisticatedstorage:stack_upgrade_tier_1_plus" })
|
||||
|
||||
for (let i = 1;i < stackupgrade.length;++i) {
|
||||
let upgrade = stackupgrade[i][0]
|
||||
let baseUpgrade = stackupgrade[i][2]
|
||||
|
||||
let ingredient = stackupgrade[i][1]
|
||||
let previousIngredient = stackupgrade[i - 1][1]
|
||||
|
||||
event.remove({ output: `sophisticatedstorage:${upgrade}` })
|
||||
donutCraft(event, `sophisticatedstorage:${upgrade}`, `sophisticatedstorage:${baseUpgrade}`, `${previousIngredient}`)
|
||||
event.remove({ output: `sophisticatedbackpacks:${upgrade}` })
|
||||
donutCraft(event, `sophisticatedbackpacks:${upgrade}`, `sophisticatedbackpacks:${baseUpgrade}`, `${ingredient}`)
|
||||
}
|
||||
|
||||
// Sophisticated Backpacks starter upgrade
|
||||
event.remove({ output: "sophisticatedbackpacks:stack_upgrade_starter_tier" })
|
||||
donutCraft(event, "sophisticatedbackpacks:stack_upgrade_starter_tier", "sophisticatedbackpacks:upgrade_base", "create:andesite_alloy")
|
||||
donutCraft(event, "sophisticatedbackpacks:stack_upgrade_tier_1", "sophisticatedbackpacks:stack_upgrade_starter_tier", "create:brass_ingot")
|
||||
// Sophisticated Storage tier 5 upgrade
|
||||
event.remove({ output: "sophisticatedstorage:stack_upgrade_tier_5" })
|
||||
donutCraft(event, "sophisticatedstorage:stack_upgrade_tier_5", "sophisticatedstorage:stack_upgrade_tier_4", "kubejs:calculation_mechanism")
|
||||
|
||||
event.remove({ id: "sophisticatedbackpacks:inception_upgrade"})
|
||||
event.remove({ id: "sophisticatedbackpacks:stack_upgrade_omega_tier"})
|
||||
event.remove({ output: "sophisticatedstorage:stack_upgrade_omega_tier" })
|
||||
|
||||
// Upgrades
|
||||
brassMachine(event, Item.of("sophisticatedstorage:advanced_hopper_upgrade", 2))
|
||||
})
|
||||
Reference in New Issue
Block a user