Version 1.0.19b
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.chunk) {
|
||||
event.remove({id:'mekanism:dimensional_stabilizer'})
|
||||
event.remove({id:'ae2:network/blocks/spatial_anchor'})
|
||||
}
|
||||
})
|
||||
23
minecraft/kubejs/server_scripts/configurable/nuke.js
Normal file
23
minecraft/kubejs/server_scripts/configurable/nuke.js
Normal file
@@ -0,0 +1,23 @@
|
||||
BlockEvents.rightClicked(event => {
|
||||
if (global.nuke) {
|
||||
if (event.item == 'ftbic:nuke') {
|
||||
event.cancel()
|
||||
}
|
||||
if (event.item == 'industrialforegoing:infinity_nuke') {
|
||||
event.cancel()
|
||||
event.entity.inventoryMenu.broadcastFullState()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
BlockEvents.placed('ftbic:nuke', event => {
|
||||
if (global.nuke) {
|
||||
event.cancel()
|
||||
}
|
||||
})
|
||||
|
||||
EntityEvents.spawned('industrialforegoing:infinity_nuke', event => {
|
||||
if (global.nuke) {
|
||||
event.cancel()
|
||||
}
|
||||
})
|
||||
244
minecraft/kubejs/server_scripts/conflicts.js
Normal file
244
minecraft/kubejs/server_scripts/conflicts.js
Normal file
@@ -0,0 +1,244 @@
|
||||
ServerEvents.tags('item', event => {
|
||||
event.add('blue_skies:planks', /blue_skies:.+?_planks/)
|
||||
event.add('byg:planks', /byg:.+?_planks/)
|
||||
let chestsMissingTags = ['hexerei:willow_chest', 'hexerei:mahogany_chest', 'ars_nouveau:archwood_chest', 'ad_astra:strophar_chest', 'ad_astra:aeronos_chest']
|
||||
event.add('forge:chests', chestsMissingTags)
|
||||
event.add('forge:chests/wooden', chestsMissingTags)
|
||||
|
||||
// remove dye tag from flowers with double dye tag
|
||||
event.remove('byg:purple_dye', 'byg:tall_allium')
|
||||
event.remove('byg:pink_dye', ['byg:japanese_orchid', 'byg:tall_pink_allium'])
|
||||
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
/* Fix Overlapping Recipes
|
||||
/polymorph conflicts
|
||||
*/
|
||||
|
||||
// Sleeping Bags / Wool Slabs
|
||||
// sleeping bags
|
||||
event.forEachRecipe({ type: 'minecraft:crafting_shaped', id: /comforts:sleeping_bag_.+/ }, recipe => {
|
||||
let out = recipe.json.get('result')
|
||||
let input = recipe.json.get('key').get('a')
|
||||
event.shaped(Item.of(out), [' ', ' ', 'aaa'], { a: Ingredient.of(input) }).noMirror().noShrink().id(`kubejs:${recipe.getId().replace(':', '/')}`)
|
||||
event.remove({ id: recipe.getId() })
|
||||
})
|
||||
// wool slabs
|
||||
event.forEachRecipe({ type: 'minecraft:crafting_shaped', id: /absentbydesign:slab_wool_.+/ }, recipe => {
|
||||
let out = recipe.json.get('result')
|
||||
let input = recipe.json.get('key').get('#')
|
||||
event.shaped(Item.of(out), [' ', '###', ' '], { '#': Ingredient.of(input) }).noMirror().noShrink().id(`kubejs:${recipe.getId().replace(':', '/')}`)
|
||||
event.remove({ id: recipe.getId() })
|
||||
})
|
||||
|
||||
// Structurize / Construction Wand
|
||||
event.remove({ id: 'structurize:sceptergold' })
|
||||
event.shaped('structurize:sceptergold', ['C ', ' S ', ' S'], { C: '#minecraft:stone_crafting_materials', S: '#forge:rods/wooden' }).noMirror().id(`kubejs:structurize/sceptergold`)
|
||||
event.remove({ id: 'constructionwand:stone_wand' })
|
||||
event.shaped('constructionwand:stone_wand', [' C', ' S ', 'S '], { C: '#minecraft:stone_crafting_materials', S: '#forge:rods/wooden' }).noMirror().id(`kubejs:constructionwand/stone_wand`)
|
||||
event.remove({ id: 'structurize:sceptersteel' })
|
||||
event.shaped('structurize:sceptersteel', ['C ', ' S ', ' S'], { C: '#forge:ingots/iron', S: '#forge:rods/wooden' }).noMirror().id(`kubejs:structurize/sceptersteel`)
|
||||
event.remove({ id: 'constructionwand:iron_wand' })
|
||||
event.shaped('constructionwand:iron_wand', [' C', ' S ', 'S '], { C: '#forge:ingots/iron', S: '#forge:rods/wooden' }).noMirror().id(`kubejs:constructionwand/iron_wand`)
|
||||
|
||||
// Blue Skies tools
|
||||
let planks = Ingredient.of('#minecraft:planks').subtract(Ingredient.of('#blue_skies:planks'))
|
||||
event.forEachRecipe({ id: /minecraft:wooden_(hoe|shovel|pickaxe|sword|axe)/ }, recipe => {
|
||||
let json = recipe.json
|
||||
let key = json.get('key')
|
||||
key.add('X', planks.toJson())
|
||||
json.add('key', key)
|
||||
recipe.json = json
|
||||
})
|
||||
event.forEachRecipe({ id: 'minecraft:stick' }, recipe => {
|
||||
let json = recipe.json
|
||||
let key = json.get('key')
|
||||
key.add('#', planks.toJson())
|
||||
json.add('key', key)
|
||||
recipe.json = json
|
||||
})
|
||||
|
||||
let cobble = Ingredient.of('#quark:stone_tool_materials').subtract(Ingredient.of('#blue_skies:cobblestone'))
|
||||
event.forEachRecipe({ id: /quark:tweaks\/crafting\/utility\/tools\/stone_(hoe|shovel|pickaxe|sword|axe)/ }, recipe => {
|
||||
let json = recipe.json
|
||||
let key = json.get('key')
|
||||
key.add('X', cobble.toJson())
|
||||
json.add('key', key)
|
||||
recipe.json = json
|
||||
})
|
||||
|
||||
// So many crafting tables
|
||||
let tablePlanks = planks.subtract(Ingredient.of('#byg:planks'))
|
||||
event.forEachRecipe({ id: 'minecraft:crafting_table' }, recipe => {
|
||||
let json = recipe.json
|
||||
let key = json.get('key')
|
||||
key.add('#', tablePlanks.toJson())
|
||||
json.add('key', key)
|
||||
recipe.json = json
|
||||
})
|
||||
|
||||
// Basic Chest readdition for planks without chests
|
||||
let hasChest = Ingredient.of([
|
||||
'#blue_skies:planks',
|
||||
'#hexerei:willow_planks',
|
||||
'#hexerei:mahogany_planks',
|
||||
'ad_astra:strophar_planks',
|
||||
'ad_astra:aeronos_planks',
|
||||
'ars_nouveau:archwood_planks',
|
||||
'quark:blossom_planks',
|
||||
'quark:azalea_planks',
|
||||
'quark:ancient_planks',
|
||||
'minecraft:oak_planks',
|
||||
'minecraft:spruce_planks',
|
||||
'minecraft:birch_planks',
|
||||
'minecraft:jungle_planks',
|
||||
'minecraft:acacia_planks',
|
||||
'minecraft:dark_oak_planks',
|
||||
'minecraft:crimson_planks',
|
||||
'minecraft:warped_planks',
|
||||
'minecraft:mangrove_planks',
|
||||
'twilightforest:twilight_oak_planks',
|
||||
'twilightforest:canopy_planks',
|
||||
'twilightforest:mangrove_planks',
|
||||
'twilightforest:dark_planks',
|
||||
'twilightforest:time_planks',
|
||||
'twilightforest:transformation_planks',
|
||||
'twilightforest:mining_planks',
|
||||
'twilightforest:sorting_planks',
|
||||
])
|
||||
let chestPlanks = Ingredient.of('#minecraft:planks').subtract(hasChest)
|
||||
event.shaped('minecraft:chest', ['PPP', 'P P', 'PPP'], { P: chestPlanks }).id('kubejs:chest')
|
||||
// add chest to plain chest recipes
|
||||
event.remove({ id: 'quark:building/crafting/chests/chest_revert' })
|
||||
event.remove({ id: 'ars_nouveau:archwood_to_chest' })
|
||||
let convertableChests = Ingredient.of('#forge:chests/wooden').subtract(Ingredient.of('#forge:chests/trapped')).subtract('minecraft:chest')
|
||||
event.shapeless('minecraft:chest', convertableChests).id('kubejs:chest/plain')
|
||||
|
||||
// Rechiseled Chisel / Croptopia Knife
|
||||
event.remove({ id: 'rechiseled:chisel' })
|
||||
event.shaped('rechiseled:chisel', ['C ', ' S'], { C: '#forge:ingots/iron', S: '#forge:rods/wooden' }).noMirror().id(`kubejs:rechiseled/chisel`)
|
||||
event.remove({ id: 'croptopia:knife' })
|
||||
event.shaped('croptopia:knife', [' C', 'S '], { C: '#forge:ingots/iron', S: '#forge:rods/wooden' }).noMirror().id(`kubejs:croptopia/knife`)
|
||||
|
||||
// Mangrove ABD plank wall (match other plank wall recipes)
|
||||
event.remove({ id: 'absentbydesign:wall_mangrove_planks' })
|
||||
event.shaped('absentbydesign:wall_mangrove_planks', [' ', '###', '# #'], { '#': 'minecraft:mangrove_planks' })
|
||||
|
||||
// Remove minecraft recipes, mods add better versions
|
||||
event.remove({ id: 'minecraft:cake' })
|
||||
event.remove({ id: 'minecraft:daylight_detector' })
|
||||
event.remove({ id: 'minecraft:comparator' })
|
||||
event.remove({ id: 'minecraft:beehive' })
|
||||
|
||||
// Tiny Coal
|
||||
event.remove({ id: 'additional_lights:fire_for_standing_torch_s' })
|
||||
event.shaped('additional_lights:fire_for_standing_torch_s', ['S', 'C'], { S: '#forge:rods/wooden', C: '#minecraft:coals' })
|
||||
|
||||
// Spirit soul sand 1x
|
||||
event.remove({ id: 'spirit:crafting/compressed_soul_sand' })
|
||||
event.remove({ id: 'spirit:crafting/decompressed_soul_sand' })
|
||||
event.custom({
|
||||
"type": "spirit:soul_engulfing",
|
||||
"input": {
|
||||
"ingredient": { "item": "minecraft:iron_block" },
|
||||
"multiblock": {
|
||||
"pattern": [
|
||||
[
|
||||
" ",
|
||||
" @ ",
|
||||
" "
|
||||
],
|
||||
[
|
||||
" S ",
|
||||
"SXS",
|
||||
" S "
|
||||
]
|
||||
],
|
||||
"keys": {
|
||||
"S": {
|
||||
"block": "spirit:compressed_soul_powder_block"
|
||||
},
|
||||
"X": {
|
||||
"block": "allthecompressed:soul_sand_block_1x"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"duration": 60,
|
||||
"outputItem": "spirit:soul_steel_block"
|
||||
}).id('spirit:soul_engulfing/soul_steel_block')
|
||||
|
||||
// quark's log to stick recipe, but botania safe
|
||||
let logSticks = Ingredient.of('#minecraft:logs').subtract(Ingredient.of(['#botania:livingwood_logs', '#botania:dreamwood_logs']))
|
||||
event.shaped('16x minecraft:stick', ['s', 's'], { s: logSticks }).id('kubejs:easy_sticks')
|
||||
|
||||
// duplicate and misspelled recipes?
|
||||
let bygRemovals = [
|
||||
'byg:rainbow_eucalpytus_door',
|
||||
'byg:rainbow_eucalpytus_trapdoor',
|
||||
'byg:jacaranda_boookshelf',
|
||||
]
|
||||
bygRemovals.forEach(removeId => {
|
||||
event.remove({ id: removeId })
|
||||
})
|
||||
|
||||
// thermium lamp same recipe as lantern
|
||||
event.remove({ id: 'byg:therium_lamp' })
|
||||
event.shaped('byg:therium_lamp',
|
||||
['NRN', 'RTR', 'NRN'],
|
||||
{ N: '#forge:nuggets/iron', R: '#forge:dusts/redstone', T: 'byg:therium_crystal_shard' }
|
||||
).id('kubejs:byg/therium_lamp')
|
||||
|
||||
// duplicate abd and quark
|
||||
let abdRemovals = [
|
||||
'absentbydesign:slab_tuff',
|
||||
'absentbydesign:stairs_tuff',
|
||||
'absentbydesign:wall_tuff',
|
||||
'absentbydesign:wall_calcite',
|
||||
'absentbydesign:stairs_calcite',
|
||||
'absentbydesign:slab_calcite'
|
||||
]
|
||||
abdRemovals.forEach(removeId => {
|
||||
event.remove({ id: removeId })
|
||||
})
|
||||
|
||||
// ad astra
|
||||
event.remove({id: 'ad_astra:recipes/moon_stone_brick_slab'})
|
||||
event.shaped('6x ad_astra:moon_stone_brick_slab', ['BBB'], {B:'ad_astra:moon_stone_bricks'}).id('kubejs:ad_astra/recipes/moon_stone_brick_slab');
|
||||
// stone -> polished -> bricks
|
||||
['mercury_stone', 'glacio_stone','moon_stone', 'venus_stone', 'mars_stone', 'permafrost'].forEach(stone => {
|
||||
event.remove({id:`ad_astra:recipes/${stone}_bricks`})
|
||||
event.shaped(`4x ad_astra:${stone}_bricks`, ['BB','BB'], {B:`ad_astra:polished_${stone}`}).id(`kubejs:ad_astra/recipes/${stone}_bricks`)
|
||||
})
|
||||
})
|
||||
|
||||
// convert abd blocks to quark on break
|
||||
ServerEvents.blockLootTables(event => {
|
||||
['calcite', 'tuff'].forEach(material => {
|
||||
['stairs', 'wall'].forEach(type => {
|
||||
event.modifyBlock(`absentbydesign:${type}_${material}`, loot => {
|
||||
loot.clearPools()
|
||||
loot.addPool(pool => {
|
||||
pool.addItem(`quark:${material}_${type}`)
|
||||
pool.survivesExplosion()
|
||||
})
|
||||
})
|
||||
})
|
||||
event.modifyBlock(`absentbydesign:slab_${material}`, loot => {
|
||||
loot.clearPools()
|
||||
loot.addPool(pool => {
|
||||
let entry = pool.addItem(`quark:${material}_slab`)
|
||||
entry.addFunction({ function: "minecraft:explosion_decay" })
|
||||
entry.addConditionalFunction(func => {
|
||||
func.addFunction({ function: 'minecraft:set_count', count: 2 })
|
||||
func.addCondition({
|
||||
"condition": "minecraft:block_state_property",
|
||||
"block": `absentbydesign:slab_${material}`,
|
||||
"properties": { "type": "double"}
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
216
minecraft/kubejs/server_scripts/erroringRecipes.js
Normal file
216
minecraft/kubejs/server_scripts/erroringRecipes.js
Normal file
@@ -0,0 +1,216 @@
|
||||
ServerEvents.highPriorityData(event => {
|
||||
// Create compat for BYG Mangrove Logs (removed due to MC adding mangrove)
|
||||
['mangrove_log', 'mangrove_wood', 'stripped_mangrove_log', 'stripped_mangrove_wood'].forEach(wood => {
|
||||
event.addJson(`create:recipes/cutting/compat/byg/${wood}`, {
|
||||
type: "create:cutting",
|
||||
conditions: [
|
||||
{ type: "forge:false" }
|
||||
]
|
||||
})
|
||||
});
|
||||
// ATC recipe for energizing compress blaze rods in powah
|
||||
['block', '1x', '2x', '3x'].forEach(tier => {
|
||||
event.addJson(`powah:recipes/energizing/allthecompressed/blazing_crystal/${tier}`, {
|
||||
type: "powah:energizing",
|
||||
conditions: [
|
||||
{ type: "forge:false" }
|
||||
]
|
||||
})
|
||||
});
|
||||
event.addJson('ftbic:recipes/shapeless/sulfur_from_hammer', {
|
||||
type: "minecraft:crafting_shapeless",
|
||||
conditions: [
|
||||
{ type: "forge:false" }
|
||||
]
|
||||
})
|
||||
event.addJson('biggerreactors:recipes/compat/mekanism/rotary/superheated_sodium', {
|
||||
type: "mekanism:rotary",
|
||||
conditions: [
|
||||
{ type: "forge:false" }
|
||||
]
|
||||
})
|
||||
// wrong recipe type
|
||||
event.addJson('croptopia:recipes/banana_cream_pie', {
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "forge:bananas"
|
||||
},
|
||||
{
|
||||
"tag": "forge:vanilla"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:sugar"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:egg"
|
||||
},
|
||||
{
|
||||
"tag": "forge:milks"
|
||||
},
|
||||
{
|
||||
"item": "croptopia:frying_pan"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "croptopia:banana_cream_pie",
|
||||
"count": 1
|
||||
}
|
||||
})
|
||||
// item doesn't seem to exist yet, add a check
|
||||
event.addJson('advgenerators:recipes/modules/gas_input', {
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:mod_loaded",
|
||||
"modid": "mekanism"
|
||||
},
|
||||
{
|
||||
"type": "forge:item_exists",
|
||||
"item": "advgenerators:gas_input"
|
||||
}
|
||||
],
|
||||
"pattern": [
|
||||
"S S",
|
||||
"FPF",
|
||||
" W "
|
||||
],
|
||||
"key": {
|
||||
"S": {
|
||||
"tag": "forge:ingots/steel"
|
||||
},
|
||||
"F": {
|
||||
"item": "advgenerators:iron_frame"
|
||||
},
|
||||
"W": {
|
||||
"item": "advgenerators:iron_tubing"
|
||||
},
|
||||
"P": {
|
||||
"item": "minecraft:piston"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "advgenerators:gas_input"
|
||||
}
|
||||
})
|
||||
// add check for mod to be loaded
|
||||
event.addJson('deeperdarker:recipes/sculk_affinity', {
|
||||
"type": "jeed:effect_provider",
|
||||
"effect": {
|
||||
"idi": "deeperdarker:sculk_affinity"
|
||||
},
|
||||
"providers": [
|
||||
{
|
||||
"item": "deeperdarker:soul_dust"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:mod_loaded",
|
||||
"modid": "jeed"
|
||||
}
|
||||
]
|
||||
})
|
||||
// productive bees missing reagent for botania bee
|
||||
event.addJson('productivebees:recipes/botania/pure_bee', {
|
||||
"type": "botania:petal_apothecary",
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "botania:petals/white"
|
||||
},
|
||||
{
|
||||
"tag": "botania:petals/white"
|
||||
},
|
||||
{
|
||||
"tag": "botania:petals/white"
|
||||
},
|
||||
{
|
||||
"tag": "botania:petals/white"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:bee_spawn_egg"
|
||||
}
|
||||
],
|
||||
"output": {
|
||||
"type": "forge:nbt",
|
||||
"item": "productivebees:spawn_egg_configurable_bee",
|
||||
"nbt": "{EntityTag:{type:\"productivebees:pure\"}}"
|
||||
},
|
||||
"reagent": {
|
||||
"tag": "botania:seed_apothecary_reagent"
|
||||
},
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:mod_loaded",
|
||||
"modid": "botania"
|
||||
},
|
||||
{
|
||||
"type": "productivebees:bee_exists",
|
||||
"bee": "productivebees:pure"
|
||||
}
|
||||
]
|
||||
});
|
||||
// sophisticated storage / quark chest compat
|
||||
['acacia', 'birch', 'crimson', 'dark_oak', 'jungle', 'oak', 'spruce', 'warped'].forEach(wood => {
|
||||
event.addJson(`sophisticatedstorage:recipes/${wood}_chest_from_quark_${wood}_chest`, {
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:mod_loaded",
|
||||
"modid": "quark"
|
||||
},
|
||||
{
|
||||
"type": "sophisticatedcore:item_enabled",
|
||||
"itemRegistryName": "sophisticatedstorage:chest"
|
||||
}
|
||||
],
|
||||
"ingredients": [
|
||||
{
|
||||
"item": `quark:${wood}_chest`
|
||||
},
|
||||
{
|
||||
"item": "minecraft:redstone_torch"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "sophisticatedstorage:chest",
|
||||
"nbt": `{woodType:\"${wood}\"}`
|
||||
}
|
||||
})
|
||||
});
|
||||
// create / hexcasting compat (akashic log renamed)
|
||||
['wood', 'log'].forEach(variety => {
|
||||
event.addJson(`create:recipes/cutting/compat/hexcasting/akashic_${variety}`, {
|
||||
"type": "create:cutting",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": `hexcasting:edified_${variety}`
|
||||
}
|
||||
],
|
||||
"processingTime": 50,
|
||||
"results": [
|
||||
{
|
||||
"item": `hexcasting:stripped_edified_${variety}`
|
||||
}
|
||||
]
|
||||
})
|
||||
event.addJson(`create:recipes/cutting/compat/hexcasting/akashic_${variety}_stripped`, {
|
||||
"type": "create:cutting",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": `hexcasting:stripped_edified_${variety}`
|
||||
}
|
||||
],
|
||||
"processingTime": 50,
|
||||
"results": [
|
||||
{
|
||||
"count": 6,
|
||||
"item": "hexcasting:edified_planks"
|
||||
}
|
||||
]
|
||||
})
|
||||
})
|
||||
|
||||
// Fix farmers delight / botany pot recipes
|
||||
// TODO
|
||||
})
|
||||
111
minecraft/kubejs/server_scripts/modpack/atm_alloy_tools.js
Normal file
111
minecraft/kubejs/server_scripts/modpack/atm_alloy_tools.js
Normal file
@@ -0,0 +1,111 @@
|
||||
ServerEvents.recipes(event => {
|
||||
// Sword, All recipes are Top-middle and go clockwise
|
||||
event.custom({
|
||||
"type": "ars_nouveau:enchanting_apparatus",
|
||||
"keepNbtOfReagent": true,
|
||||
"output": Item.of("allthemodium:alloy_sword").toJson(),
|
||||
"pedestalItems": [
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/allthemodium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()}
|
||||
],
|
||||
"reagent": [Item.of("allthemodium:allthemodium_sword").toJson()],
|
||||
"sourceCost": 5000
|
||||
}).id('kubejs:allthemodium/alloy_sword')
|
||||
|
||||
// Pickaxe
|
||||
event.custom({
|
||||
"type": "ars_nouveau:enchanting_apparatus",
|
||||
"keepNbtOfReagent": true,
|
||||
"output": Item.of("allthemodium:alloy_pick").toJson(),
|
||||
"pedestalItems": [
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/allthemodium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()}
|
||||
],
|
||||
"reagent": [Item.of("allthemodium:allthemodium_pickaxe").toJson()],
|
||||
"sourceCost": 5000
|
||||
}).id('kubejs:allthemodium/alloy_pick')
|
||||
|
||||
// Shovel
|
||||
event.custom({
|
||||
"type": "ars_nouveau:enchanting_apparatus",
|
||||
"keepNbtOfReagent": true,
|
||||
"output": Item.of("allthemodium:alloy_shovel").toJson(),
|
||||
"pedestalItems": [
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/allthemodium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()}
|
||||
],
|
||||
"reagent": [Item.of("allthemodium:allthemodium_shovel").toJson()],
|
||||
"sourceCost": 5000
|
||||
}).id('kubejs:allthemodium/alloy_shovel')
|
||||
|
||||
// Axe
|
||||
event.custom({
|
||||
"type": "ars_nouveau:enchanting_apparatus",
|
||||
"keepNbtOfReagent": true,
|
||||
"output": Item.of("allthemodium:alloy_axe").toJson(),
|
||||
"pedestalItems": [
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/allthemodium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium_allthemodium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/vibranium').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()},
|
||||
{"item": Ingredient.of('#forge:ingots/unobtainium_vibranium_alloy').toJson()}
|
||||
],
|
||||
"reagent": [Item.of("allthemodium:allthemodium_axe").toJson()],
|
||||
"sourceCost": 5000
|
||||
}).id('kubejs:allthemodium/alloy_axe')
|
||||
|
||||
|
||||
// Paxel
|
||||
event.custom({
|
||||
"type": "ars_nouveau:enchanting_apparatus",
|
||||
"keepNbtOfReagent": true,
|
||||
"output": Item.of("allthemodium:alloy_paxel").toJson(),
|
||||
"pedestalItems": [
|
||||
{"item": Ingredient.of('allthemodium:alloy_sword').toJson()},
|
||||
{"item": Ingredient.of('allthemodium:alloy_pick').toJson()},
|
||||
{"item": Ingredient.of('allthemodium:alloy_shovel').toJson()},
|
||||
{"item": Ingredient.of('allthemodium:alloy_axe').toJson()},
|
||||
],
|
||||
"reagent": [Item.of("mysticalagradditions:awakened_supremium_paxel").toJson()],
|
||||
"sourceCost": 10000
|
||||
}).id('kubejs:allthemodium/alloy_paxel')
|
||||
|
||||
|
||||
})
|
||||
229
minecraft/kubejs/server_scripts/modpack/atm_alloys.js
Normal file
229
minecraft/kubejs/server_scripts/modpack/atm_alloys.js
Normal file
@@ -0,0 +1,229 @@
|
||||
ServerEvents.recipes(event => {
|
||||
//Powah
|
||||
//
|
||||
// ATM-Vibranium Ingot
|
||||
event.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('allthemodium:allthemodium_ingot').toJson(),
|
||||
Ingredient.of('allthemodium:piglich_heart').toJson(),
|
||||
Ingredient.of('allthemodium:vibranium_ingot').toJson()
|
||||
],
|
||||
energy: '1000000000',
|
||||
result: Item.of('allthemodium:vibranium_allthemodium_alloy_ingot').toJson()
|
||||
}).id(`kubejs:energizing/allthemodium_vibranium_allthemodium_alloy_ingot`)
|
||||
|
||||
// ATM-Vibranium Block
|
||||
event.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('allthemodium:allthemodium_block').toJson(),
|
||||
Ingredient.of('kubejs:piglich_heart_block').toJson(),
|
||||
Ingredient.of('allthemodium:vibranium_block').toJson()
|
||||
],
|
||||
energy: '8100000000',
|
||||
result: Item.of('allthemodium:vibranium_allthemodium_alloy_block').toJson()
|
||||
}).id(`kubejs:energizing/allthemodium_vibranium_allthemodium_alloy_block`)
|
||||
|
||||
// ATM-Unobtainium Ingot
|
||||
event.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('allthemodium:allthemodium_ingot').toJson(),
|
||||
Ingredient.of('allthemodium:piglich_heart').toJson(),
|
||||
Ingredient.of('allthemodium:unobtainium_ingot').toJson()
|
||||
],
|
||||
energy: '1000000000',
|
||||
result: Item.of('allthemodium:unobtainium_allthemodium_alloy_ingot').toJson()
|
||||
}).id(`kubejs:energizing/allthemodium_unobtainium_allthemodium_alloy_ingot`)
|
||||
|
||||
// ATM-Unobtainium Block
|
||||
event.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('allthemodium:allthemodium_block').toJson(),
|
||||
Ingredient.of('kubejs:piglich_heart_block').toJson(),
|
||||
Ingredient.of('allthemodium:unobtainium_block').toJson()
|
||||
],
|
||||
energy: '8100000000',
|
||||
result: Item.of('allthemodium:unobtainium_allthemodium_alloy_block').toJson()
|
||||
}).id(`kubejs:energizing/allthemodium_unobtainium_allthemodium_alloy_block`)
|
||||
|
||||
// Unobtainium-Vibranium Ingot
|
||||
event.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('allthemodium:vibranium_ingot').toJson(),
|
||||
Ingredient.of('allthemodium:piglich_heart').toJson(),
|
||||
Ingredient.of('allthemodium:unobtainium_ingot').toJson()
|
||||
],
|
||||
energy: '1000000000',
|
||||
result: Item.of('allthemodium:unobtainium_vibranium_alloy_ingot').toJson()
|
||||
}).id(`kubejs:energizing/allthemodium_unobtainium_vibranium_alloy_ingot`)
|
||||
|
||||
// Unobtainium-Vibranium Block
|
||||
event.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('allthemodium:vibranium_block').toJson(),
|
||||
Ingredient.of('kubejs:piglich_heart_block').toJson(),
|
||||
Ingredient.of('allthemodium:unobtainium_block').toJson()
|
||||
],
|
||||
energy: '8100000000',
|
||||
result: Item.of('allthemodium:unobtainium_vibranium_alloy_block').toJson()
|
||||
}).id(`kubejs:energizing/allthemodium_unobtainium_vibranium_alloy_block`)
|
||||
|
||||
// Unobtainium-Vibranium Awakened Block
|
||||
event.custom({
|
||||
"type": "mysticalagriculture:awakening",
|
||||
"essences": {
|
||||
"air": 40,
|
||||
"earth": 40,
|
||||
"water": 40,
|
||||
"fire": 40
|
||||
},
|
||||
"input": {
|
||||
"item": "allthemodium:unobtainium_vibranium_alloy_block"
|
||||
},
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:vibranium_block"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:unobtainium_block"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:vibranium_block"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:unobtainium_block"
|
||||
}
|
||||
],
|
||||
"result":
|
||||
Item.of('allthemodium:unobtainium_vibranium_alloy_block', "{HideFlags:1,display:{Name:'[{\"text\":\"Awakened Unobtainium-Vibranium Alloy Block\",\"italic\":false}]'}}").enchant('unbreaking', 1).toJson()
|
||||
|
||||
}).id(`kubejs:awakening/awakened_unobtainium_vibranium_alloy_block`)
|
||||
|
||||
//Botania
|
||||
//
|
||||
//allthemodium-vibranium ingot
|
||||
event.custom({
|
||||
"type": "botania:terra_plate",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:allthemodium_ingot"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:piglich_heart"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:vibranium_ingot"
|
||||
}
|
||||
],
|
||||
"mana": 1000000,
|
||||
"result": {
|
||||
"item": "allthemodium:vibranium_allthemodium_alloy_ingot"
|
||||
}
|
||||
}).id(`kubejs:terra/allthemodium_vibranium_allthemodium_alloy_ingot`)
|
||||
|
||||
//allthemodium-unobtainium ingot
|
||||
event.custom({
|
||||
"type": "botania:terra_plate",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:allthemodium_ingot"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:piglich_heart"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:unobtainium_ingot"
|
||||
}
|
||||
],
|
||||
"mana": 1000000,
|
||||
"result": {
|
||||
"item": "allthemodium:unobtainium_allthemodium_alloy_ingot"
|
||||
}
|
||||
}).id(`kubejs:terra/allthemodium_unobtainium_allthemodium_alloy_ingot`)
|
||||
|
||||
//unobtainium-vibranium ingot
|
||||
event.custom({
|
||||
"type": "botania:terra_plate",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:unobtainium_ingot"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:piglich_heart"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:vibranium_ingot"
|
||||
}
|
||||
],
|
||||
"mana": 1000000,
|
||||
"result": {
|
||||
"item": "allthemodium:unobtainium_vibranium_alloy_ingot"
|
||||
}
|
||||
}).id(`kubejs:terra/allthemodium_unobtainium_vibranium_alloy_ingot`)
|
||||
|
||||
//allthemodium-vibranium block
|
||||
event.custom({
|
||||
"type": "botania:terra_plate",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:allthemodium_block"
|
||||
},
|
||||
{
|
||||
"item": "kubejs:piglich_heart_block"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:vibranium_block"
|
||||
}
|
||||
],
|
||||
"mana": 8100000,
|
||||
"result": {
|
||||
"item": "allthemodium:vibranium_allthemodium_alloy_block"
|
||||
}
|
||||
}).id(`kubejs:terra/allthemodium_vibranium_allthemodium_alloy_block`)
|
||||
|
||||
//allthemodium-unobtainium block
|
||||
event.custom({
|
||||
"type": "botania:terra_plate",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:allthemodium_block"
|
||||
},
|
||||
{
|
||||
"item": "kubejs:piglich_heart_block"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:unobtainium_block"
|
||||
}
|
||||
],
|
||||
"mana": 8100000,
|
||||
"result": {
|
||||
"item": "allthemodium:unobtainium_allthemodium_alloy_block"
|
||||
}
|
||||
}).id(`kubejs:terra/allthemodium_unobtainium_allthemodium_alloy_block`)
|
||||
|
||||
//unobtainium-vibranium block
|
||||
event.custom({
|
||||
"type": "botania:terra_plate",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "allthemodium:unobtainium_block"
|
||||
},
|
||||
{
|
||||
"item": "kubejs:piglich_heart_block"
|
||||
},
|
||||
{
|
||||
"item": "allthemodium:vibranium_block"
|
||||
}
|
||||
],
|
||||
"mana": 8100000,
|
||||
"result": {
|
||||
"item": "allthemodium:unobtainium_vibranium_alloy_block"
|
||||
}
|
||||
}).id(`kubejs:terra/allthemodium_unobtainium_vibranium_alloy_block`)
|
||||
|
||||
})
|
||||
30
minecraft/kubejs/server_scripts/modpack/atm_shard.js
Normal file
30
minecraft/kubejs/server_scripts/modpack/atm_shard.js
Normal file
@@ -0,0 +1,30 @@
|
||||
ServerEvents.recipes(e => {
|
||||
let shard = ('allthetweaks:atm_star_shard')
|
||||
|
||||
//#SilentGear
|
||||
e.shapeless('32x allthetweaks:allthecatalystium', shard)
|
||||
//#Pipez
|
||||
e.shaped('16x pipez:infinity_upgrade', ['ABA', 'BCB', 'ADA'], {
|
||||
A: 'allthemodium:unobtainium_ingot',
|
||||
B: 'minecraft:redstone_block',
|
||||
C: 'pipez:ultimate_upgrade',
|
||||
D: shard
|
||||
})
|
||||
//#Thermal
|
||||
e.shaped('thermal:machine_efficiency_creative_augment', ['ABA', 'CDC', 'AEA'], {
|
||||
A: 'thermal:upgrade_augment_3',
|
||||
B: 'powah:charged_snowball',
|
||||
C: 'thermal:energy_cell',
|
||||
D: shard,
|
||||
E: 'thermal:lightning_charge'
|
||||
})
|
||||
|
||||
/*
|
||||
//#waterstrainer
|
||||
e.shaped('waterstrainer:super_worm', ['DSD', 'DWD', 'DDD'], {
|
||||
D: '#forge:dirt',
|
||||
S: shard,
|
||||
W: 'waterstrainer:worm'
|
||||
}).id('kubejs:waterstrainer/super_worm')
|
||||
*/
|
||||
})
|
||||
54
minecraft/kubejs/server_scripts/modpack/atm_star.js
Normal file
54
minecraft/kubejs/server_scripts/modpack/atm_star.js
Normal file
@@ -0,0 +1,54 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.custom({
|
||||
type: "create:mechanical_crafting",
|
||||
pattern: [
|
||||
' A ',
|
||||
' AJA ',
|
||||
'AAAJFJAAA',
|
||||
'AJJCDEJJA',
|
||||
' AMBIHMA ',
|
||||
' AKGLA ',
|
||||
' AJJAJJA ',
|
||||
'AJJA AJJA',
|
||||
'AAA AAA'
|
||||
],
|
||||
key: {
|
||||
A: Ingredient.of('allthemodium:unobtainium_allthemodium_alloy_block').toJson(),
|
||||
B: Ingredient.of('allthetweaks:nexium_emitter').toJson(),
|
||||
C: Ingredient.of('allthetweaks:dragon_soul').toJson(),
|
||||
D: Ingredient.of('allthetweaks:withers_compass').toJson(),
|
||||
E: Ingredient.of('allthetweaks:pulsating_black_hole').toJson(),
|
||||
F: Ingredient.of('allthetweaks:oblivion_shard').toJson(),
|
||||
G: Ingredient.of('allthetweaks:improbable_probability_device').toJson(),
|
||||
H: Ingredient.of('allthetweaks:dimensional_seed').toJson(),
|
||||
I: Ingredient.of('allthetweaks:patrick_star').toJson(),
|
||||
J: Ingredient.of('allthecompressed:nether_star_block_3x').toJson(),
|
||||
K: Ingredient.of('allthetweaks:philosophers_fuel').toJson(),
|
||||
L: Ingredient.of('mysticalagradditions:creative_essence').toJson(),
|
||||
M: Item.of('allthemodium:unobtainium_vibranium_alloy_block', "{HideFlags:1,display:{Name:'[{\"text\":\"Awakened Unobtainium-Vibranium Alloy Block\",\"italic\":false}]'}}").enchant('unbreaking', 1).strongNBT().toJson()
|
||||
},
|
||||
result: Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
acceptMirrored: false
|
||||
}).id('kubejs:allthetweaks/atm_star')
|
||||
|
||||
event.custom({
|
||||
type: "create:mechanical_crafting",
|
||||
pattern: [
|
||||
' S ',
|
||||
' SSS ',
|
||||
'SSSSSSSSS',
|
||||
'SSSSSSSSS',
|
||||
' SSSPSSS ',
|
||||
' SSSSS ',
|
||||
' SSSSSSS ',
|
||||
'SSSS SSSS',
|
||||
'SSS SSS'
|
||||
],
|
||||
key: {
|
||||
S: Ingredient.of('allthetweaks:atm_star_shard').toJson(),
|
||||
P: Ingredient.of('allthetweaks:patrick_star').toJson(),
|
||||
},
|
||||
result: Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
acceptMirrored: false
|
||||
}).id('kubejs:allthetweaks/atm_shard_star')
|
||||
})
|
||||
336
minecraft/kubejs/server_scripts/modpack/atm_star_creative.js
Normal file
336
minecraft/kubejs/server_scripts/modpack/atm_star_creative.js
Normal file
@@ -0,0 +1,336 @@
|
||||
/*
|
||||
Authored by Mitchell52, EnigmaQuip
|
||||
for AllTheMods 8
|
||||
*/
|
||||
ServerEvents.recipes(e => {
|
||||
function pressure(inputs, result, rCount, pressure) {
|
||||
e.custom({
|
||||
type: 'pneumaticcraft:pressure_chamber',
|
||||
inputs: inputs,
|
||||
pressure: pressure,
|
||||
results: [{
|
||||
item: result,
|
||||
count: rCount
|
||||
}]
|
||||
}).id(`kubejs:pressure/${result.replace(':', '/')}`)
|
||||
}
|
||||
|
||||
///# AE2
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('ae2:dense_energy_cell').toJson(),
|
||||
Ingredient.of('ae2:dense_energy_cell').toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
Ingredient.of('ae2:dense_energy_cell').toJson(),
|
||||
Ingredient.of('ae2:dense_energy_cell').toJson(),
|
||||
],
|
||||
energy: '2147483647',
|
||||
result: Item.of('ae2:creative_energy_cell').toJson()
|
||||
}).id(`kubejs:energizing/ae2_creative_energy_cell`)
|
||||
|
||||
///# Ars Noveau
|
||||
e.shaped(Item.of('ars_nouveau:creative_spell_book', {
|
||||
mode: 0,
|
||||
spells: 'intangible,ignite,flare,strength,craft,cold_snap,rune,snare,slowfall,freeze,split,crush,smelt,summon_steed,accelerate,summon_vex,lightning,grow,dampen,touch,invisibility,extract,delay,light,duration_down,exchange,place_block,summon_wolves,shield,conjure_water,cut,harm,interact,blink,amplify,phantom_block,fell,extend_time,heal,leap,redstone_signal,pierce,harvest,fortune,break,pickup,launch,dispel,haste,ender_inventory,pull,explosion,fangs,aoe,gravity,self,aquatic,projectile,wither,gust'
|
||||
}),
|
||||
['BSG', 'GGE', 'EER'],
|
||||
{
|
||||
B: Ingredient.of('ars_nouveau:archmage_spell_book').toJson(),
|
||||
S: Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
G: Ingredient.of('ars_nouveau:source_gem_block').toJson(),
|
||||
E: Ingredient.of('minecraft:ender_eye').toJson(),
|
||||
R: Ingredient.of('tombstone:soul_receptacle').toJson()
|
||||
}
|
||||
)
|
||||
|
||||
e.shaped('ars_nouveau:creative_source_jar', ['GMG', 'GSG', 'GGG'], {
|
||||
G: '#forge:glass',
|
||||
S: 'allthetweaks:atm_star',
|
||||
M: 'ars_nouveau:source_gem_block'
|
||||
})
|
||||
|
||||
///# Botania
|
||||
e.shaped('botania:creative_pool', ['RMR', 'MSM', 'RMR'], {
|
||||
S: 'allthetweaks:atm_star',
|
||||
M: 'botania:mana_pool',
|
||||
R: '#botania:runes'
|
||||
}).id('kubejs:botania/creative_pool')
|
||||
|
||||
e.shaped(Item.of('botania:mana_tablet', '{creative:1b,mana:500000}'), ['RMR', 'MSM', 'RMR'], {
|
||||
S: 'allthetweaks:atm_star',
|
||||
M: 'botania:mana_tablet',
|
||||
R: '#botania:runes'
|
||||
}).id('kubejs:botania/creative_tablet')
|
||||
|
||||
///# Create
|
||||
e.custom({
|
||||
type: "create:mechanical_crafting",
|
||||
pattern: ['CLC', 'HSH', 'LGL'],
|
||||
key: {
|
||||
C: Ingredient.of('create:cogwheel').toJson(),
|
||||
L: Ingredient.of('create:large_cogwheel').toJson(),
|
||||
H: Ingredient.of('create:shaft').toJson(),
|
||||
S: Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
G: Ingredient.of('create:gearbox').toJson()
|
||||
},
|
||||
result: Ingredient.of('create:creative_motor').toJson(),
|
||||
acceptMirrored: false
|
||||
}).id('kubejs:create/creative_motor')
|
||||
|
||||
e.custom({
|
||||
type: 'create:mixing',
|
||||
ingredients: [
|
||||
Ingredient.of('create:blaze_cake').toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
Ingredient.of('croptopia:tres_leche_cake').toJson()
|
||||
],
|
||||
results: [Ingredient.of('create:creative_blaze_cake').toJson()],
|
||||
heatRequirement: 'superheated'
|
||||
})
|
||||
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('create:flywheel',).toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
Ingredient.of('createaddition:alternator',).toJson()
|
||||
],
|
||||
energy: '2147483647',
|
||||
result: Item.of('createaddition:creative_energy').toJson()
|
||||
}).id(`kubejs:energizing/createaddition_creative_energy`)
|
||||
|
||||
///# Elementalcraft
|
||||
e.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 60000,
|
||||
"element_type": "fire",
|
||||
"ingredients": [
|
||||
{"item": "allthetweaks:atm_star"},
|
||||
{"item": "elementalcraft:firecrystal"},
|
||||
{"item": "elementalcraft:reservoir_fire"},
|
||||
Item.of('elementalcraft:container', '{BlockEntityTag:{element_storage:{element_amount:100000,element_capacity:100000,element_type:"fire"}}}').strongNBT().toJson(),
|
||||
{"item": "elementalcraft:reservoir_fire"},
|
||||
{"item": "elementalcraft:firecrystal"}
|
||||
],
|
||||
"output": Item.of('elementalcraft:creative_container', '{BlockEntityTag:{element_storage:{element_amount:1000000,element_capacity:1000000,element_type:"fire"}}}').toJson()
|
||||
}).id('kubejs:elementalcraft/creative_fire_container')
|
||||
|
||||
e.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 60000,
|
||||
"element_type": "water",
|
||||
"ingredients": [
|
||||
{"item": "allthetweaks:atm_star"},
|
||||
{"item": "elementalcraft:watercrystal"},
|
||||
{"item": "elementalcraft:reservoir_water"},
|
||||
Item.of('elementalcraft:container', '{BlockEntityTag:{element_storage:{element_amount:100000,element_capacity:100000,element_type:"water"}}}').strongNBT().toJson(),
|
||||
{"item": "elementalcraft:reservoir_water"},
|
||||
{"item": "elementalcraft:watercrystal"}
|
||||
],
|
||||
"output": Item.of('elementalcraft:creative_container', '{BlockEntityTag:{element_storage:{element_amount:1000000,element_capacity:1000000,element_type:"water"}}}').toJson()
|
||||
}).id('kubejs:elementalcraft/creative_water_container')
|
||||
|
||||
e.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 60000,
|
||||
"element_type": "earth",
|
||||
"ingredients": [
|
||||
{"item": "allthetweaks:atm_star"},
|
||||
{"item": "elementalcraft:earthcrystal"},
|
||||
{"item": "elementalcraft:reservoir_earth"},
|
||||
Item.of('elementalcraft:container', '{BlockEntityTag:{element_storage:{element_amount:100000,element_capacity:100000,element_type:"earth"}}}').strongNBT().toJson(),
|
||||
{"item": "elementalcraft:reservoir_earth"},
|
||||
{"item": "elementalcraft:earthcrystal"}
|
||||
],
|
||||
"output": Item.of('elementalcraft:creative_container', '{BlockEntityTag:{element_storage:{element_amount:1000000,element_capacity:1000000,element_type:"earth"}}}').toJson()
|
||||
}).id('kubejs:elementalcraft/creative_earth_container')
|
||||
|
||||
e.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 60000,
|
||||
"element_type": "air",
|
||||
"ingredients": [
|
||||
{"item": "allthetweaks:atm_star"},
|
||||
{"item": "elementalcraft:aircrystal"},
|
||||
{"item": "elementalcraft:reservoir_air"},
|
||||
Item.of('elementalcraft:container', '{BlockEntityTag:{element_storage:{element_amount:100000,element_capacity:100000,element_type:"air"}}}').strongNBT().toJson(),
|
||||
{"item": "elementalcraft:reservoir_air"},
|
||||
{"item": "elementalcraft:aircrystal"}
|
||||
],
|
||||
"output": Item.of('elementalcraft:creative_container', '{BlockEntityTag:{element_storage:{element_amount:1000000,element_capacity:1000000,element_type:"air"}}}').toJson()
|
||||
}).id('kubejs:elementalcraft/creative_air_container')
|
||||
|
||||
///# Integrated Dynamics
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('integrateddynamics:energy_battery').toJson(),
|
||||
Ingredient.of('integrateddynamics:energy_battery').toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
Ingredient.of('integrateddynamics:energy_battery').toJson(),
|
||||
Ingredient.of('integrateddynamics:energy_battery').toJson(),
|
||||
],
|
||||
energy: '2147483647',
|
||||
result: Item.of('integrateddynamics:energy_battery_creative').toJson()
|
||||
}).id(`kubejs:energizing/integrateddynamics_energy_battery_creative`)
|
||||
|
||||
///# IronJetpacks
|
||||
e.shaped(Item.of('ironjetpacks:cell', { Id: "ironjetpacks:creative" }).strongNBT(), [
|
||||
' A ',
|
||||
'BCB',
|
||||
' A '
|
||||
], {
|
||||
A: '#forge:storage_blocks/redstone',
|
||||
B: 'allthemodium:unobtainium_block',
|
||||
C: 'powah:battery_nitro'
|
||||
}).id('kubejs:ironjetpacks_creative_cell')
|
||||
|
||||
e.shaped(Item.of('ironjetpacks:thruster', { Id: "ironjetpacks:creative" }).strongNBT(), [
|
||||
'ABA',
|
||||
'BCB',
|
||||
'ADA'
|
||||
], {
|
||||
A: 'allthemodium:unobtainium_block',
|
||||
B: 'powah:nitro_crystal_block',
|
||||
C: Item.of('ironjetpacks:cell', { Id: "ironjetpacks:creative" }).strongNBT(),
|
||||
D: 'ironfurnaces:unobtainium_furnace'
|
||||
}).id('kubejs:ironjetpacks_creative_thruster')
|
||||
|
||||
e.shaped(Item.of('ironjetpacks:capacitor', { Id: "ironjetpacks:creative" }), [
|
||||
'ACA',
|
||||
'BDB',
|
||||
'AEA'
|
||||
], {
|
||||
A: 'allthemodium:unobtainium_block',
|
||||
B: 'mekanism:sps_casing',
|
||||
C: 'powah:reactor_nitro',
|
||||
D: 'mekanism:ultimate_induction_cell',
|
||||
E: 'powah:reactor_nitro'
|
||||
}).id('kubejs:ironjetpacks_creative_capacator')
|
||||
|
||||
e.shaped(Item.of('ironjetpacks:jetpack', { Id: "ironjetpacks:creative" }).strongNBT(), [
|
||||
'ACA',
|
||||
'BFB',
|
||||
'DED'
|
||||
], {
|
||||
A: 'mysticalagradditions:creative_essence',
|
||||
B: 'allthemodium:vibranium_allthemodium_alloy_block',
|
||||
C: Item.of('ironjetpacks:capacitor', { Id: "ironjetpacks:creative" }).strongNBT(),
|
||||
D: Item.of('ironjetpacks:thruster', { Id: "ironjetpacks:creative" }).strongNBT(),
|
||||
E: 'allthetweaks:atm_star',
|
||||
F: Item.of('ironjetpacks:jetpack', { Id: "ironjetpacks:emerald" }).strongNBT()
|
||||
}).id('kubejs:ironjetpacks_creative_jetpack')
|
||||
|
||||
///#Mekanism
|
||||
e.shaped('mekanism:creative_energy_cube', ['ATA', 'UCU', 'ATA'], {
|
||||
A: 'mekanism:alloy_atomic',
|
||||
T: 'mekanism:energy_tablet',
|
||||
U: 'allthemodium:unobtainium_block',
|
||||
C: 'mekanism:ultimate_energy_cube'
|
||||
}).id('kubejs:mekanism/creative_energy_cube')
|
||||
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('mekanism:creative_energy_cube',).toJson(),
|
||||
Ingredient.of('mekanism:creative_energy_cube',).toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
Ingredient.of('mekanism:creative_energy_cube',).toJson(),
|
||||
Ingredient.of('mekanism:creative_energy_cube',).toJson(),
|
||||
],
|
||||
energy: '2147483647',
|
||||
result: Item.of('mekanism:creative_energy_cube', '{mekData:{EnergyContainers:[{Container:0b,stored:"18446744073709551615.9999"}]}}').toJson()
|
||||
}).id(`kubejs:energizing/mekanism_creative_energy_cube`)
|
||||
|
||||
///# Powah
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('powah:energy_cell_nitro').toJson(),
|
||||
Ingredient.of('powah:energy_cell_nitro').toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson(),
|
||||
Ingredient.of('powah:energy_cell_nitro').toJson(),
|
||||
Ingredient.of('powah:energy_cell_nitro').toJson(),
|
||||
],
|
||||
energy: '2147483647',
|
||||
result: Item.of('powah:energy_cell_creative').toJson()
|
||||
}).id(`kubejs:energizing/powah_energy_cell_creative`)
|
||||
|
||||
///# Pnc
|
||||
pressure([
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:advanced_pressure_tube', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:electrostatic_compressor', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:advanced_pressure_tube', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:flux_compressor', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'allthetweaks:atm_star', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:advanced_air_compressor', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:advanced_pressure_tube', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:advanced_liquid_compressor', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:advanced_pressure_tube', 'count': 64 }
|
||||
], 'pneumaticcraft:creative_compressor', 1, 4.9)
|
||||
|
||||
pressure([
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'allthetweaks:atm_star', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:compressed_iron_block', 'count': 64 }
|
||||
], 'pneumaticcraft:creative_compressed_iron_block', 1, 4.9)
|
||||
|
||||
|
||||
///# Refined storage
|
||||
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [Ingredient.of('refinedstorage:wireless_grid').toJson()],
|
||||
energy: '2147483647',
|
||||
result: Item.of('refinedstorage:creative_wireless_grid').toJson()
|
||||
}).id(`kubejs:energizing/refinedstorage_creative_wireless_grid`)
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [Ingredient.of('refinedstorage:wireless_fluid_grid').toJson()],
|
||||
energy: '2147483647',
|
||||
result: Item.of('refinedstorage:creative_wireless_fluid_grid').toJson()
|
||||
}).id(`kubejs:energizing/refinedstorage_creative_wireless_fluid_grid`)
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [Ingredient.of('refinedstorage:wireless_crafting_monitor').toJson()],
|
||||
energy: '2147483647',
|
||||
result: Item.of('refinedstorage:creative_wireless_crafting_monitor').toJson()
|
||||
}).id(`kubejs:energizing/refinedstorage_creative_wireless_crafting_monitor`)
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [Ingredient.of('refinedstorageaddons:wireless_crafting_grid').toJson()],
|
||||
energy: '2147483647',
|
||||
result: Item.of('refinedstorageaddons:creative_wireless_crafting_grid').toJson()
|
||||
}).id(`kubejs:energizing/refinedstorage_creative_wireless_crafting_grid`)
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [Ingredient.of('refinedstorage:portable_grid').toJson()],
|
||||
energy: '2147483647',
|
||||
result: Item.of('refinedstorage:creative_portable_grid').toJson()
|
||||
}).id(`kubejs:energizing/refinedstorage_creative_portable_grid`)
|
||||
e.custom({
|
||||
type: 'powah:energizing',
|
||||
ingredients: [
|
||||
Ingredient.of('refinedstorage:controller').toJson(),
|
||||
Ingredient.of('allthetweaks:atm_star').toJson()
|
||||
],
|
||||
energy: '2147483647',
|
||||
result: Item.of('refinedstorage:creative_controller').toJson()
|
||||
}).id(`kubejs:energizing/refinedstorage_creative_controller`)
|
||||
|
||||
///# Universal Grid
|
||||
e.shaped('universalgrid:creative_wireless_universal_grid', ['ABA', 'CBD', 'ABA'], {
|
||||
A: 'allthemodium:unobtainium_ingot',
|
||||
B: 'refinedstorage:quartz_enriched_iron',
|
||||
C: 'refinedstorageaddons:creative_wireless_crafting_grid',
|
||||
D: 'universalgrid:wireless_universal_grid'
|
||||
}).id('kubejs:universalgrid/creative_wireless_universal_grid')
|
||||
|
||||
})
|
||||
164
minecraft/kubejs/server_scripts/modpack/att_items.js
Normal file
164
minecraft/kubejs/server_scripts/modpack/att_items.js
Normal file
@@ -0,0 +1,164 @@
|
||||
ServerEvents.recipes(event => {
|
||||
// Dragon Soul
|
||||
// Alfred's Proposal
|
||||
event.shaped('allthetweaks:dragon_soul', ['CDA', 'SNI', 'BGE'], {
|
||||
C: 'mysticalagradditions:dragon_scale',
|
||||
D: 'occultism:soul_gem',
|
||||
A: 'quark:dragon_scale',
|
||||
S: [Item.of('blue_skies:poison_arc', '{ArcLevel:1}').strongNBT(),Item.of('blue_skies:poison_arc', '{ArcLevel:2}').strongNBT(),'twilightforest:snow_queen_trophy'],
|
||||
N: 'allthemodium:piglich_heart',
|
||||
I: [Item.of('blue_skies:nature_arc', '{ArcLevel:1}').strongNBT(),Item.of('blue_skies:nature_arc', '{ArcLevel:2}').strongNBT(),'twilightforest:snow_queen_trophy'],
|
||||
B: 'minecraft:dragon_breath',
|
||||
G: 'productivebees:inactive_dragon_egg',
|
||||
E: 'ars_nouveau:summon_focus'
|
||||
}).id('kubejs:allthetweaks/dragon_soul')
|
||||
|
||||
// Dimensional Seed Recipe
|
||||
event.custom({
|
||||
"type": "spirit:soul_engulfing",
|
||||
"input": {
|
||||
|
||||
"ingredient": {
|
||||
"item": "mysticalagriculture:soulium_seed_base"
|
||||
},
|
||||
"multiblock": {
|
||||
"pattern": [
|
||||
[
|
||||
" F ", //bottom
|
||||
"E@ ", //middle
|
||||
" G " //top
|
||||
],
|
||||
[
|
||||
"ACI",
|
||||
"BXD",
|
||||
"AHJ"
|
||||
]
|
||||
],
|
||||
"keys": {
|
||||
"A": {
|
||||
"block": "occultism:storage_controller"
|
||||
},
|
||||
"B": {
|
||||
"block": "allthecompressed:netherrack_block_6x"
|
||||
},
|
||||
"C": {
|
||||
"block": "allthecompressed:obsidian_block_5x"
|
||||
},
|
||||
"D": {
|
||||
"block": "allthemodium:teleport_pad"
|
||||
},
|
||||
"E": {
|
||||
"block": "allthetweaks:mini_nether"
|
||||
},
|
||||
"F": {
|
||||
"block": "allthetweaks:mini_exit"
|
||||
},
|
||||
"G": {
|
||||
"block": "allthetweaks:mini_end"
|
||||
},
|
||||
"H": {
|
||||
"block": "allthecompressed:end_stone_block_5x"
|
||||
},
|
||||
"I": {
|
||||
"block": "allthecompressed:emerald_block_5x"
|
||||
},
|
||||
"J": {
|
||||
"block": "allthecompressed:diamond_block_4x"
|
||||
},
|
||||
"X": {
|
||||
"block": "allthecompressed:soul_sand_block_5x"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"duration": 30,
|
||||
"destroysStructure": true,
|
||||
"outputItem": "allthetweaks:dimensional_seed"
|
||||
}).id('kubejs:allthetweaks/dimensional_seed')
|
||||
|
||||
// Withers Compass
|
||||
// Alfred's Proposal
|
||||
event.shaped('allthetweaks:withers_compass', ['DCD', 'ABA', 'DED'], {
|
||||
A: 'mekanism:module_gravitational_modulating_unit',
|
||||
B: 'industrialforegoing:wither_builder',
|
||||
C: 'deeperdarker:heart_of_the_deep',
|
||||
D: 'ftbic:antimatter_crystal',
|
||||
E: 'mekanism:module_gravitational_modulating_unit'
|
||||
}).id('kubejs:allthetweaks/withers_compass')
|
||||
|
||||
// Philosopher's Fuel
|
||||
// Alfred's Proposal
|
||||
event.shaped('allthetweaks:philosophers_fuel', ['ABC', 'DEF', 'GHI'], {
|
||||
A: 'chemlib:oganesson',
|
||||
B: 'mekanism:pellet_antimatter',
|
||||
C: Item.of('ftbic:quad_uranium_fuel_rod', '{Damage:0}').strongNBT(),
|
||||
D: Item.of('evilcraft:flesh_rejuvenated', '{Fluid:{Amount:0,FluidName:"minecraft:empty"},capacity:10000}'),
|
||||
E: 'mysticalagradditions:insanium_coal_block',
|
||||
F: 'elementalcraft:fireite_ingot',
|
||||
G: 'mysticalagriculture:awakened_supremium_furnace',
|
||||
H: 'twilightforest:twilight_portal_miniature_structure',
|
||||
I: 'ftbic:nuclear_reactor'
|
||||
}).id('kubejs:allthetweaks/philosophers_fuel')
|
||||
|
||||
// Improbable Probaility Device
|
||||
// Alfred's Proposal
|
||||
event.shaped('allthetweaks:improbable_probability_device', ['ABA', 'CGE', 'FDF'], {
|
||||
A: 'mekanismgenerators:module_solar_recharging_unit',
|
||||
B: 'computercraft:pocket_computer_advanced',
|
||||
C: ['extradisks:1048576k_storage_part', 'extradisks:1048576k_fluid_storage_part', 'megacells:cell_component_256m'],
|
||||
D: 'advgenerators:power_capacitor_tier3',
|
||||
E: 'rftoolsutility:flight_module',
|
||||
F: Item.of('powah:battery_nitro', '{powah_tile_data:{energy_stored_main_energy:2000000000L}}').strongNBT(),
|
||||
G: 'ftbic:nuke'
|
||||
}).id('kubejs:allthetweaks/improbable_probability_device')
|
||||
|
||||
// Nexium Emitter
|
||||
// Alfred's Proposal
|
||||
event.shaped('allthetweaks:nexium_emitter', ['A B', ' CF', 'GED'], {
|
||||
A: 'powah:player_transmitter_nitro',
|
||||
B: [Item.of('ae2wtlib:wireless_universal_terminal', '{crafting:1b,internalMaxPower:4800000.0d,pattern_access:1b,pattern_encoding:1b}'), Item.of('universalgrid:wireless_universal_grid', '{gridType:0}')],
|
||||
C: 'mekanism:supercharged_coil',
|
||||
D: 'ftbic:ev_solar_panel',
|
||||
E: 'ae2:singularity',
|
||||
F: 'mekanismgenerators:module_solar_recharging_unit',
|
||||
G: 'immersiveengineering:tesla_coil'
|
||||
}).id('kubejs:allthetweaks/nexium_emitter')
|
||||
|
||||
// Pulsating Black Hole
|
||||
// Alfred's Proposal
|
||||
event.custom({
|
||||
type: 'pneumaticcraft:pressure_chamber',
|
||||
inputs: [
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'ftbic:nuke', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'ae2:quantum_ring', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'pneumaticcraft:micromissiles', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'mekanism:pellet_antimatter', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'minecraft:nether_star', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'ftbic:antimatter', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'industrialforegoing:infinity_nuke', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'apotheosis:vial_of_expulsion', 'count': 1 },
|
||||
{ 'type': 'pneumaticcraft:stacked_item', 'item': 'evilcraft:lightning_bomb', 'count': 1 }
|
||||
],
|
||||
pressure: 4.9,
|
||||
results: [
|
||||
{
|
||||
'item': 'allthetweaks:pulsating_black_hole'
|
||||
}
|
||||
]
|
||||
}).id('kubejs:pressure/allthetweaks/pulsating_black_hole')
|
||||
|
||||
// Oblivion Shard
|
||||
// Alfred's Proposal
|
||||
event.shaped('allthetweaks:oblivion_shard', [' AB', 'ACA', 'BA '], {
|
||||
A: 'spirit:soul_steel_block',
|
||||
C: 'naturesaura:end_flower',
|
||||
B: 'naturesaura:chunk_loader'
|
||||
}).id('kubejs:allthetweaks/oblivion_shard')
|
||||
|
||||
// Creative Essence
|
||||
event.shaped('mysticalagradditions:creative_essence', ['CAC', 'ABA', 'CAC'], {
|
||||
A: 'mysticalagradditions:insanium_block',
|
||||
C: 'mysticalagradditions:insanium_gemstone_block',
|
||||
B: 'mysticalagriculture:master_infusion_crystal'
|
||||
}).id('kubejs:allthetweaks/creative_essence')
|
||||
})
|
||||
9
minecraft/kubejs/server_scripts/modpack/bugs.js
Normal file
9
minecraft/kubejs/server_scripts/modpack/bugs.js
Normal file
@@ -0,0 +1,9 @@
|
||||
ServerEvents.recipes(event => {
|
||||
//removal of recipes due to dupe bug
|
||||
//https://github.com/JoeFoxe/Hexerei-1.19/issues/36
|
||||
event.remove({ id: 'hexerei:mahogany_drying_rack'})
|
||||
event.remove({ id: 'hexerei:witch_hazel_drying_rack'})
|
||||
event.remove({ id: 'hexerei:willow_drying_rack'})
|
||||
|
||||
event.remove({ id:'securitycraft:projector'})
|
||||
})
|
||||
148
minecraft/kubejs/server_scripts/modpack/mini_portals.js
Normal file
148
minecraft/kubejs/server_scripts/modpack/mini_portals.js
Normal file
@@ -0,0 +1,148 @@
|
||||
ServerEvents.recipes(event => {
|
||||
|
||||
// Twilight Mini Structure
|
||||
event.custom({
|
||||
"type": "mysticalagriculture:awakening",
|
||||
"essences": {
|
||||
"air": 40,
|
||||
"earth": 40,
|
||||
"water": 40,
|
||||
"fire": 40
|
||||
},
|
||||
"input": {
|
||||
"item": "twilightforest:snow_queen_trophy"
|
||||
},
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "twilightforest:fiery_block"
|
||||
},
|
||||
{
|
||||
"item": "twilightforest:knightmetal_block"
|
||||
},
|
||||
{
|
||||
"item": "twilightforest:steeleaf_block"
|
||||
},
|
||||
{
|
||||
"item": "twilightforest:carminite_block"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "twilightforest:twilight_portal_miniature_structure"
|
||||
}
|
||||
}).id(`kubejs:awakening/twilight_portal_miniature_structure`)
|
||||
|
||||
// Mini Nether
|
||||
event.shaped('allthetweaks:mini_nether', ['ADA', 'BCB', 'AEA'], {
|
||||
A: 'minecraft:obsidian',
|
||||
B: 'minecraft:nether_star',
|
||||
C: Item.of('mekanism:teleportation_core', "{HideFlags:1,display:{Name:'[{\"text\":\"Nether Infused Teleportation Core\",\"italic\":false}]'}}").enchant('unbreaking', 1).strongNBT().toJson(),
|
||||
D: 'minecraft:wither_skeleton_skull',
|
||||
E: 'minecraft:warped_nylium'
|
||||
|
||||
}).id('kubejs:allthetweaks/mini_nether')
|
||||
|
||||
// Nether Infused Teleportation Core
|
||||
event.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 10000,
|
||||
"element_type": "fire",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "mekanism:teleportation_core"
|
||||
},
|
||||
{
|
||||
"item": "elementalcraft:purecrystal"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
|
||||
Item.of('elementalcraft:jewel', '{elementalcraft:{jewel:"elementalcraft:piglin"}}').strongNBT().toJson(),
|
||||
|
||||
{
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
{
|
||||
"item": "elementalcraft:purecrystal"
|
||||
}
|
||||
],
|
||||
"output": Item.of('mekanism:teleportation_core', "{HideFlags:1,display:{Name:'[{\"text\":\"Nether Infused Teleportation Core\",\"italic\":false}]'}}").enchant('unbreaking', 1).toJson()
|
||||
}).id('kubejs:allthetweaks/nether_core')
|
||||
|
||||
// Mini End
|
||||
event.shaped('allthetweaks:mini_end', ['ABA', 'BCB', 'ABA'], {
|
||||
A: 'additional_lights:fire_pit_s_end_stone',
|
||||
B: 'minecraft:ender_eye',
|
||||
C: Item.of('mekanism:teleportation_core', "{HideFlags:1,display:{Name:'[{\"text\":\"Ender Infused Teleportation Core\",\"italic\":false}]'}}").enchant('unbreaking', 1).strongNBT().toJson()
|
||||
|
||||
}).id('kubejs:allthetweaks/mini_end')
|
||||
|
||||
// Ender Infused Teleportation Core
|
||||
event.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 10000,
|
||||
"element_type": "air",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "mekanism:teleportation_core"
|
||||
},
|
||||
{
|
||||
"item": "elementalcraft:purecrystal"
|
||||
},
|
||||
{
|
||||
"item": "allthetweaks:ender_pearl_block"
|
||||
},
|
||||
|
||||
Item.of('elementalcraft:jewel', '{elementalcraft:{jewel:"elementalcraft:demigod"}}').strongNBT().toJson(),
|
||||
|
||||
{
|
||||
"item": "allthetweaks:ender_pearl_block"
|
||||
},
|
||||
{
|
||||
"item": "elementalcraft:purecrystal"
|
||||
}
|
||||
],
|
||||
"output": Item.of('mekanism:teleportation_core', "{HideFlags:1,display:{Name:'[{\"text\":\"Ender Infused Teleportation Core\",\"italic\":false}]'}}").enchant('unbreaking', 1).toJson()
|
||||
}).id('kubejs:allthetweaks/ender_core')
|
||||
|
||||
|
||||
// Mini Exit
|
||||
event.shaped('allthetweaks:mini_exit', ['ABA', 'DCD', 'ADA'], {
|
||||
A: 'additional_lights:fire_pit_s_end_stone',
|
||||
B: 'minecraft:dragon_egg',
|
||||
C: Item.of('mekanism:teleportation_core', "{HideFlags:1,display:{Name:'[{\"text\":\"Draconic Infused Teleportation Core\",\"italic\":false}]'}}").enchant('unbreaking', 1).strongNBT().toJson(),
|
||||
D: 'minecraft:end_crystal'
|
||||
|
||||
}).id('kubejs:allthetweaks/mini_exit')
|
||||
|
||||
|
||||
// Draconic Infused Teleportation Core
|
||||
event.custom({
|
||||
"type": "elementalcraft:binding",
|
||||
"element_amount": 10000,
|
||||
"element_type": "fire",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "mekanism:teleportation_core"
|
||||
},
|
||||
{
|
||||
"item": "elementalcraft:purecrystal"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:dragon_egg"
|
||||
},
|
||||
|
||||
Item.of('elementalcraft:jewel', '{elementalcraft:{jewel:"elementalcraft:phoenix"}}').strongNBT().toJson(),
|
||||
|
||||
{
|
||||
"item": "minecraft:dragon_egg"
|
||||
},
|
||||
{
|
||||
"item": "elementalcraft:purecrystal"
|
||||
}
|
||||
],
|
||||
"output": Item.of('mekanism:teleportation_core', "{HideFlags:1,display:{Name:'[{\"text\":\"Draconic Infused Teleportation Core\",\"italic\":false}]'}}").enchant('unbreaking', 1).toJson()
|
||||
}).id('kubejs:allthetweaks/draco_core')
|
||||
|
||||
|
||||
})
|
||||
123
minecraft/kubejs/server_scripts/modpack/music_discs.js
Normal file
123
minecraft/kubejs/server_scripts/modpack/music_discs.js
Normal file
@@ -0,0 +1,123 @@
|
||||
///# What are you doing in here?
|
||||
ServerEvents.recipes(e => {
|
||||
//Vanilla
|
||||
e.shaped('minecraft:music_disc_otherside',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'mysticalagriculture:creeper_essence',
|
||||
S: 'mysticalagriculture:skeleton_essence',
|
||||
D: 'minecraft:blue_dye'
|
||||
}).id('kubejs:minecraft/music_disk_otherside')
|
||||
|
||||
//Ars Nouveau
|
||||
e.shaped('ars_nouveau:music_disc_aria_biblio',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'ars_nouveau:mendosteen_pod',
|
||||
S: 'ars_nouveau:bombegranate_pod',
|
||||
D: 'ars_nouveau:source_gem'
|
||||
}).id('kubejs:ars_nouveau/music_disc_aria_biblio')
|
||||
|
||||
//botania
|
||||
e.shaped('botania:record_gaia_1',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'botania:manasteel_nugget',
|
||||
S: 'mysticalagriculture:mystical_flower_essence',
|
||||
D: 'botania:gray_petal'
|
||||
}).id('kubejs:botania/record_gaia_1')
|
||||
e.shaped('botania:record_gaia_2',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'botania:manasteel_nugget',
|
||||
S: 'mysticalagriculture:mystical_flower_essence',
|
||||
D: 'botania:black_petal'
|
||||
}).id('kubejs:botania/record_gaia_2')
|
||||
|
||||
//Blue skies
|
||||
e.shaped('blue_skies:blinding_rage',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'blue_skies:aquite',
|
||||
S: 'minecraft:gray_dye',
|
||||
D: 'minecraft:blue_dye'
|
||||
}).id('kubejs:blue_skies/blinding_rage')
|
||||
e.shaped('blue_skies:defying_starlight',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'blue_skies:aquite',
|
||||
S: 'minecraft:green_dye',
|
||||
D: 'minecraft:yellow_dye'
|
||||
}).id('kubejs:blue_skies/defying_starlight')
|
||||
e.shaped('blue_skies:venomous_encounter',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'blue_skies:aquite',
|
||||
S: 'minecraft:magenta_dye',
|
||||
D: 'minecraft:purple_dye'
|
||||
}).id('kubejs:blue_skies/venomous_encounter')
|
||||
e.shaped('blue_skies:population',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'blue_skies:aquite',
|
||||
S: 'minecraft:cyan_dye',
|
||||
D: 'minecraft:magenta_dye'
|
||||
}).id('kubejs:blue_skies/population')
|
||||
|
||||
//Quark
|
||||
e.shaped('quark:music_disc_endermosh',['MC', 'SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'quark:red_corundum_cluster',
|
||||
S: 'minecraft:purple_dye',
|
||||
D: 'minecraft:red_dye'
|
||||
}).id('kubejs:quark/endermosh')
|
||||
|
||||
//Twilight
|
||||
e.shaped('twilightforest:music_disc_radiance',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:yellow_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_radiance')
|
||||
e.shaped('twilightforest:music_disc_steps',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:cyan_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_steps')
|
||||
e.shaped('twilightforest:music_disc_superstitious',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:purple_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_superstitious')
|
||||
e.shaped('twilightforest:music_disc_home',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:pink_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_home')
|
||||
e.shaped('twilightforest:music_disc_wayfarer',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:blue_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_wayfarer')
|
||||
e.shaped('twilightforest:music_disc_findings',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:orange_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_findings')
|
||||
e.shaped('twilightforest:music_disc_maker',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:magenta_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_maker')
|
||||
e.shaped('twilightforest:music_disc_thread',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:red_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_thread')
|
||||
e.shaped('twilightforest:music_disc_motion',['MC','SD'],{
|
||||
M: 'mysticalagriculture:blank_record',
|
||||
C: 'twilightforest:raven_feather',
|
||||
S: 'twilightforest:torchberries',
|
||||
D: 'minecraft:light_blue_dye'
|
||||
}).id('kubejs:twilightforest/music_disc_motion')
|
||||
|
||||
})
|
||||
27
minecraft/kubejs/server_scripts/modpack/patrick_star.js
Normal file
27
minecraft/kubejs/server_scripts/modpack/patrick_star.js
Normal file
@@ -0,0 +1,27 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.custom({
|
||||
type: "create:mechanical_crafting",
|
||||
pattern: [
|
||||
' B ',
|
||||
' BCA ',
|
||||
'BBBGCABBB',
|
||||
'ACGCGGGCA',
|
||||
' AAGGGBA ',
|
||||
' EDDDE ',
|
||||
' EFEDEFE ',
|
||||
'BEDD DDEB',
|
||||
'AAA AAA'
|
||||
],
|
||||
key: {
|
||||
A: Ingredient.of('minecraft:magenta_concrete').toJson(),
|
||||
B: Ingredient.of('minecraft:pink_concrete').toJson(),
|
||||
C: Ingredient.of('minecraft:pink_concrete_powder').toJson(),
|
||||
D: Ingredient.of('minecraft:green_concrete').toJson(),
|
||||
E: Ingredient.of('minecraft:green_concrete_powder').toJson(),
|
||||
F: Ingredient.of('minecraft:lime_concrete').toJson(),
|
||||
G: Ingredient.of('minecraft:magenta_concrete_powder').toJson()
|
||||
},
|
||||
result: Ingredient.of('allthetweaks:patrick_star').toJson(),
|
||||
acceptMirrored: false
|
||||
}).id('kubejs:allthetweaks/patrick_star')
|
||||
})
|
||||
11
minecraft/kubejs/server_scripts/mods/ad_astra/ad_astra.js
Normal file
11
minecraft/kubejs/server_scripts/mods/ad_astra/ad_astra.js
Normal file
@@ -0,0 +1,11 @@
|
||||
ServerEvents.recipes(e=> {
|
||||
e.remove({ id: 'ad_astra:recipes/steel_ingot_from_blasting_iron_ingot'})
|
||||
|
||||
//oil is oil
|
||||
e.custom({
|
||||
type: "ad_astra:fuel_conversion",
|
||||
input: "#forge:crude_oil",
|
||||
output: "ad_astra:fuel",
|
||||
conversion_ratio: 1.0,
|
||||
})
|
||||
})
|
||||
9
minecraft/kubejs/server_scripts/mods/ae/recipes.js
Normal file
9
minecraft/kubejs/server_scripts/mods/ae/recipes.js
Normal file
@@ -0,0 +1,9 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'aeinfinitybooster:infinity_card' })
|
||||
event.shaped('aeinfinitybooster:infinity_card', ['EBE', 'BUB', 'NNN'], {
|
||||
U: '#forge:ingots/unobtainium',
|
||||
B: 'ae2:wireless_booster',
|
||||
E: '#forge:plates/enderium',
|
||||
N: 'minecraft:netherite_ingot'
|
||||
}).id('kubejs:aeinfinitybooster/infinity_card')
|
||||
})
|
||||
@@ -0,0 +1,20 @@
|
||||
ServerEvents.recipes(event => {
|
||||
let patterns = { helmet: ['XXX', 'XYX'], chestplate: ['XYX', 'XXX', 'XXX'], leggings: ['XXX', 'XYX', 'X X'], boots: ['XYX', 'X X'] }
|
||||
let tiers = [
|
||||
{ material: '#forge:ingots/iron', previous: 'minecraft:leather', makes: 'minecraft:iron' },
|
||||
{ material: '#forge:gems/diamond', previous: 'minecraft:iron', makes: 'minecraft:diamond' },
|
||||
]
|
||||
for (const tier of tiers) {
|
||||
for (const [armorItem, armorPattern] of Object.entries(patterns)) {
|
||||
event.custom({
|
||||
type: 'allthemodium:atmshaped_crafting',
|
||||
pattern: armorPattern,
|
||||
key: {
|
||||
X: Ingredient.of(tier.material).toJson(),
|
||||
Y: Item.of(`${tier.previous}_${armorItem}`).toJson()
|
||||
},
|
||||
result: Item.of(`${tier.makes}_${armorItem}`).toJson()
|
||||
}).id(`kubejs:keep_enchants/${tier.previous.replace(':', '/')}_${armorItem}_upgrade`)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,6 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.shaped('kubejs:piglich_heart_block', ['HHH','HHH','HHH'],{
|
||||
H: 'allthemodium:piglich_heart'
|
||||
}).id('kubejs:shaped_heart_block')
|
||||
event.shapeless('9x allthemodium:piglich_heart', 'kubejs:piglich_heart_block').id('kubejs:shapeless_piglich_heart')
|
||||
})
|
||||
27
minecraft/kubejs/server_scripts/mods/angelring/angelring.js
Normal file
27
minecraft/kubejs/server_scripts/mods/angelring/angelring.js
Normal file
@@ -0,0 +1,27 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({id: 'angelring:diamond_ring'})
|
||||
event.shaped('angelring:diamond_ring', [
|
||||
'DND',
|
||||
'VEU',
|
||||
'DAD'
|
||||
], {
|
||||
D: '#forge:storage_blocks/diamond',
|
||||
N: '#forge:storage_blocks/netherite',
|
||||
V: '#forge:storage_blocks/vibranium',
|
||||
U: '#forge:storage_blocks/unobtainium',
|
||||
A: '#forge:storage_blocks/allthemodium',
|
||||
E: '#forge:elytra'
|
||||
})
|
||||
event.remove({id: 'angelring:angel_ring'})
|
||||
event.shaped('angelring:angel_ring', [
|
||||
'CAC',
|
||||
'ARA',
|
||||
'DGD'
|
||||
], {
|
||||
C: 'ironfurnaces:allthemodium_furnace',
|
||||
A: '#forge:storage_blocks/unobtainium',
|
||||
R: 'angelring:diamond_ring',
|
||||
D: '#forge:nether_stars',
|
||||
G: '#forge:storage_blocks/unobtainium'
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,3 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'ars_nouveau:glyph_animate_block'})
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'buildinggadgets:gadget_exchanging' })
|
||||
event.shaped('buildinggadgets:gadget_exchanging', ['IRI', 'DLD', 'IAI'], {
|
||||
I: '#forge:ingots/iron',
|
||||
R: '#forge:dusts/redstone',
|
||||
L: '#forge:gems/lapis',
|
||||
D: '#forge:gems/diamond',
|
||||
A: '#forge:nuggets/allthemodium'
|
||||
}).id('kubejs:buildinggadgets/gadget_exchanging')
|
||||
})
|
||||
45
minecraft/kubejs/server_scripts/mods/chemlib/blocks.js
Normal file
45
minecraft/kubejs/server_scripts/mods/chemlib/blocks.js
Normal file
@@ -0,0 +1,45 @@
|
||||
const ItemRegistry = Java.loadClass('com.smashingmods.chemlib.registry.ItemRegistry')
|
||||
|
||||
// List Gen
|
||||
/*
|
||||
/chemlibhelper
|
||||
OP permission required
|
||||
only should need to be run on mod changes,
|
||||
generates a new chemlibCompat.json file
|
||||
helps add chemlib tooltips to items unified away from chemlib
|
||||
*/
|
||||
ServerEvents.commandRegistry(event => {
|
||||
const { commands: Commands, arguments: Arguments, builtinSuggestions: Suggestions } = event;
|
||||
event.register(
|
||||
Commands.literal("chemlibhelper")
|
||||
.requires(source => source.getServer().isSingleplayer() || source.hasPermission(2))
|
||||
.executes((ctx) => Chemlib(ctx.source))
|
||||
)
|
||||
})
|
||||
|
||||
function Chemlib(source) {
|
||||
let replaced = {}
|
||||
// dust, nugget, ingot, plate, storage_block
|
||||
let tags = global.auTags.filter(function (val) {
|
||||
return /forge:(dust|nugget|ingot|plate|storage_block)s/.test(val)
|
||||
})
|
||||
tags.forEach(tagString => {
|
||||
let material = tagString.replace(/forge:(dust|nugget|ingot|plate|storage_block)s\//, '')
|
||||
let oElement = ItemRegistry.getElementByName(material)
|
||||
if (oElement.isPresent()) {
|
||||
let element = oElement.get()
|
||||
let tooltip = []
|
||||
tooltip.push(Text.of(`${element.getAbbreviation()} (${element.getAtomicNumber()})`).aqua())
|
||||
let group = element.getGroupName()
|
||||
if (group != "") {
|
||||
tooltip.push(Text.of(group).gray())
|
||||
}
|
||||
let item = AlmostUnified.getPreferredItemForTag(tagString)
|
||||
if (!item.isEmpty() && item.idLocation.namespace != 'chemlib') {
|
||||
replaced[item.id] = tooltip
|
||||
}
|
||||
}
|
||||
})
|
||||
JsonIO.write('kubejs/client_scripts/chemlibCompat.json', replaced)
|
||||
return 1
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'advancedperipherals:chunk_controller' })
|
||||
event.remove({ id: 'computercraft:turtle_normal' })
|
||||
event.remove({ id: 'computercraft:turtle_advanced' })
|
||||
event.remove({ id: 'computercraft:turtle_advanced_upgrade' })
|
||||
event.shaped('computercraft:turtle_advanced', ['III', 'ICI', 'IAI'], {
|
||||
I: '#forge:ingots/gold',
|
||||
C: 'computercraft:computer_advanced',
|
||||
A: '#forge:ingots/allthemodium'
|
||||
}).id('kubejs:computercraft/turtle_advanced')
|
||||
event.shaped('computercraft:turtle_normal', ['III', 'ICI', 'IAI'], {
|
||||
I: '#forge:ingots/iron',
|
||||
C: 'computercraft:computer_normal',
|
||||
A: '#forge:ingots/allthemodium'
|
||||
}).id('kubejs:computercraft/turtle_normal')
|
||||
})
|
||||
@@ -0,0 +1,19 @@
|
||||
//missing crushed platinum handling
|
||||
ServerEvents.recipes(event => {
|
||||
event.smelting('alltheores:platinum_ingot', 'create:crushed_platinum_ore').xp(0.1).id('kubejs:create/smelting/platinum_ingot_from_crushed')
|
||||
event.blasting('alltheores:platinum_ingot', 'create:crushed_platinum_ore').xp(0.1).id('kubejs:create/blasting/platinum_ingot_from_crushed')
|
||||
event.custom({
|
||||
type: 'create:splashing',
|
||||
ingredients: [
|
||||
{
|
||||
'item': 'create:crushed_platinum_ore'
|
||||
}
|
||||
],
|
||||
results: [
|
||||
{
|
||||
'count': 9,
|
||||
'item': 'alltheores:platinum_nugget'
|
||||
}
|
||||
]
|
||||
}).id('kubejs:create/splashing/crushed_platinum_ore')
|
||||
})
|
||||
45
minecraft/kubejs/server_scripts/mods/eccentrictome/tome.js
Normal file
45
minecraft/kubejs/server_scripts/mods/eccentrictome/tome.js
Normal file
@@ -0,0 +1,45 @@
|
||||
let EccentricTome = Item.of('eccentrictome:tome',
|
||||
{
|
||||
"eccentrictome:mods": {
|
||||
advancedperipherals: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "advancedperipherals:manual" } } },
|
||||
adastra:{ 0: { Count:1, id: "ad_astra:astrodux"} },
|
||||
alchemistry: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "alchemistry:alchemistry_book" } } },
|
||||
allthemodium: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "allthemodium:allthemodium" } } },
|
||||
apotheosis: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "apotheosis:apoth_chronicle" } } },
|
||||
ars_nouveau: { 0: { Count: 1, id: "ars_nouveau:worn_notebook" } },
|
||||
botania: { 0: { Count: 1, id: "botania:lexicon" } },
|
||||
byg: { 0: { Count: 1, id: "byg:biomepedia" } },
|
||||
croptopia: { 0: { Count: 1, id: "croptopia:guide" } },
|
||||
deeperdarker: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "deeperdarker:wanderers_notebook" } } },
|
||||
elementalcraft: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "elementalcraft:element_book" } } },
|
||||
engineersdecor: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "engineersdecor:engineersdecor_manual" } } },
|
||||
ftbic: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "ftbic:ftbic_guide" } } },
|
||||
ftbquests: { 0: { Count: 1, id: "ftbquests:book" } },
|
||||
hexcasting: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "hexcasting:thehexbook" } } },
|
||||
immersiveengineering: { 0: { Count: 1, id: "immersiveengineering:manual" } },
|
||||
industrialforegoing: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "industrialforegoing:industrial_foregoing" } } },
|
||||
integrateddynamics: { 0: { Count: 1, id: "integrateddynamics:on_the_dynamics_of_integration" } },
|
||||
laserio: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "laserio:laseriobook" } } },
|
||||
littlelogistics: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "littlelogistics:guide" } } },
|
||||
modonomicon: { 0: { Count: 1, id: "modonomicon:modonomicon", tag: { "modonomicon:book_id": "theurgy:the_hermetica" } } },
|
||||
modularrouters: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "modularrouters:book" } } },
|
||||
mysticalagriculture: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "mysticalagriculture:guide" } } },
|
||||
naturesaura: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "naturesaura:book" } } },
|
||||
occultism: { 0: { Count: 1, id: "occultism:dictionary_of_spirits", tag: { "modonomicon:book_id": "occultism:dictionary_of_spirits" } } },
|
||||
pneumaticcraft: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "pneumaticcraft:book" } } },
|
||||
powah: { 0: { Count: 1, id: "powah:book" } },
|
||||
productivebees: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "productivebees:guide" } } },
|
||||
rebornstorage: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "rebornstorage:rs_book" } } },
|
||||
rftoolsbase: { 0: { Count: 1, id: "rftoolsbase:manual" } },
|
||||
sebastrnlib: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "sebastrnlib:sebastrn_mods_guide_book" } } },
|
||||
securitycraft: { 0: { Count: 1, id: "securitycraft:sc_manual" } },
|
||||
solcarrot: { 0: { Count: 1, id: "solcarrot:food_book" } },
|
||||
thermal: { 0: { Count: 1, id: "patchouli:guide_book", tag: { "patchouli:book": "thermal:guidebook" } } }
|
||||
},
|
||||
"eccentrictome:version": 1
|
||||
}
|
||||
)
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
event.shapeless(EccentricTome, ['eccentrictome:tome', 'minecraft:stick']).id('kubejs:full_tome')
|
||||
})
|
||||
14
minecraft/kubejs/server_scripts/mods/entangled/recipes.js
Normal file
14
minecraft/kubejs/server_scripts/mods/entangled/recipes.js
Normal file
@@ -0,0 +1,14 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'entangled:block' })
|
||||
event.remove({ id: 'entangled:item' })
|
||||
event.shaped('entangled:block', ['UEU', 'ECE', 'UEU'], {
|
||||
U: '#forge:ingots/unobtainium',
|
||||
E: '#forge:ender_pearls',
|
||||
C: 'minecraft:ender_chest'
|
||||
})
|
||||
event.shaped('entangled:item', [' EC', ' UE', 'U '], {
|
||||
U: '#forge:ingots/unobtainium',
|
||||
E: '#forge:ender_pearls',
|
||||
C: 'minecraft:ender_chest'
|
||||
})
|
||||
})
|
||||
86
minecraft/kubejs/server_scripts/mods/evilcraft/evilcraft.js
Normal file
86
minecraft/kubejs/server_scripts/mods/evilcraft/evilcraft.js
Normal file
@@ -0,0 +1,86 @@
|
||||
ServerEvents.recipes(e=> {
|
||||
e.custom({
|
||||
type: 'mekanism:crushing',
|
||||
input: {
|
||||
ingredient: Ingredient.of('evilcraft:dark_gem').toJson()
|
||||
},
|
||||
output: Ingredient.of('evilcraft:dark_gem_crushed').toJson()
|
||||
}).id('kubejs:mekanism/evilcraft_dark_gem_crushed')
|
||||
|
||||
e.custom({
|
||||
"type": "immersiveengineering:crusher",
|
||||
"secondaries": [],
|
||||
"result": {
|
||||
"item": "evilcraft:dark_gem_crushed",
|
||||
"count": 1
|
||||
},
|
||||
"input": {
|
||||
"item": "evilcraft:dark_gem"
|
||||
},
|
||||
"energy": 3200
|
||||
}).id('kubejs:immersiveengineering/evilcraft_dark_gem_crushed')
|
||||
|
||||
e.custom({
|
||||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "evilcraft:dark_gem"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "evilcraft:dark_gem_crushed",
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
}).id('kubejs:create/evilcraft_dark_gem_crushed')
|
||||
|
||||
e.custom({
|
||||
"type": "ftbic:macerating",
|
||||
"inputItems": [
|
||||
{
|
||||
"ingredient": {
|
||||
"item": "evilcraft:dark_gem"
|
||||
},
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"outputItems": [
|
||||
{
|
||||
"item": "evilcraft:dark_gem_crushed",
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
}).id('kubejs:ftbic/evilcraft_dark_gem_crushed')
|
||||
|
||||
//Thermal
|
||||
e.custom({
|
||||
"type": "thermal:pulverizer",
|
||||
"ingredient": {
|
||||
"value": [
|
||||
{
|
||||
"item": "evilcraft:dark_gem"
|
||||
}
|
||||
],
|
||||
"count": 1
|
||||
},
|
||||
"result": [
|
||||
{
|
||||
"item": "evilcraft:dark_gem_crushed",
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"experience": 0.1
|
||||
}).id('kubejs:ftbic/evilcraft_dark_gem_crushed')
|
||||
|
||||
|
||||
e.custom({ //crushing spirit
|
||||
"type": "occultism:crushing",
|
||||
"ingredient": Ingredient.of('evilcraft:dark_gem').toJson(),
|
||||
"result": Item.of('evilcraft:dark_gem_crushed', 1).toJson(),
|
||||
"crushing_time": 100,
|
||||
"ignore_crushing_multiplier": true
|
||||
}).id(`kubejs:occultcrushing/dark_gem_crushed`)
|
||||
|
||||
})
|
||||
@@ -0,0 +1,19 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.forEachRecipe({type:"farmersdelight:cutting"}, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let ingredients = recipeJson.getAsJsonArray('ingredients')
|
||||
// deployer recipe can only have 2 inputs, the item and the held item
|
||||
// (this shouldn't ever be true as the cutting board can only take a single item as well)
|
||||
if (ingredients.size() > 1) {return;}
|
||||
let item = Ingredient.of(ingredients.get(0))
|
||||
let tool = Ingredient.of(recipeJson.get('tool'))
|
||||
let results = recipeJson.get('result')
|
||||
// deployer can only have 4 different outputs
|
||||
if (results.size() > 4) {return;}
|
||||
event.custom({
|
||||
type: 'create:deploying',
|
||||
ingredients: [item.toJson(), tool.toJson()],
|
||||
results: results
|
||||
}).id(`kubejs:createcompat/${recipe.getId().replace(':','/')}`)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
farming for blockheads custom market additions
|
||||
authored by EnigmaQuip
|
||||
for use in ATM8
|
||||
|
||||
List Gen
|
||||
/markethelper
|
||||
OP permission required
|
||||
only should need to be run on mod changes,
|
||||
generates a new marketitems.json file
|
||||
*/
|
||||
|
||||
ServerEvents.commandRegistry(event => {
|
||||
const { commands: Commands, arguments: Arguments, builtinSuggestions: Suggestions } = event;
|
||||
event.register(
|
||||
Commands.literal("markethelper")
|
||||
.requires(source => source.getServer().isSingleplayer() || source.hasPermission(2))
|
||||
.executes((ctx) => Market(ctx.source))
|
||||
)
|
||||
})
|
||||
|
||||
function Market(source) {
|
||||
let saplings = {}
|
||||
let seeds = {}
|
||||
let flowers = {}
|
||||
let taggedSeeds = Ingredient.of('#forge:seeds').stacks
|
||||
taggedSeeds.forEach(seed => {
|
||||
let mod = seed.idLocation.namespace
|
||||
if (seeds[mod] == null) {
|
||||
seeds[mod] = []
|
||||
}
|
||||
seeds[mod].push(seed.id)
|
||||
})
|
||||
let taggedSaplings = Ingredient.of('#minecraft:saplings').stacks
|
||||
taggedSaplings.forEach(sapling => {
|
||||
let mod = sapling.idLocation.namespace
|
||||
if (saplings[mod] == null) {
|
||||
saplings[mod] = []
|
||||
}
|
||||
saplings[mod].push(sapling.id)
|
||||
})
|
||||
let taggedFlowers = Ingredient.of('#minecraft:flowers').stacks
|
||||
taggedFlowers.forEach(flower => {
|
||||
let mod = flower.idLocation.namespace
|
||||
if (mod == 'botania') {
|
||||
if (!flower.id.contains('mystical_flower')) {
|
||||
return
|
||||
}
|
||||
}
|
||||
if (flowers[mod] == null) {
|
||||
flowers[mod] = []
|
||||
}
|
||||
flowers[mod].push(flower.id)
|
||||
})
|
||||
JsonIO.write('kubejs/server_scripts/mods/farmingforblockheads/marketitems.json', { saplings: saplings, seeds: seeds, flowers: flowers })
|
||||
return 1
|
||||
}
|
||||
|
||||
const FFBAPI = Java.loadClass('net.blay09.mods.farmingforblockheads.api.FarmingForBlockheadsAPI')
|
||||
|
||||
// Datapack Gen
|
||||
ServerEvents.highPriorityData(event => {
|
||||
event.addJson('kubejs:farmingforblockheads_compat/atm.json', {
|
||||
groupOverrides: {
|
||||
"Croptopia Seeds": {
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,421 @@
|
||||
{
|
||||
"saplings": {
|
||||
"byg": [
|
||||
"byg:maple_sapling",
|
||||
"byg:skyris_sapling",
|
||||
"byg:orchard_sapling",
|
||||
"byg:orange_birch_sapling",
|
||||
"byg:palm_sapling",
|
||||
"byg:lament_sapling",
|
||||
"byg:green_enchanted_sapling",
|
||||
"byg:ebony_sapling",
|
||||
"byg:aspen_sapling",
|
||||
"byg:holly_sapling",
|
||||
"byg:araucaria_sapling",
|
||||
"byg:red_oak_sapling",
|
||||
"byg:indigo_jacaranda_sapling",
|
||||
"byg:brown_oak_sapling",
|
||||
"byg:cypress_sapling",
|
||||
"byg:jacaranda_sapling",
|
||||
"byg:brown_birch_sapling",
|
||||
"byg:pine_sapling",
|
||||
"byg:yellow_spruce_sapling",
|
||||
"byg:withering_oak_sapling",
|
||||
"byg:orange_spruce_sapling",
|
||||
"byg:red_maple_sapling",
|
||||
"byg:fir_sapling",
|
||||
"byg:ether_sapling",
|
||||
"byg:rainbow_eucalyptus_sapling",
|
||||
"byg:white_mangrove_sapling",
|
||||
"byg:brown_zelkova_sapling",
|
||||
"byg:zelkova_sapling",
|
||||
"byg:joshua_sapling",
|
||||
"byg:redwood_sapling",
|
||||
"byg:nightshade_sapling",
|
||||
"byg:orange_oak_sapling",
|
||||
"byg:pink_cherry_sapling",
|
||||
"byg:white_cherry_sapling",
|
||||
"byg:red_spruce_sapling",
|
||||
"byg:willow_sapling",
|
||||
"byg:cika_sapling",
|
||||
"byg:witch_hazel_sapling",
|
||||
"byg:blue_spruce_sapling",
|
||||
"byg:silver_maple_sapling",
|
||||
"byg:mahogany_sapling",
|
||||
"byg:palo_verde_sapling",
|
||||
"byg:baobab_sapling",
|
||||
"byg:red_birch_sapling",
|
||||
"byg:yellow_birch_sapling",
|
||||
"byg:blue_enchanted_sapling"
|
||||
],
|
||||
"minecraft": [
|
||||
"minecraft:mangrove_propagule",
|
||||
"minecraft:flowering_azalea",
|
||||
"minecraft:birch_sapling",
|
||||
"minecraft:azalea",
|
||||
"minecraft:spruce_sapling",
|
||||
"minecraft:jungle_sapling",
|
||||
"minecraft:acacia_sapling",
|
||||
"minecraft:dark_oak_sapling",
|
||||
"minecraft:oak_sapling"
|
||||
],
|
||||
"croptopia": [
|
||||
"croptopia:orange_sapling",
|
||||
"croptopia:apricot_sapling",
|
||||
"croptopia:date_sapling",
|
||||
"croptopia:apple_sapling",
|
||||
"croptopia:plum_sapling",
|
||||
"croptopia:peach_sapling",
|
||||
"croptopia:coconut_sapling",
|
||||
"croptopia:persimmon_sapling",
|
||||
"croptopia:cashew_sapling",
|
||||
"croptopia:pear_sapling",
|
||||
"croptopia:nutmeg_sapling",
|
||||
"croptopia:nectarine_sapling",
|
||||
"croptopia:cherry_sapling",
|
||||
"croptopia:avocado_sapling",
|
||||
"croptopia:almond_sapling",
|
||||
"croptopia:lime_sapling",
|
||||
"croptopia:dragonfruit_sapling",
|
||||
"croptopia:cinnamon_sapling",
|
||||
"croptopia:kumquat_sapling",
|
||||
"croptopia:fig_sapling",
|
||||
"croptopia:lemon_sapling",
|
||||
"croptopia:pecan_sapling",
|
||||
"croptopia:starfruit_sapling",
|
||||
"croptopia:walnut_sapling",
|
||||
"croptopia:mango_sapling",
|
||||
"croptopia:banana_sapling",
|
||||
"croptopia:grapefruit_sapling"
|
||||
],
|
||||
"silentgear": [
|
||||
"silentgear:netherwood_sapling"
|
||||
],
|
||||
"blue_skies": [
|
||||
"blue_skies:starlit_sapling",
|
||||
"blue_skies:lunar_sapling",
|
||||
"blue_skies:maple_sapling",
|
||||
"blue_skies:crescent_fruit_sapling",
|
||||
"blue_skies:dusk_sapling",
|
||||
"blue_skies:frostbright_sapling",
|
||||
"blue_skies:cherry_sapling",
|
||||
"blue_skies:bluebright_sapling"
|
||||
],
|
||||
"ars_nouveau": [
|
||||
"ars_nouveau:blue_archwood_sapling",
|
||||
"ars_nouveau:green_archwood_sapling",
|
||||
"ars_nouveau:purple_archwood_sapling",
|
||||
"ars_nouveau:red_archwood_sapling"
|
||||
],
|
||||
"allthemodium": [
|
||||
"allthemodium:demonic_sapling",
|
||||
"allthemodium:ancient_sapling",
|
||||
"allthemodium:soul_sapling"
|
||||
],
|
||||
"quark": [
|
||||
"quark:blue_blossom_sapling",
|
||||
"quark:orange_blossom_sapling",
|
||||
"quark:red_blossom_sapling",
|
||||
"quark:lavender_blossom_sapling",
|
||||
"quark:pink_blossom_sapling",
|
||||
"quark:yellow_blossom_sapling",
|
||||
"quark:ancient_sapling"
|
||||
],
|
||||
"evilcraft": [
|
||||
"evilcraft:undead_sapling"
|
||||
],
|
||||
"hexerei": [
|
||||
"hexerei:willow_sapling",
|
||||
"hexerei:mahogany_sapling"
|
||||
],
|
||||
"twilightforest": [
|
||||
"twilightforest:transformation_sapling",
|
||||
"twilightforest:twilight_oak_sapling",
|
||||
"twilightforest:time_sapling",
|
||||
"twilightforest:darkwood_sapling",
|
||||
"twilightforest:sorting_sapling",
|
||||
"twilightforest:canopy_sapling",
|
||||
"twilightforest:rainbow_oak_sapling",
|
||||
"twilightforest:mining_sapling",
|
||||
"twilightforest:hollow_oak_sapling",
|
||||
"twilightforest:mangrove_sapling"
|
||||
],
|
||||
"occultism": [
|
||||
"occultism:otherworld_sapling_natural",
|
||||
"occultism:otherworld_sapling"
|
||||
],
|
||||
"integrateddynamics": [
|
||||
"integrateddynamics:menril_sapling"
|
||||
],
|
||||
"ars_elemental": [
|
||||
"ars_elemental:yellow_archwood_sapling"
|
||||
],
|
||||
"myrtrees": [
|
||||
"myrtrees:rubberwood_sapling"
|
||||
]
|
||||
},
|
||||
"seeds": {
|
||||
"croptopia": [
|
||||
"croptopia:artichoke_seed",
|
||||
"croptopia:cauliflower_seed",
|
||||
"croptopia:peanut_seed",
|
||||
"croptopia:greenbean_seed",
|
||||
"croptopia:pepper_seed",
|
||||
"croptopia:cranberry_seed",
|
||||
"croptopia:broccoli_seed",
|
||||
"croptopia:elderberry_seed",
|
||||
"croptopia:hops_seed",
|
||||
"croptopia:turmeric_seed",
|
||||
"croptopia:corn_seed",
|
||||
"croptopia:onion_seed",
|
||||
"croptopia:oat_seed",
|
||||
"croptopia:eggplant_seed",
|
||||
"croptopia:zucchini_seed",
|
||||
"croptopia:blackberry_seed",
|
||||
"croptopia:blueberry_seed",
|
||||
"croptopia:sweetpotato_seed",
|
||||
"croptopia:coffee_seed",
|
||||
"croptopia:strawberry_seed",
|
||||
"croptopia:saguaro_seed",
|
||||
"croptopia:cantaloupe_seed",
|
||||
"croptopia:kiwi_seed",
|
||||
"croptopia:tea_seed",
|
||||
"croptopia:cucumber_seed",
|
||||
"croptopia:ginger_seed",
|
||||
"croptopia:vanilla_seeds",
|
||||
"croptopia:bellpepper_seed",
|
||||
"croptopia:celery_seed",
|
||||
"croptopia:barley_seed",
|
||||
"croptopia:asparagus_seed",
|
||||
"croptopia:chile_pepper_seed",
|
||||
"croptopia:mustard_seed",
|
||||
"croptopia:soybean_seed",
|
||||
"croptopia:pineapple_seed",
|
||||
"croptopia:yam_seed",
|
||||
"croptopia:olive_seed",
|
||||
"croptopia:spinach_seed",
|
||||
"croptopia:blackbean_seed",
|
||||
"croptopia:rice_seed",
|
||||
"croptopia:currant_seed",
|
||||
"croptopia:greenonion_seed",
|
||||
"croptopia:rutabaga_seed",
|
||||
"croptopia:tomato_seed",
|
||||
"croptopia:raspberry_seed",
|
||||
"croptopia:garlic_seed",
|
||||
"croptopia:grape_seed",
|
||||
"croptopia:tomatillo_seed",
|
||||
"croptopia:basil_seed",
|
||||
"croptopia:honeydew_seed",
|
||||
"croptopia:rhubarb_seed",
|
||||
"croptopia:cabbage_seed",
|
||||
"croptopia:squash_seed",
|
||||
"croptopia:radish_seed",
|
||||
"croptopia:lettuce_seed",
|
||||
"croptopia:kale_seed",
|
||||
"croptopia:turnip_seed",
|
||||
"croptopia:leek_seed"
|
||||
],
|
||||
"thermal": [
|
||||
"thermal:eggplant_seeds",
|
||||
"thermal:sadiroot_seeds",
|
||||
"thermal:bell_pepper_seeds",
|
||||
"thermal:amaranth_seeds",
|
||||
"thermal:flax_seeds",
|
||||
"thermal:strawberry_seeds",
|
||||
"thermal:spinach_seeds",
|
||||
"thermal:tea_seeds",
|
||||
"thermal:frost_melon_seeds",
|
||||
"thermal:radish_seeds",
|
||||
"thermal:barley_seeds",
|
||||
"thermal:corn_seeds",
|
||||
"thermal:green_bean_seeds",
|
||||
"thermal:rice_seeds",
|
||||
"thermal:onion_seeds",
|
||||
"thermal:peanut_seeds",
|
||||
"thermal:tomato_seeds",
|
||||
"thermal:hops_seeds",
|
||||
"thermal:coffee_seeds"
|
||||
],
|
||||
"immersiveengineering": [
|
||||
"immersiveengineering:seed"
|
||||
],
|
||||
"minecraft": [
|
||||
"minecraft:beetroot_seeds",
|
||||
"minecraft:pumpkin_seeds",
|
||||
"minecraft:melon_seeds",
|
||||
"minecraft:wheat_seeds"
|
||||
],
|
||||
"ars_nouveau": [
|
||||
"ars_nouveau:magebloom_crop"
|
||||
],
|
||||
"delightful": [
|
||||
"delightful:salmonberry_pips"
|
||||
],
|
||||
"supplementaries": [
|
||||
"supplementaries:flax_seeds"
|
||||
],
|
||||
"silentgear": [
|
||||
"silentgear:fluffy_seeds",
|
||||
"silentgear:flax_seeds"
|
||||
],
|
||||
"farmersdelight": [
|
||||
"farmersdelight:tomato_seeds",
|
||||
"farmersdelight:cabbage_seeds",
|
||||
"farmersdelight:rice"
|
||||
],
|
||||
"blue_skies": [
|
||||
"blue_skies:pine_fruit_seeds",
|
||||
"blue_skies:winter_leaf_seeds",
|
||||
"blue_skies:fiery_bean_seeds",
|
||||
"blue_skies:scalefruit_seeds"
|
||||
],
|
||||
"occultism": [
|
||||
"occultism:datura_seeds"
|
||||
],
|
||||
"hexerei": [
|
||||
"hexerei:sage_seed"
|
||||
]
|
||||
},
|
||||
"flowers": {
|
||||
"minecraft": [
|
||||
"minecraft:lily_of_the_valley",
|
||||
"minecraft:red_tulip",
|
||||
"minecraft:cornflower",
|
||||
"minecraft:pink_tulip",
|
||||
"minecraft:white_tulip",
|
||||
"minecraft:flowering_azalea_leaves",
|
||||
"minecraft:sunflower",
|
||||
"minecraft:dandelion",
|
||||
"minecraft:oxeye_daisy",
|
||||
"minecraft:mangrove_propagule",
|
||||
"minecraft:flowering_azalea",
|
||||
"minecraft:allium",
|
||||
"minecraft:peony",
|
||||
"minecraft:poppy",
|
||||
"minecraft:orange_tulip",
|
||||
"minecraft:wither_rose",
|
||||
"minecraft:blue_orchid",
|
||||
"minecraft:azure_bluet",
|
||||
"minecraft:rose_bush",
|
||||
"minecraft:lilac"
|
||||
],
|
||||
"botania": [
|
||||
"botania:lime_mystical_flower",
|
||||
"botania:yellow_mystical_flower",
|
||||
"botania:black_mystical_flower",
|
||||
"botania:white_mystical_flower",
|
||||
"botania:green_mystical_flower",
|
||||
"botania:brown_mystical_flower",
|
||||
"botania:light_gray_mystical_flower",
|
||||
"botania:pink_mystical_flower",
|
||||
"botania:red_mystical_flower",
|
||||
"botania:purple_mystical_flower",
|
||||
"botania:magenta_mystical_flower",
|
||||
"botania:orange_mystical_flower",
|
||||
"botania:blue_mystical_flower",
|
||||
"botania:gray_mystical_flower",
|
||||
"botania:cyan_mystical_flower",
|
||||
"botania:light_blue_mystical_flower"
|
||||
],
|
||||
"byg": [
|
||||
"byg:amaranth",
|
||||
"byg:violet_leather_flower",
|
||||
"byg:allium_flower_bush",
|
||||
"byg:green_tulip",
|
||||
"byg:orange_daisy",
|
||||
"byg:japanese_orchid",
|
||||
"byg:silver_vase_flower",
|
||||
"byg:flowering_palo_verde_leaves",
|
||||
"byg:torch_ginger",
|
||||
"byg:thereal_bellflower",
|
||||
"byg:flowering_nightshade_leaves",
|
||||
"byg:cyan_rose",
|
||||
"byg:golden_spined_cactus",
|
||||
"byg:protea_flower",
|
||||
"byg:guzmania",
|
||||
"byg:hydrangea_bush",
|
||||
"byg:black_rose",
|
||||
"byg:daffodil",
|
||||
"byg:peach_leather_flower",
|
||||
"byg:purple_tulip",
|
||||
"byg:cyan_amaranth",
|
||||
"byg:prairie_grass",
|
||||
"byg:blue_rose_bush",
|
||||
"byg:angelica",
|
||||
"byg:orange_amaranth",
|
||||
"byg:pink_anemone",
|
||||
"byg:yellow_daffodil",
|
||||
"byg:fairy_slipper",
|
||||
"byg:yellow_tulip",
|
||||
"byg:winter_rose",
|
||||
"byg:lollipop_flower",
|
||||
"byg:magenta_amaranth",
|
||||
"byg:purple_sage",
|
||||
"byg:winter_cyclamen",
|
||||
"byg:osiria_rose",
|
||||
"byg:white_anemone",
|
||||
"byg:delphinium",
|
||||
"byg:pink_daffodil",
|
||||
"byg:cyan_tulip",
|
||||
"byg:lazarus_bellflower",
|
||||
"byg:magenta_tulip",
|
||||
"byg:flowering_jacaranda_bush",
|
||||
"byg:white_sage",
|
||||
"byg:tall_pink_allium",
|
||||
"byg:california_poppy",
|
||||
"byg:iris",
|
||||
"byg:incan_lily",
|
||||
"byg:blue_sage",
|
||||
"byg:flowering_jacaranda_leaves",
|
||||
"byg:bistort",
|
||||
"byg:flowering_indigo_jacaranda_leaves",
|
||||
"byg:alpine_bellflower",
|
||||
"byg:hydrangea_hedge",
|
||||
"byg:pink_allium",
|
||||
"byg:tall_allium",
|
||||
"byg:flowering_indigo_jacaranda_bush",
|
||||
"byg:kovan_flower",
|
||||
"byg:purple_amaranth",
|
||||
"byg:rose",
|
||||
"byg:foxglove",
|
||||
"byg:begonia",
|
||||
"byg:pink_allium_flower_bush",
|
||||
"byg:snowdrops",
|
||||
"byg:richea",
|
||||
"byg:firecracker_flower_bush",
|
||||
"byg:crocus",
|
||||
"byg:winter_scilla",
|
||||
"byg:flowering_orchard_leaves"
|
||||
],
|
||||
"blue_skies": [
|
||||
"blue_skies:chillweed",
|
||||
"blue_skies:briskbloom",
|
||||
"blue_skies:polar_posy",
|
||||
"blue_skies:moonlit_bloom",
|
||||
"blue_skies:crystal_flower",
|
||||
"blue_skies:muckweed",
|
||||
"blue_skies:blush_blossom",
|
||||
"blue_skies:lucentroot",
|
||||
"blue_skies:snowbloom",
|
||||
"blue_skies:midday_bayhop",
|
||||
"blue_skies:frose",
|
||||
"blue_skies:flare_floret",
|
||||
"blue_skies:blaze_bud",
|
||||
"blue_skies:nightcress",
|
||||
"blue_skies:camellia",
|
||||
"blue_skies:brittlebush"
|
||||
],
|
||||
"farmersdelight": [
|
||||
"farmersdelight:wild_tomatoes",
|
||||
"farmersdelight:wild_potatoes",
|
||||
"farmersdelight:wild_rice",
|
||||
"farmersdelight:wild_onions",
|
||||
"farmersdelight:wild_beetroots",
|
||||
"farmersdelight:wild_cabbages",
|
||||
"farmersdelight:wild_carrots"
|
||||
],
|
||||
"supplementaries": [
|
||||
"supplementaries:wild_flax"
|
||||
]
|
||||
}
|
||||
}
|
||||
3
minecraft/kubejs/server_scripts/mods/ftbic/book.js
Normal file
3
minecraft/kubejs/server_scripts/mods/ftbic/book.js
Normal file
@@ -0,0 +1,3 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.shapeless(Item.of('patchouli:guide_book', '{"patchouli:book":"ftbic:ftbic_guide"}'), ['minecraft:book', 'ftbic:industrial_grade_metal'])
|
||||
})
|
||||
21
minecraft/kubejs/server_scripts/mods/hexerei/hexereiDupe.js
Normal file
21
minecraft/kubejs/server_scripts/mods/hexerei/hexereiDupe.js
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
temporary dupe fix for Hexerei drying racks
|
||||
until fixed upstream (current v0.3.0)
|
||||
|
||||
authored by EnigmaQuip
|
||||
for ATM8
|
||||
*/
|
||||
|
||||
BlockEvents.broken(event => {
|
||||
const { block } = event
|
||||
if (/hexerei:.+?_drying_rack/.test(block.id)) {
|
||||
if (block.entityId == 'hexerei:drying_rack_entity') {
|
||||
let te = block.entity
|
||||
// remove from storage before block broken
|
||||
for (let i = 0; i < 3; i++) {
|
||||
let dropItem = te.removeItem(i, te.getMaxStackSize())
|
||||
block.popItem(dropItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,50 @@
|
||||
ServerEvents.recipes(e=> {
|
||||
e.remove({id: 'hostilenetworks:living_matter/extraterrestrial/nether_star'})
|
||||
e.remove({id: 'hostilenetworks:living_matter/hellish/blaze_rod'})
|
||||
e.shaped('4x reliquary:zombie_heart', ['AAA','APA','AAA'],{
|
||||
A: 'hostilenetworks:nether_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:zombie"}}').strongNBT()
|
||||
})
|
||||
e.shaped('2x reliquary:squid_beak', ['A A',' P ','A A'],{
|
||||
A: 'hostilenetworks:overworld_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:squid"}}').strongNBT()
|
||||
})
|
||||
e.shaped('4x reliquary:rib_bone', ['A A',' P ','A A'],{
|
||||
A: 'hostilenetworks:overworld_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:skeleton"}}').strongNBT()
|
||||
})
|
||||
e.shaped('2x reliquary:catalyzing_gland', ['A A',' P ','A A'],{
|
||||
A: 'hostilenetworks:overworld_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:creeper"}}').strongNBT()
|
||||
})
|
||||
e.shaped('4x reliquary:chelicerae', ['A A',' P ','A A'],{
|
||||
A: 'hostilenetworks:overworld_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:spider"}}').strongNBT()
|
||||
})
|
||||
e.shaped('2x reliquary:slime_pearl', ['A A',' P ','A A'],{
|
||||
A: 'hostilenetworks:overworld_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:slime"}}').strongNBT()
|
||||
})
|
||||
e.shaped('4x reliquary:bat_wing', ['A A',' P ','A A'],{
|
||||
A: 'hostilenetworks:overworld_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:witch"}}').strongNBT()
|
||||
})
|
||||
e.shaped('6x reliquary:withered_rib', ['A A','APA','A A'],{
|
||||
A: 'hostilenetworks:nether_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:wither_skeleton"}}').strongNBT()
|
||||
})
|
||||
e.shaped('2x reliquary:molten_core', ['A A','APA','A A'],{
|
||||
A: 'hostilenetworks:nether_prediction',
|
||||
P: [Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:blaze"}}').strongNBT(), Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:magma_cube"}}').strongNBT()]
|
||||
})
|
||||
e.shaped('reliquary:nebulous_heart', ['AAA','APA','AAA'],{
|
||||
A: 'hostilenetworks:end_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:enderman"}}').strongNBT()
|
||||
})
|
||||
e.shaped('minecraft:dragon_head', ['AAA','BPB','AAA'],{
|
||||
A: 'hostilenetworks:end_prediction',
|
||||
P: Item.of('hostilenetworks:prediction', '{data_model:{id:"hostilenetworks:ender_dragon"}}').strongNBT(),
|
||||
B: 'minecraft:dragon_breath'
|
||||
})
|
||||
|
||||
})
|
||||
@@ -0,0 +1,12 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.custom({
|
||||
"type": "industrialforegoing:fluid_extractor",
|
||||
"input": {
|
||||
"item": "integrateddynamics:menril_log"
|
||||
},
|
||||
"result": "integrateddynamics:menril_log_stripped",
|
||||
"breakChance": 0.010,
|
||||
"output": "{FluidName:\"integrateddynamics:menril_resin\",Amount:2}",
|
||||
"defaultRecipe": false
|
||||
}).id('kubejs:industrialforegoing/fluid_extractor/menril')
|
||||
})
|
||||
@@ -0,0 +1,11 @@
|
||||
ServerEvents.recipes(e=> {
|
||||
e.remove({id: 'industrialforegoing:ore_laser_base'})
|
||||
e.shaped('industrialforegoing:ore_laser_base', ['PTP','OFO','GRG'],{
|
||||
P: 'industrialforegoing:plastic',
|
||||
T: 'allthemodium:allthemodium_pickaxe',
|
||||
O: '#forge:ores/iron',
|
||||
F: 'industrialforegoing:machine_frame_advanced',
|
||||
G: '#forge:gears/vibranium',
|
||||
R: 'minecraft:redstone'
|
||||
}).id('kubejs:industrialforegoings/ore_laser_drill')
|
||||
})
|
||||
22
minecraft/kubejs/server_scripts/mods/mekanism/mekanism.js
Normal file
22
minecraft/kubejs/server_scripts/mods/mekanism/mekanism.js
Normal file
@@ -0,0 +1,22 @@
|
||||
ServerEvents.recipes(e => {
|
||||
e.remove({ id: 'mekanism:atomic_disassembler' })
|
||||
e.shaped('mekanism:atomic_disassembler', ['ITI', 'IAI', ' P '], {
|
||||
I: 'mekanism:alloy_infused',
|
||||
T: 'mekanism:energy_tablet',
|
||||
A: 'mekanism:alloy_atomic',
|
||||
P: 'allthemodium:allthemodium_pickaxe'
|
||||
})
|
||||
e.remove({ id: 'mekanism:meka_tool' })
|
||||
e.shaped('mekanism:meka_tool', ['UCU', 'TDT', 'PBP'], {
|
||||
U: 'mekanism:ultimate_control_circuit',
|
||||
C: 'mekanism:configurator',
|
||||
T: '#forge:plates/unobtainium',
|
||||
D: 'mekanism:atomic_disassembler',
|
||||
B: 'mekanism:basic_induction_cell',
|
||||
P: 'mekanism:pellet_polonium'
|
||||
})
|
||||
e.remove({ id: 'mekanism:upgrade/anchor' })
|
||||
|
||||
// remove combiner recipes for ores
|
||||
e.remove({ type: 'mekanism:combining', id: /ore/ })
|
||||
})
|
||||
305
minecraft/kubejs/server_scripts/mods/mekanism/mekanismServer.js
Normal file
305
minecraft/kubejs/server_scripts/mods/mekanism/mekanismServer.js
Normal file
@@ -0,0 +1,305 @@
|
||||
/*
|
||||
Mekanism recipes for processing stack
|
||||
Authored by EnigmaQuip
|
||||
|
||||
DO NOT EDIT BELOW
|
||||
only the startup script should need editing
|
||||
*/
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
global.mekStackAdditions.forEach(entry => {
|
||||
let material = entry.material
|
||||
|
||||
//let dust = Ingredient.of(`#forge:dusts/${material}`).getFirst()
|
||||
// replace this eventually
|
||||
let dust = Item.empty
|
||||
if (entry.makeDust) {
|
||||
dust = Item.of(`kubejs:dust_${material}`)
|
||||
} else {
|
||||
dust = Item.of(entry.dust)
|
||||
}
|
||||
let hasDust = !dust.isEmpty()
|
||||
|
||||
if (!Ingredient.of(`#forge:storage_blocks/raw_${material}`).isEmpty()) {
|
||||
event.custom({
|
||||
type: 'mekanism:dissolution',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:storage_blocks/raw_${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
slurry: `kubejs:dirty_${material}`,
|
||||
amount: 6000,
|
||||
chemicalType: 'slurry'
|
||||
},
|
||||
gasInput: {
|
||||
amount: 2,
|
||||
gas: 'mekanism:sulfuric_acid'
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/slurry/dirty/from_raw_block`)
|
||||
event.custom({
|
||||
type: 'mekanism:injecting',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:storage_blocks/raw_${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 2,
|
||||
gas: 'mekanism:hydrogen_chloride'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:shard_${material}`,
|
||||
count: 24
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/shard/from_raw_block`)
|
||||
event.custom({
|
||||
type: 'mekanism:purifying',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:storage_blocks/raw_${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 2,
|
||||
gas: 'mekanism:oxygen'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:clump_${material}`,
|
||||
count: 18
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/clump/from_raw_block`)
|
||||
if (hasDust) {
|
||||
event.custom({
|
||||
type: 'mekanism:enriching',
|
||||
input: {
|
||||
ingredient: {
|
||||
tag: `forge:storage_blocks/raw_${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
item: dust.id,
|
||||
count: 12
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/dust/from_raw_block`)
|
||||
}
|
||||
}
|
||||
|
||||
if (!Ingredient.of(`#forge:ores/${material}`).isEmpty()) {
|
||||
event.custom({
|
||||
type: 'mekanism:dissolution',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:ores/${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
slurry: `kubejs:dirty_${material}`,
|
||||
amount: 1000,
|
||||
chemicalType: 'slurry'
|
||||
},
|
||||
gasInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:sulfuric_acid'
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/slurry/dirty/from_ore`)
|
||||
event.custom({
|
||||
type: 'mekanism:injecting',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:ores/${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:hydrogen_chloride'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:shard_${material}`,
|
||||
count: 4
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/shard/from_ore`)
|
||||
event.custom({
|
||||
type: 'mekanism:purifying',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:ores/${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:oxygen'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:clump_${material}`,
|
||||
count: 3
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/clump/from_ore`)
|
||||
if (hasDust) {
|
||||
event.custom({
|
||||
type: 'mekanism:enriching',
|
||||
input: {
|
||||
ingredient: {
|
||||
tag: `forge:ores/${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
item: dust.id,
|
||||
count: 2
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/dust/from_ore`)
|
||||
}
|
||||
}
|
||||
|
||||
if (!Ingredient.of(`#forge:raw_materials/${material}`).isEmpty()) {
|
||||
event.custom({
|
||||
type: 'mekanism:dissolution',
|
||||
itemInput: {
|
||||
amount: 3,
|
||||
ingredient: {
|
||||
tag: `forge:raw_materials/${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
slurry: `kubejs:dirty_${material}`,
|
||||
amount: 2000,
|
||||
chemicalType: 'slurry'
|
||||
},
|
||||
gasInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:sulfuric_acid'
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/slurry/dirty/from_raw_ore`)
|
||||
event.custom({
|
||||
type: 'mekanism:injecting',
|
||||
itemInput: {
|
||||
amount: 3,
|
||||
ingredient: {
|
||||
tag: `forge:raw_materials/${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:hydrogen_chloride'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:shard_${material}`,
|
||||
count: 8
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/shard/from_raw_ore`)
|
||||
event.custom({
|
||||
type: 'mekanism:purifying',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `forge:raw_materials/${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:oxygen'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:clump_${material}`,
|
||||
count: 2
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/clump/from_raw_ore`)
|
||||
if (hasDust) {
|
||||
event.custom({
|
||||
type: 'mekanism:enriching',
|
||||
input: {
|
||||
amount: 3,
|
||||
ingredient: {
|
||||
tag: `forge:raw_materials/${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
item: dust.id,
|
||||
count: 4
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/dust/from_raw_ore`)
|
||||
}
|
||||
}
|
||||
|
||||
event.custom({
|
||||
type: 'mekanism:washing',
|
||||
fluidInput: {
|
||||
amount: 5,
|
||||
tag: 'minecraft:water'
|
||||
},
|
||||
slurryInput: {
|
||||
amount: 1,
|
||||
slurry: `kubejs:dirty_${material}`
|
||||
},
|
||||
output: {
|
||||
slurry: `kubejs:clean_${material}`,
|
||||
amount: 1
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/slurry/clean`)
|
||||
event.custom({
|
||||
type: 'mekanism:crystallizing',
|
||||
chemicalType: 'slurry',
|
||||
input: {
|
||||
amount: 200,
|
||||
slurry: `kubejs:clean_${material}`
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:crystal_${material}`
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/crystal/from_slurry`)
|
||||
event.custom({
|
||||
type: 'mekanism:injecting',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `mekanism:crystals/${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:hydrogen_chloride'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:shard_${material}`
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/shard/from_crystal`)
|
||||
event.custom({
|
||||
type: 'mekanism:purifying',
|
||||
itemInput: {
|
||||
ingredient: {
|
||||
tag: `mekanism:shards/${material}`
|
||||
}
|
||||
},
|
||||
chemicalInput: {
|
||||
amount: 1,
|
||||
gas: 'mekanism:oxygen'
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:clump_${material}`
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/clump/from_shard`)
|
||||
event.custom({
|
||||
type: 'mekanism:crushing',
|
||||
input: {
|
||||
ingredient: {
|
||||
tag: `mekanism:clumps/${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
item: `kubejs:dirty_dust_${material}`
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/dirty_dust/from_clump`)
|
||||
if (hasDust) {
|
||||
event.custom({
|
||||
type: 'mekanism:enriching',
|
||||
input: {
|
||||
ingredient: {
|
||||
tag: `mekanism:dirty_dusts/${material}`
|
||||
}
|
||||
},
|
||||
output: {
|
||||
item: dust.id
|
||||
}
|
||||
}).id(`kubejs:processing/${material}/dust/from_dirty_dust`)
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'mininggadgets:upgrade_empty' })
|
||||
event.shaped('mininggadgets:upgrade_empty', ['RAL', 'DGD', 'LAR'], {
|
||||
'L': '#forge:storage_blocks/lapis',
|
||||
'R': '#forge:storage_blocks/redstone',
|
||||
'D': '#forge:gems/diamond',
|
||||
'A': '#forge:nuggets/allthemodium',
|
||||
'G': '#forge:glass_panes'
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,46 @@
|
||||
ServerEvents.recipes(event => {
|
||||
// essence crafting for custom seeds
|
||||
function essenceCircle(result, essenceType) {
|
||||
event.shaped(result, ['aaa', 'a a', 'aaa'], { a: `mysticalagriculture:${essenceType}_essence` }).id(`kubejs:mysticalagriculture/${essenceType}_essence_crafting`)
|
||||
}
|
||||
essenceCircle('allthemodium:allthemodium_nugget', 'allthemodium')
|
||||
essenceCircle('allthemodium:vibranium_nugget', 'vibranium')
|
||||
essenceCircle('allthemodium:unobtainium_nugget', 'unobtainium')
|
||||
essenceCircle('6x silentgear:azure_silver_ingot', 'azure_silver')
|
||||
essenceCircle('6x silentgear:crimson_iron_ingot', 'crimson_iron')
|
||||
|
||||
//magical soil crafting
|
||||
event.custom({
|
||||
type: 'mysticalagriculture:infusion',
|
||||
input: { item: 'mysticalagradditions:insanium_farmland' },
|
||||
ingredients: [
|
||||
{ item: 'mysticalagradditions:dragon_scale' },
|
||||
{ item: 'mysticalagradditions:insanium_block' },
|
||||
{ item: 'mysticalagradditions:dragon_scale' },
|
||||
{ item: 'mysticalagradditions:insanium_block' },
|
||||
{ item: 'mysticalagradditions:dragon_scale' },
|
||||
{ item: 'mysticalagradditions:insanium_block' },
|
||||
{ item: 'mysticalagradditions:dragon_scale' },
|
||||
{ item: 'mysticalagradditions:insanium_block' }
|
||||
],
|
||||
result: { item: 'kubejs:magical_soil' }
|
||||
})
|
||||
|
||||
//MA EXP droplets to fluid EXP
|
||||
event.custom({
|
||||
type: "thermal:centrifuge",
|
||||
ingredient: {
|
||||
item: "mysticalagriculture:experience_droplet"
|
||||
},
|
||||
result: [
|
||||
{
|
||||
fluid: "cofh_core:experience",
|
||||
amount: 250
|
||||
}
|
||||
],
|
||||
energy: 400
|
||||
})
|
||||
|
||||
//remove gaia crux
|
||||
event.remove({ id: "mysticalagradditions:gaia_spirit_crux" })
|
||||
})
|
||||
@@ -0,0 +1,172 @@
|
||||
const CropRegistry = Java.loadClass('com.blakebr0.mysticalagriculture.registry.CropRegistry')
|
||||
|
||||
// sets the chance for a seed to drop
|
||||
const SecondarySeed = 0.01
|
||||
const TierSecondaryCutoff = 5
|
||||
|
||||
ServerEvents.tags('item', event => {
|
||||
let CropRegistryInstance = CropRegistry.getInstance()
|
||||
let cropTiers = CropRegistryInstance.getTiers()
|
||||
let tiers = Array.apply(null, Array(cropTiers.length))
|
||||
for (const CropTier of cropTiers) {
|
||||
tiers[CropTier.getValue() - 1] = CropTier.getFarmland()
|
||||
if (CropTier.getValue() >= TierSecondaryCutoff) {
|
||||
CropTier.setSecondarySeedDrop(false)
|
||||
CropTier.setBaseSecondaryChance(0)
|
||||
} else {
|
||||
CropTier.setBaseSecondaryChance(SecondarySeed)
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < tiers.length; i++) {
|
||||
let farmA = tiers[i]
|
||||
let farmB = null
|
||||
if (i + 1 < tiers.length) {
|
||||
if (!farmA.equals(tiers[i + 1])) {
|
||||
farmB = tiers[i + 1]
|
||||
}
|
||||
}
|
||||
let tierA = farmA.getIdLocation().getPath().replace('_farmland', '')
|
||||
event.add(`kubejs:farmland/${tierA}`, farmA.getId())
|
||||
if (farmB) {
|
||||
let tierB = farmB.getIdLocation().getPath().replace('_farmland', '')
|
||||
event.add(`kubejs:farmland/${tierA}`, `#kubejs:farmland/${tierB}`)
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
let JsonExport = { enabled: [], disabled: [] }
|
||||
let CropRegistryInstance = CropRegistry.getInstance()
|
||||
let CropList = CropRegistryInstance.getCrops()
|
||||
for (const Crop of CropList) {
|
||||
let CropName = Crop.getName()
|
||||
if (Crop.isEnabled()) {
|
||||
JsonExport.enabled.push(CropName)
|
||||
} else {
|
||||
JsonExport.disabled.push(CropName)
|
||||
event.remove({ id: `mysticalagriculture:seed/infusion/${CropName}` })
|
||||
}
|
||||
}
|
||||
JsonIO.write('kubejs/server_scripts/mods/mysticalagriculture/cropInfo.json', JsonExport)
|
||||
|
||||
// Botany Pots
|
||||
if (Platform.isLoaded('botanypots')) {
|
||||
let seenSeeds = []
|
||||
let crux = []
|
||||
|
||||
// Fix drops, fix cruxes, check for missing
|
||||
event.forEachRecipe({ type: 'botanypots:crop' }, recipe => {
|
||||
let seed = Ingredient.of(recipe.json.get('seed')).getFirst()
|
||||
if (seed.getMod().contains('mystical')) {
|
||||
let seedName = seed.getIdLocation().getPath().replace('_seeds', '')
|
||||
let newDrops = []
|
||||
let Crop = CropRegistryInstance.getCropByName(seedName)
|
||||
let cruxBlock = Crop.getCruxBlock()
|
||||
if (cruxBlock) {
|
||||
recipe.json.add('categories', [`${cruxBlock.getIdLocation().getPath()}`])
|
||||
crux.push(cruxBlock)
|
||||
}
|
||||
for (const drop of recipe.json.get('drops')) {
|
||||
if (Ingredient.of(drop.get('output')).test(seed)) {
|
||||
if (SecondarySeed > 0 && Crop.getTier().hasSecondarySeedDrop()) {
|
||||
drop.add('chance', SecondarySeed)
|
||||
newDrops.push(drop)
|
||||
}
|
||||
} else {
|
||||
newDrops.push(drop)
|
||||
}
|
||||
}
|
||||
recipe.json.add('drops', newDrops)
|
||||
seenSeeds.push(seedName)
|
||||
}
|
||||
})
|
||||
|
||||
// add missing recipes
|
||||
for (const seed of JsonExport.enabled) {
|
||||
if (!seenSeeds.includes(seed)) {
|
||||
let Crop = CropRegistryInstance.getCropByName(seed)
|
||||
let drops = [{ chance: 1.0, output: Ingredient.of(Crop.getEssenceItem()).toJson() }]
|
||||
if (SecondarySeed > 0 && Crop.getTier().hasSecondarySeedDrop()) {
|
||||
drops.push({ chance: SecondarySeed, output: Ingredient.of(Crop.getSeedsItem()).toJson() })
|
||||
}
|
||||
drops.push({ chance: 0.01, output: Ingredient.of("mysticalagriculture:fertilized_essence").toJson(), minRolls: 1, maxRolls: 1 })
|
||||
let category = `${Crop.getTier().getFarmland().getIdLocation().getPath().replace('_farmland', '')}`
|
||||
let cruxBlock = Crop.getCruxBlock()
|
||||
if (cruxBlock) {
|
||||
category = `${cruxBlock.getIdLocation().getPath()}`
|
||||
crux.push(cruxBlock)
|
||||
}
|
||||
event.custom({
|
||||
type: 'botanypots:crop',
|
||||
seed: Ingredient.of(Crop.getSeedsItem()).toJson(),
|
||||
categories: [category],
|
||||
growthTicks: 1200 + (600 * Crop.getTier().getValue()),
|
||||
display: {
|
||||
type: 'botanypots:aging',
|
||||
block: Crop.getCropBlock().getId()
|
||||
},
|
||||
drops: drops
|
||||
}).id(`kubejs:botanypots/mysticalagriculture/${seed}`)
|
||||
}
|
||||
}
|
||||
|
||||
// add crux 'soils'
|
||||
for (const block of crux) {
|
||||
let category = `${block.getIdLocation().getPath()}`
|
||||
event.custom({
|
||||
type: 'botanypots:soil',
|
||||
input: { item: block.getId() },
|
||||
display: { block: block.getId() },
|
||||
categories: [category],
|
||||
growthModifier: 1.0
|
||||
}).id(`kubejs:botanypots/mysticalagriculture/crux/${category}`)
|
||||
}
|
||||
}
|
||||
|
||||
// Thermal Insolator
|
||||
if (Platform.isLoaded('thermal')) {
|
||||
JsonExport.enabled.forEach(cropName => {
|
||||
let Crop = CropRegistryInstance.getCropByName(cropName)
|
||||
event.custom({
|
||||
type: 'thermal:insolator',
|
||||
ingredient: Ingredient.of(Crop.getSeedsItem()).toJson(),
|
||||
result: [
|
||||
{
|
||||
item: Crop.getEssenceItem().getId(),
|
||||
chance: 1 + SecondarySeed
|
||||
},
|
||||
{
|
||||
item: Crop.getSeedsItem().getId(),
|
||||
chance: Crop.getTier().hasSecondarySeedDrop() ? (1 + SecondarySeed) : 1,
|
||||
locked: true
|
||||
}
|
||||
]
|
||||
}).id(`kubejs:thermal/machines/insolator/mysticalagriculture/${cropName}`)
|
||||
})
|
||||
}
|
||||
|
||||
// Immersive Engineering Cloche
|
||||
if (Platform.isLoaded('immersiveengineering')) {
|
||||
JsonExport.enabled.forEach(cropName => {
|
||||
let Crop = CropRegistryInstance.getCropByName(cropName)
|
||||
event.custom({
|
||||
type: 'immersiveengineering:cloche',
|
||||
results: [
|
||||
{
|
||||
item: Crop.getEssenceItem().getId(),
|
||||
count: 2
|
||||
}
|
||||
],
|
||||
input: Ingredient.of(Crop.getSeedsItem()).toJson(),
|
||||
soil: Ingredient.of(Crop.getCruxBlock() ?? `#kubejs:farmland/${Crop.getTier().getFarmland().getIdLocation().getPath().replace('_farmland', '')}`).toJson(),
|
||||
time: 250 + (750 * Crop.getTier().getValue()),
|
||||
render: {
|
||||
type: 'crop',
|
||||
block: Crop.getCropBlock().getId()
|
||||
}
|
||||
}).id(`kubejs:immersiveengineering/cloche/mysticalagriculture/${cropName}`)
|
||||
})
|
||||
}
|
||||
})
|
||||
7
minecraft/kubejs/server_scripts/mods/quark/quark.js
Normal file
7
minecraft/kubejs/server_scripts/mods/quark/quark.js
Normal file
@@ -0,0 +1,7 @@
|
||||
ServerEvents.recipes(event => {
|
||||
// Fix Sturdy Stone conflict
|
||||
event.shaped('quark:sturdy_stone', [' A ', 'ABA', ' A '], {
|
||||
A: '#forge:nuggets/iron',
|
||||
B: 'allthecompressed:cobblestone_block_1x'
|
||||
}).id('quark:building/crafting/sturdy_stone')
|
||||
})
|
||||
16
minecraft/kubejs/server_scripts/mods/quarryplus/quarrying.js
Normal file
16
minecraft/kubejs/server_scripts/mods/quarryplus/quarrying.js
Normal file
@@ -0,0 +1,16 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'quarryplus:solid_fuel_quarry' })
|
||||
event.remove({ id: 'quarryplus:workbench' })
|
||||
event.shaped('quarryplus:solid_fuel_quarry', ['FFF', 'DGD', 'AAA'], {
|
||||
F: 'minecraft:furnace',
|
||||
D: 'minecraft:diamond_pickaxe',
|
||||
G: '#forge:storage_blocks/gold',
|
||||
A: '#forge:nuggets/allthemodium'
|
||||
})
|
||||
event.shaped('quarryplus:workbench', ['III', 'GDG', 'AAA'], {
|
||||
I: '#forge:storage_blocks/iron',
|
||||
G: '#forge:storage_blocks/gold',
|
||||
D: '#forge:storage_blocks/diamond',
|
||||
A: '#forge:nuggets/allthemodium'
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,160 @@
|
||||
ServerEvents.tags('item', event => {
|
||||
event.add('refinedstorage:silicon', '#forge:silicon')
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
// silicon unifying
|
||||
/* hold for tag fix
|
||||
event.replaceInput({}, '#refinedstorage:silicon', '#forge:silicon')
|
||||
*/
|
||||
|
||||
// Infinite Booster
|
||||
event.remove({ id: 'rsinfinitybooster:infinity_card' })
|
||||
event.shaped('rsinfinitybooster:infinity_card', ['EBE', 'BUB', 'NNN'], {
|
||||
U: '#forge:ingots/unobtainium',
|
||||
B: 'refinedstorage:range_upgrade',
|
||||
E: '#forge:plates/enderium',
|
||||
N: 'minecraft:netherite_ingot'
|
||||
}).id('kubejs:rsinfinitybooster/infinity_card')
|
||||
|
||||
|
||||
// Crafters
|
||||
event.remove({ id: 'extrastorage:iron_crafter' })
|
||||
event.shaped('extrastorage:iron_crafter', ['B B', 'PCP', 'B B'], {
|
||||
B: '#forge:storage_blocks/iron',
|
||||
P: 'refinedstorage:improved_processor',
|
||||
C: '#refinedstorage:crafter'
|
||||
}).id('kubejs:extrastorage/iron_crafter')
|
||||
event.remove({ id: 'extrastorage:gold_crafter' })
|
||||
event.shaped('extrastorage:gold_crafter', ['BSB', 'PCP', 'B B'], {
|
||||
S: '#forge:chests',
|
||||
B: '#forge:storage_blocks/gold',
|
||||
P: 'extrastorage:neural_processor',
|
||||
C: 'extrastorage:iron_crafter'
|
||||
}).id('kubejs:extrastorage/gold_crafter')
|
||||
event.remove({ id: 'extrastorage:diamond_crafter' })
|
||||
event.shaped('extrastorage:diamond_crafter', ['BSB', 'PCP', 'B B'], {
|
||||
S: '#forge:chests',
|
||||
B: '#forge:storage_blocks/diamond',
|
||||
P: 'extrastorage:neural_processor',
|
||||
C: 'extrastorage:gold_crafter'
|
||||
}).id('kubejs:extrastorage/diamond_crafter')
|
||||
event.remove({ id: 'extrastorage:netherite_crafter' })
|
||||
event.shaped('extrastorage:netherite_crafter', ['BSB', 'PCP', 'B B'], {
|
||||
S: '#forge:chests',
|
||||
B: '#forge:storage_blocks/netherite',
|
||||
P: 'extrastorage:neural_processor',
|
||||
C: 'extrastorage:diamond_crafter'
|
||||
}).id('kubejs:extrastorage/netherite_crafter')
|
||||
|
||||
/* Possible Future Addition
|
||||
event.remove({ id: 'creativecrafter:creative_crafter' })
|
||||
event.shaped('creativecrafter:creative_crafter', ['BUB', 'PCP', 'BUB'], {
|
||||
B: '#forge:storage_blocks/netherite',
|
||||
P: 'extradisks:withering_processor',
|
||||
C: 'extrastorage:netherite_crafter',
|
||||
U: '#forge:ingots/unobtainium'
|
||||
}).id('kubejs:creativecrafter/creative_crafter')
|
||||
*/
|
||||
|
||||
// Storage Parts
|
||||
// removes overlapping extra storage parts
|
||||
event.remove({ id: /^extrastorage:(?:part|disk|storage_block)\/.+/ })
|
||||
// removes overlapping reborn storage parts
|
||||
event.remove({ id: /^rebornstorage:(?:disks|parts)\/(small|medium|large|larger).+/ })
|
||||
|
||||
event.remove({ id: 'extradisks:part/4096k_storage_part' })
|
||||
event.shaped('extradisks:4096k_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'refinedstorage:advanced_processor',
|
||||
f: '#refinedstorage:parts/items/1024k',
|
||||
b: '#forge:dusts/redstone',
|
||||
n: '#forge:nuggets/allthemodium'
|
||||
}).id('kubejs:extradisks/part/4096k_storage_part')
|
||||
event.remove({ id: 'extradisks:part/16384k_storage_part' })
|
||||
event.shaped('extradisks:16384k_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'refinedstorage:advanced_processor',
|
||||
f: '#refinedstorage:parts/items/4096k',
|
||||
b: '#forge:dusts/redstone',
|
||||
n: '#forge:ingots/allthemodium'
|
||||
}).id('kubejs:extradisks/part/16384k_storage_part')
|
||||
event.remove({ id: 'extradisks:part/65536k_storage_part' })
|
||||
event.shaped('extradisks:65536k_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'refinedstorage:advanced_processor',
|
||||
f: '#refinedstorage:parts/items/16384k',
|
||||
b: '#forge:dusts/redstone',
|
||||
n: '#forge:ingots/allthemodium'
|
||||
}).id('kubejs:extradisks/part/65536k_storage_part')
|
||||
event.remove({ id: 'extradisks:part/262144k_storage_part' })
|
||||
event.shaped('extradisks:262144k_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'extradisks:withering_processor',
|
||||
f: '#refinedstorage:parts/items/65536k',
|
||||
b: '#forge:dusts/redstone',
|
||||
n: '#forge:ingots/vibranium'
|
||||
}).id('kubejs:extradisks/part/262144k_storage_part')
|
||||
event.remove({ id: 'extradisks:part/1048576k_storage_part' })
|
||||
event.shaped('extradisks:1048576k_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'extradisks:withering_processor',
|
||||
f: '#refinedstorage:parts/items/262144k',
|
||||
b: '#forge:dusts/redstone',
|
||||
n: '#forge:ingots/unobtainium'
|
||||
}).id('kubejs:extradisks/part/1048576k_storage_part')
|
||||
event.remove({ id: 'extradisks:part/infinite_storage_part' })
|
||||
event.shaped('extradisks:infinite_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'extradisks:withering_processor',
|
||||
f: '#refinedstorage:parts/items/1048576k',
|
||||
b: '#forge:dusts/redstone',
|
||||
n: '#forge:ingots/unobtainium'
|
||||
}).id('kubejs:extradisks/part/infinite_storage_part')
|
||||
|
||||
event.remove({ id: 'extradisks:part/16384k_fluid_storage_part' })
|
||||
event.shaped('extradisks:16384k_fluid_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'refinedstorage:advanced_processor',
|
||||
f: 'refinedstorage:4096k_fluid_storage_part',
|
||||
b: 'minecraft:bucket',
|
||||
n: '#forge:nuggets/allthemodium'
|
||||
}).id('kubejs:extradisks/part/16384k_fluid_storage_part')
|
||||
event.remove({ id: 'extradisks:part/65536k_fluid_storage_part' })
|
||||
event.shaped('extradisks:65536k_fluid_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'refinedstorage:advanced_processor',
|
||||
f: '#refinedstorage:parts/fluids/16384k',
|
||||
b: 'minecraft:bucket',
|
||||
n: '#forge:ingots/allthemodium'
|
||||
}).id('kubejs:extradisks/part/65536k_fluid_storage_part')
|
||||
event.remove({ id: 'extradisks:part/262144k_fluid_storage_part' })
|
||||
event.shaped('extradisks:262144k_fluid_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'refinedstorage:advanced_processor',
|
||||
f: '#refinedstorage:parts/fluids/65536k',
|
||||
b: 'minecraft:bucket',
|
||||
n: '#forge:ingots/vibranium'
|
||||
}).id('kubejs:extradisks/part/262144k_fluid_storage_part')
|
||||
event.remove({ id: 'extradisks:part/1048576k_fluid_storage_part' })
|
||||
event.shaped('extradisks:1048576k_fluid_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'extradisks:withering_processor',
|
||||
f: '#refinedstorage:parts/fluids/262144k',
|
||||
b: 'minecraft:bucket',
|
||||
n: '#forge:ingots/unobtainium'
|
||||
}).id('kubejs:extradisks/part/1048576k_fluid_storage_part')
|
||||
event.remove({ id: 'extradisks:part/infinite_fluid_storage_part' })
|
||||
event.shaped('extradisks:infinite_fluid_storage_part', ['ana', 'fbf', 'afa'], {
|
||||
a: 'extradisks:withering_processor',
|
||||
f: '#refinedstorage:parts/fluids/1048576k',
|
||||
b: 'minecraft:bucket',
|
||||
n: '#forge:ingots/unobtainium'
|
||||
}).id('kubejs:extradisks/part/infinite_fluid_storage_part')
|
||||
|
||||
// Cable Tiers
|
||||
event.remove({ id: /extrastorage:advanced_(importer|exporter)/ })
|
||||
// Modify recipes to take half as many of previous tier
|
||||
event.forEachRecipe({ mod: 'cabletiers' }, recipe => {
|
||||
let pattern = recipe.json.get('pattern')
|
||||
let center = pattern.get(1).getAsString()
|
||||
pattern.set(1, center.replace(center.substring(0, 1), ' '))
|
||||
recipe.json.add('pattern', pattern)
|
||||
if (recipe.getId().contains('creative')) {
|
||||
let key = recipe.json.get('key')
|
||||
key.add(center.substring(1, 2), Ingredient.of('extradisks:withering_processor').toJson())
|
||||
recipe.json.add('key', key)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
ServerEvents.recipes(e =>{
|
||||
e.remove({id: 'reliquary:rod_of_lyssa'})
|
||||
})
|
||||
9
minecraft/kubejs/server_scripts/mods/rftools/builder.js
Normal file
9
minecraft/kubejs/server_scripts/mods/rftools/builder.js
Normal file
@@ -0,0 +1,9 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'rftoolsbuilder:builder' })
|
||||
event.shaped('rftoolsbuilder:builder', ['aea', 'rmr', 'ara'], {
|
||||
a: '#forge:nuggets/allthemodium',
|
||||
e: '#forge:ender_pearls',
|
||||
r: '#forge:storage_blocks/redstone',
|
||||
m: 'rftoolsbase:machine_frame'
|
||||
})
|
||||
})
|
||||
14
minecraft/kubejs/server_scripts/mods/silent_gear/salvager.js
Normal file
14
minecraft/kubejs/server_scripts/mods/silent_gear/salvager.js
Normal file
@@ -0,0 +1,14 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'silentgear:salvager' })
|
||||
event.shaped('silentgear:salvager', [
|
||||
' M ',
|
||||
'CDC',
|
||||
'COC'
|
||||
], {
|
||||
M: 'mininggadgets:upgrade_magnet',
|
||||
C: 'silentgear:crimson_steel_ingot',
|
||||
D: 'minecraft:diamond_block',
|
||||
O: 'minecraft:obsidian'
|
||||
})
|
||||
event.remove({id: 'silentgear:bronze_ingot'})
|
||||
})
|
||||
@@ -0,0 +1,12 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({id: 'structurecompass:structure_compass'})
|
||||
event.shaped('structurecompass:structure_compass', [
|
||||
'NAN',
|
||||
'ACA',
|
||||
'NAN'
|
||||
], {
|
||||
A: 'allthemodium:allthemodium_ingot',
|
||||
N: 'minecraft:netherite_ingot',
|
||||
C: 'naturescompass:naturescompass',
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({ id: 'tiab:time_in_a_bottle' })
|
||||
event.shaped('tiab:time_in_a_bottle', ['UUU', 'DCD', 'LBL'], {
|
||||
U: '#forge:ingots/unobtainium',
|
||||
D: 'mysticalagriculture:speed_iii_augment',
|
||||
L: 'minecraft:lapis_lazuli',
|
||||
C: 'productivebees:upgrade_time',
|
||||
B: 'minecraft:experience_bottle'
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,3 @@
|
||||
ServerEvents.recipes(event => {
|
||||
event.remove({id:'twilightforest:uncrafting_table'})
|
||||
})
|
||||
14
minecraft/kubejs/server_scripts/ore_removal.js
Normal file
14
minecraft/kubejs/server_scripts/ore_removal.js
Normal file
@@ -0,0 +1,14 @@
|
||||
ServerEvents.highPriorityData(event => {
|
||||
event.addJson('occultism:forge/biome_modifier/add_deepslate_silver_ore', {
|
||||
type: "forge:remove_features",
|
||||
biomes: "#minecraft:is_overworld",
|
||||
features: "occultism:silver_ore_deepslate",
|
||||
step: "underground_ores"
|
||||
})
|
||||
event.addJson('occultism:forge/biome_modifier/add_silver_ore', {
|
||||
type: "forge:remove_features",
|
||||
biomes: "#minecraft:is_overworld",
|
||||
features: "occultism:silver_ore",
|
||||
step: "underground_ores"
|
||||
})
|
||||
})
|
||||
50
minecraft/kubejs/server_scripts/postUnify/_before.js
Normal file
50
minecraft/kubejs/server_scripts/postUnify/_before.js
Normal file
@@ -0,0 +1,50 @@
|
||||
// priority: 1000
|
||||
|
||||
global['auTags'] = []
|
||||
|
||||
global['loaded'] = {
|
||||
IE_Loaded: Platform.isLoaded('immersiveengineering'),
|
||||
Mek_Loaded: Platform.isLoaded('mekanism'),
|
||||
Create_Loaded: Platform.isLoaded('create'),
|
||||
CreateAdd_Loaded: Platform.isLoaded('createaddition'),
|
||||
Thermal_Loaded: false,
|
||||
FTBIC_Loaded: Platform.isLoaded('ftbic'),
|
||||
Tinkers_Loaded: Platform.isLoaded('tconstruct'),
|
||||
Occult_Loaded: Platform.isLoaded('occultism'),
|
||||
ATO_Loaded: Platform.isLoaded('alltheores')
|
||||
}
|
||||
|
||||
global['alloys'] = [
|
||||
'steel',
|
||||
'invar',
|
||||
'electrum',
|
||||
'bronze',
|
||||
'enderium',
|
||||
'lumium',
|
||||
'signalum',
|
||||
'constantan',
|
||||
'brass'
|
||||
]
|
||||
|
||||
global['blueskies'] = [
|
||||
'aquite',
|
||||
'charoite',
|
||||
'falsite',
|
||||
'horizonite',
|
||||
'ventium'
|
||||
]
|
||||
|
||||
global['ingredientCheck'] = function(itemstack, json) {
|
||||
if(json.has('tag')) {
|
||||
let tag = json.get('tag').getAsString()
|
||||
if (AlmostUnified.getItemIds(tag).contains(itemstack.id)) { return true }
|
||||
} else if (json.has('item')) {
|
||||
let item = json.get('item').getAsString()
|
||||
if (itemstack.id == item) { return true }
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
global.auTags = AlmostUnified.getTags()
|
||||
})
|
||||
135
minecraft/kubejs/server_scripts/postUnify/dust.js
Normal file
135
minecraft/kubejs/server_scripts/postUnify/dust.js
Normal file
@@ -0,0 +1,135 @@
|
||||
// priority:950
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Dusts')
|
||||
}
|
||||
let dustTags = global.auTags.filter(function (val) {
|
||||
return /forge:dusts/.test(val)
|
||||
})
|
||||
let dustCount = {
|
||||
occult: 0,
|
||||
ftbic: 0
|
||||
}
|
||||
dustTags.forEach(dustTagString => {
|
||||
let material = dustTagString.replace('forge:dusts/', '')
|
||||
let dust = AlmostUnified.getPreferredItemForTag(dustTagString)
|
||||
if (dust.isEmpty()) {
|
||||
console.log(`${material} does not have a dust tag entry`)
|
||||
return
|
||||
}
|
||||
let ingot = AlmostUnified.getPreferredItemForTag(`forge:ingots/${material}`)
|
||||
let ore = AlmostUnified.getPreferredItemForTag(`forge:ores/${material}`)
|
||||
let raw_material = AlmostUnified.getPreferredItemForTag(`forge:raw_materials/${material}`)
|
||||
let raw_block = AlmostUnified.getPreferredItemForTag(`forge:storage_blocks/raw_${material}`)
|
||||
// Occultism Crusher
|
||||
if (global.loaded.Occult_Loaded) {
|
||||
let crush = {
|
||||
ingot: false,
|
||||
ore: false,
|
||||
raw: false
|
||||
}
|
||||
event.forEachRecipe({ type: "occultism:crushing" }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
if (dust.equalsIgnoringCount(Item.of(recipeJson.get('result')))) {
|
||||
let input = recipeJson.get('ingredient')
|
||||
if (!ingot.isEmpty() && global.ingredientCheck(ingot, input)) {
|
||||
crush.ingot = true
|
||||
} else if (!ore.isEmpty() && global.ingredientCheck(ore, input)) {
|
||||
crush.ore = true
|
||||
} else if (!raw_material.isEmpty() && global.ingredientCheck(raw_material, input)) {
|
||||
crush.raw = true
|
||||
}
|
||||
}
|
||||
})
|
||||
let recipe = {
|
||||
type: "occultism:crushing",
|
||||
ingredient: {},
|
||||
result: {},
|
||||
crushing_time: 200,
|
||||
ignore_crushing_multiplier: true
|
||||
}
|
||||
if (!ingot.isEmpty() && !crush.ingot) {
|
||||
let ingotRecipe = recipe
|
||||
ingotRecipe.ingredient = Ingredient.of(`#forge:ingots/${material}`).toJson()
|
||||
ingotRecipe.result = dust.withCount(1).toJson()
|
||||
event.custom(ingotRecipe).id(`kubejs:occultism/crushing/${material}_dust_from_ingot`)
|
||||
dustCount.occult++
|
||||
}
|
||||
if (!raw_material.isEmpty() && !crush.raw) {
|
||||
let rawRecipe = recipe
|
||||
rawRecipe.ingredient = Ingredient.of(`#forge:raw_materials/${material}`).toJson()
|
||||
rawRecipe.result = dust.withCount(2).toJson()
|
||||
rawRecipe.ignore_crushing_multiplier = false
|
||||
event.custom(rawRecipe).id(`kubejs:occultism/crushing/${material}_dust_from_raw_material`)
|
||||
dustCount.occult++
|
||||
}
|
||||
if (!ore.isEmpty() && !crush.ore) {
|
||||
let oreRecipe = recipe
|
||||
oreRecipe.ingredient = Ingredient.of(`#forge:ores/${material}`).toJson()
|
||||
oreRecipe.result = dust.withCount(2).toJson()
|
||||
oreRecipe.crushing_time = 300
|
||||
oreRecipe.ignore_crushing_multiplier = false
|
||||
event.custom(oreRecipe).id(`kubejs:occultism/crushing/${material}_dust`)
|
||||
dustCount.occult++
|
||||
}
|
||||
}
|
||||
// FTBIC Macerating
|
||||
if (global.loaded.FTBIC_Loaded) {
|
||||
let macerate = {
|
||||
ingot: false,
|
||||
ore: false,
|
||||
raw: false,
|
||||
}
|
||||
event.forEachRecipe({ type: 'ftbic:macerating' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('outputItems').forEach(item => {
|
||||
if (dust.equalsIgnoringCount(Item.of(item))) {
|
||||
recipeJson.get('inputItems').forEach(inputJson => {
|
||||
let input = inputJson.get('ingredient')
|
||||
if (!ingot.isEmpty() && global.ingredientCheck(ingot, input)) {
|
||||
macerate.ingot = true
|
||||
} else if (!ore.isEmpty() && global.ingredientCheck(ore, input)) {
|
||||
macerate.ore = true
|
||||
} else if (!raw_material.isEmpty() && global.ingredientCheck(raw_material, input)) {
|
||||
macerate.raw = true
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
if (!ingot.isEmpty() && !macerate.ingot) {
|
||||
event.custom({
|
||||
"type": "ftbic:macerating",
|
||||
"inputItems": [{ count: 1, ingredient: Ingredient.of(`#forge:ingots/${material}`).toJson() }],
|
||||
"outputItems": [dust.toJson()]
|
||||
}).id(`kubejs:ftbic/macerating/ingots/${material}_to_dust`)
|
||||
dustCount.ftbic++
|
||||
}
|
||||
if (!ore.isEmpty() && !macerate.ore) {
|
||||
event.custom({
|
||||
"type": "ftbic:macerating",
|
||||
"inputItems": [{ count: 1, ingredient: Ingredient.of(`#forge:ores/${material}`).toJson() }],
|
||||
"outputItems": [dust.withCount(2).toJson()]
|
||||
}).id(`kubejs:ftbic/macerating/ores/${material}_to_dust`)
|
||||
dustCount.ftbic++
|
||||
}
|
||||
if (!raw_material.isEmpty() && !macerate.raw) {
|
||||
event.custom({
|
||||
"type": "ftbic:macerating",
|
||||
"inputItems": [{ count: 1, ingredient: Ingredient.of(`#forge:raw_materials/${material}`).toJson() }],
|
||||
"outputItems": [
|
||||
dust.toJson(),
|
||||
{ chance: 0.35, item: dust.id }
|
||||
]
|
||||
}).id(`kubejs:ftbic/macerating/raw_materials/${material}_to_dust`)
|
||||
dustCount.ftbic++
|
||||
}
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Dust Recipes - FTBIC: ${dustCount.ftbic}, Occultism: ${dustCount.occult}`)
|
||||
// Added Dust Recipes - FTBIC: 52, Occultism: 63
|
||||
}
|
||||
})
|
||||
108
minecraft/kubejs/server_scripts/postUnify/gears.js
Normal file
108
minecraft/kubejs/server_scripts/postUnify/gears.js
Normal file
@@ -0,0 +1,108 @@
|
||||
//priority:400
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Gears')
|
||||
}
|
||||
let gearTags = global.auTags.filter(function (val) {
|
||||
return /forge:gears/.test(val)
|
||||
})
|
||||
let gearCount = {
|
||||
ftbic: 0,
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
gearTags.forEach(gearTagString => {
|
||||
let material = gearTagString.replace('forge:gears/', '')
|
||||
let gear = AlmostUnified.getPreferredItemForTag(gearTagString)
|
||||
if (gear.isEmpty()) {
|
||||
console.log(`${material} does not have a gear tag entry`)
|
||||
return
|
||||
}
|
||||
let ingotTagString = `forge:ingots/${material}`
|
||||
if (AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
ingotTagString = `forge:gems/${material}`
|
||||
}
|
||||
if (!AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
let ingotTag = Ingredient.of(`#${ingotTagString}`)
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(gear, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(gear, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_gear',
|
||||
input: {
|
||||
count: 4,
|
||||
base_ingredient: ingotTag.toJson()
|
||||
},
|
||||
result: gear.toJson(),
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/gear_${material}`)
|
||||
gearCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (gear.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredients: [
|
||||
ingotTag.withCount(4).toJson(),
|
||||
Ingredient.of('thermal:press_gear_die').toJson(),
|
||||
],
|
||||
result: [gear.toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/press_${material}_ingot_to_gear`)
|
||||
gearCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
if (global.loaded.FTBIC_Loaded) {
|
||||
let plateTag = Ingredient.of(`#forge:plates/${material}`)
|
||||
if (!AlmostUnified.getPreferredItemForTag(`forge:plates/${material}`).isEmpty()) {
|
||||
// Check if ftbic extruding recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'ftbic:extruding' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('outputItems').forEach(item => {
|
||||
if (gear.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'ftbic:extruding',
|
||||
inputItems: [{ "count": 4, "ingredient": plateTag.toJson() }],
|
||||
outputItems: [gear.withCount(1).toJson()]
|
||||
}).id(`kubejs:ftbic/extruding/ingots/${material}_to_${material}_gear`)
|
||||
gearCount.ftbic++
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Gear Recipes - FTBIC: ${gearCount.ftbic}, IE: ${gearCount.ie}, Thermal: ${gearCount.thermal}`)
|
||||
// Added Gear Recipes - FTBIC: 16, IE: 8, Thermal: 0
|
||||
}
|
||||
})
|
||||
162
minecraft/kubejs/server_scripts/postUnify/ingots.js
Normal file
162
minecraft/kubejs/server_scripts/postUnify/ingots.js
Normal file
@@ -0,0 +1,162 @@
|
||||
//priority:700
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
|
||||
// Missing tags for unify
|
||||
ServerEvents.tags('item', event => {
|
||||
['falsite', 'ventium', 'horizonite'].forEach(metal => {
|
||||
event.add(`forge:ingots/${metal}`, `blue_skies:${metal}_ingot`)
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Ingots')
|
||||
}
|
||||
let ingotTags = global.auTags.filter(function (val) {
|
||||
return /forge:ingots/.test(val)
|
||||
})
|
||||
let ingotCount = {
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
ingotTags.forEach(ingotTagString => {
|
||||
let material = ingotTagString.replace('forge:ingots/', '')
|
||||
let ingot = AlmostUnified.getPreferredItemForTag(ingotTagString)
|
||||
if (ingot.isEmpty()) {
|
||||
console.log(`${material} does not have a ingot tag entry`)
|
||||
return
|
||||
}
|
||||
let isAlloy = global.alloys.includes(material)
|
||||
let storageTag = Ingredient.of(`#forge:storage_blocks/${material}`)
|
||||
if (!AlmostUnified.getPreferredItemForTag(`forge:storage_blocks/${material}`).isEmpty()) {
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(ingot, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(ingot, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
let recipe = {
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_unpacking',
|
||||
input: storageTag.toJson(),
|
||||
result: ingot.withCount(9).toJson(),
|
||||
energy: 2400
|
||||
}
|
||||
event.custom(recipe).id(`kubejs:immersiveengineering/metalpress/unpacking/block_${material}`)
|
||||
ingotCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (ingot.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredients: [
|
||||
storageTag.toJson(),
|
||||
Ingredient.of('thermal:press_unpacking_die').toJson(),
|
||||
],
|
||||
result: [ingot.withCount(9).toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/unpacking/press_${material}_unpacking`)
|
||||
ingotCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
let nuggetTag = Ingredient.of(`#forge:nuggets/${material}`)
|
||||
if (!AlmostUnified.getPreferredItemForTag(`forge:nuggets/${material}`).isEmpty()) {
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(ingot, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(ingot, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_packing_9',
|
||||
input: {
|
||||
count: 9,
|
||||
base_ingredient: nuggetTag.toJson()
|
||||
},
|
||||
result: ingot.toJson(),
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/packing3x3/${material}_nugget`)
|
||||
ingotCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (ingot.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredients: [
|
||||
nuggetTag.withCount(9).toJson(),
|
||||
Ingredient.of('thermal:press_packing_3x3_die').toJson(),
|
||||
],
|
||||
result: [ingot.toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/packing3x3/press_${material}_nugget_packing`)
|
||||
ingotCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isAlloy) {
|
||||
/*
|
||||
TODO include alloying recipes across all alloying machines
|
||||
create mixing
|
||||
thermal induction smelter
|
||||
ie alloy kiln
|
||||
ie arc furnace
|
||||
*/
|
||||
} else {
|
||||
/*
|
||||
TODO include/check ore/raw/raw_storage/chunk/dust to ingot recipes that might be missing
|
||||
most take their recipes from vanilla smelting/blasting
|
||||
special cases:
|
||||
ie arc furnace
|
||||
dust -> ingot
|
||||
ore -> 2 ingot, 1 ie slag
|
||||
raw ore -> 1 ingot, 1 ingot (50%)
|
||||
raw ore storage -> 13 ingots, 1 ingot (50%)
|
||||
thermal induction smelter
|
||||
*/
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Ingot Recipes - IE: ${ingotCount.ie}, Thermal: ${ingotCount.thermal}`)
|
||||
// Added Ingot Recipes - IE: 68, Thermal: 0
|
||||
}
|
||||
})
|
||||
89
minecraft/kubejs/server_scripts/postUnify/nuggets.js
Normal file
89
minecraft/kubejs/server_scripts/postUnify/nuggets.js
Normal file
@@ -0,0 +1,89 @@
|
||||
//priority:650
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
|
||||
// Missing tags for unify
|
||||
ServerEvents.tags('item', event => {
|
||||
['falsite', 'ventium', 'horizonite'].forEach(metal => {
|
||||
event.add(`forge:nuggets/${metal}`, `blue_skies:${metal}_nugget`)
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Nuggets')
|
||||
}
|
||||
let nuggetTags = global.auTags.filter(function (val) {
|
||||
return /forge:nuggets/.test(val)
|
||||
})
|
||||
let nuggetCount = {
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
nuggetTags.forEach(nuggetTagString => {
|
||||
let material = nuggetTagString.replace('forge:nuggets/', '')
|
||||
let nugget = AlmostUnified.getPreferredItemForTag(nuggetTagString)
|
||||
if (nugget.isEmpty()) {
|
||||
console.log(`${material} does not have a nugget tag entry`)
|
||||
return
|
||||
}
|
||||
let ingotTagString = `forge:ingots/${material}`
|
||||
if (AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
ingotTagString = `forge:gems/${material}`
|
||||
}
|
||||
if (!AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
let ingotTag = Ingredient.of(`#${ingotTagString}`)
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(nugget, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(nugget, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_unpacking',
|
||||
input: ingotTag.toJson(),
|
||||
result: nugget.withCount(9).toJson(),
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/unpacking/nugget_${material}`)
|
||||
nuggetCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (nugget.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredients: [
|
||||
ingotTag.toJson(),
|
||||
Ingredient.of('thermal:press_unpacking_die').toJson(),
|
||||
],
|
||||
result: [nugget.withCount(9).toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/unpacking/press_${material}_nugget_unpacking`)
|
||||
nuggetCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Nugget Recipes - IE: ${nuggetCount.ie}, Thermal: ${nuggetCount.thermal}`)
|
||||
// Added Nugget Recipes - IE: 32, Thermal: 0
|
||||
}
|
||||
})
|
||||
121
minecraft/kubejs/server_scripts/postUnify/plates.js
Normal file
121
minecraft/kubejs/server_scripts/postUnify/plates.js
Normal file
@@ -0,0 +1,121 @@
|
||||
//priority:500
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Plates')
|
||||
}
|
||||
let plateTags = global.auTags.filter(function (val) {
|
||||
return /forge:plates/.test(val)
|
||||
})
|
||||
let plateCount = {
|
||||
create: 0,
|
||||
ftbic: 0,
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
plateTags.forEach(plateTagString => {
|
||||
let material = plateTagString.replace('forge:plates/', '')
|
||||
//if (material == 'obsidian') { return }
|
||||
let plate = AlmostUnified.getPreferredItemForTag(plateTagString)
|
||||
if (plate.isEmpty()) {
|
||||
console.log(`${material} does not have a plate tag entry`)
|
||||
return
|
||||
}
|
||||
let ingotTagString = `forge:ingots/${material}`
|
||||
if (AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
ingotTagString = `forge:gems/${material}`
|
||||
}
|
||||
if (!AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
let ingotTag = Ingredient.of(`#${ingotTagString}`)
|
||||
if (global.loaded.Create_Loaded) {
|
||||
// Check if create press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'create:pressing' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('results').forEach(item => {
|
||||
if (plate.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'create:pressing',
|
||||
ingredients: [ingotTag.toJson()],
|
||||
results: [plate.withCount(1).toJson()]
|
||||
}).id(`kubejs:create/pressing/${material}_ingot`)
|
||||
plateCount.create++
|
||||
}
|
||||
}
|
||||
if (global.loaded.FTBIC_Loaded) {
|
||||
// Check if ftbic rolling recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'ftbic:rolling' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('outputItems').forEach(item => {
|
||||
if (plate.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'ftbic:rolling',
|
||||
inputItems: [{ "count": 1, "ingredient": ingotTag.toJson() }],
|
||||
outputItems: [plate.withCount(1).toJson()]
|
||||
}).id(`kubejs:ftbic/rolling/ingots/${material}_to_${material}_plate`)
|
||||
plateCount.ftbic++
|
||||
}
|
||||
}
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(plate, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(plate, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_plate',
|
||||
input: ingotTag.toJson(),
|
||||
result: plate.toJson(),
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/plate_${material}`)
|
||||
plateCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (plate.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredient: ingotTag.toJson(),
|
||||
result: [plate.toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/press_${material}_ingot_to_plate`)
|
||||
plateCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Plate Recipes - Create: ${plateCount.create}, FTBIC: ${plateCount.ftbic}, IE: ${plateCount.ie}, Thermal: ${plateCount.thermal}`)
|
||||
// Added Plate Recipes - Create: 23, FTBIC: 18, IE: 8, Thermal: 0
|
||||
}
|
||||
})
|
||||
85
minecraft/kubejs/server_scripts/postUnify/raw_materials.js
Normal file
85
minecraft/kubejs/server_scripts/postUnify/raw_materials.js
Normal file
@@ -0,0 +1,85 @@
|
||||
//priority:550
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
|
||||
// Missing tags for unify
|
||||
ServerEvents.tags('item', event => {
|
||||
global.blueskies.forEach(metal => {
|
||||
event.add(`forge:raw_materials/${metal}`, `blue_skies:raw_${metal}`)
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Raw Materials')
|
||||
}
|
||||
let raw_materialTags = global.auTags.filter(function (val) {
|
||||
return /forge:raw_materials/.test(val)
|
||||
})
|
||||
let raw_materialCount = {
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
raw_materialTags.forEach(raw_materialTagString => {
|
||||
let material = raw_materialTagString.replace('forge:raw_materials/', '')
|
||||
let raw_material = AlmostUnified.getPreferredItemForTag(raw_materialTagString)
|
||||
if (raw_material.isEmpty()) {
|
||||
console.log(`${material} does not have a raw_material tag entry`)
|
||||
return
|
||||
}
|
||||
if (!AlmostUnified.getPreferredItemForTag(`forge:storage_blocks/raw_${material}`).isEmpty()) {
|
||||
let rawblockTag = Ingredient.of(`#forge:storage_blocks/raw_${material}`)
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(raw_material, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(raw_material, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_unpacking',
|
||||
input: rawblockTag.toJson(),
|
||||
result: raw_material.withCount(9).toJson(),
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/raw_material_${material}`)
|
||||
raw_materialCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (raw_material.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredients: [
|
||||
rawblockTag.toJson(),
|
||||
Ingredient.of('thermal:press_unpacking_die').toJson(),
|
||||
],
|
||||
result: [raw_material.withCount(9).toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/unpacking/press_raw_${material}_unpacking`)
|
||||
raw_materialCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Raw Material Recipes - IE: ${raw_materialCount.ie}, Thermal: ${raw_materialCount.thermal}`)
|
||||
// Added Raw Material Recipes - IE: 23, Thermal: 0
|
||||
}
|
||||
})
|
||||
111
minecraft/kubejs/server_scripts/postUnify/rods.js
Normal file
111
minecraft/kubejs/server_scripts/postUnify/rods.js
Normal file
@@ -0,0 +1,111 @@
|
||||
//priority:450
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Rods')
|
||||
}
|
||||
let rodTags = global.auTags.filter(function (val) {
|
||||
return /forge:rods/.test(val)
|
||||
})
|
||||
let rodCount = {
|
||||
create: 0,
|
||||
ftbic: 0,
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
rodTags.forEach(rodTagString => {
|
||||
let material = rodTagString.replace('forge:rods/', '')
|
||||
let rod = AlmostUnified.getPreferredItemForTag(rodTagString)
|
||||
if (rod.isEmpty()) {
|
||||
console.log(`${material} does not have a rod tag entry`)
|
||||
return
|
||||
}
|
||||
let ingotTagString = `forge:ingots/${material}`
|
||||
if (AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
ingotTagString = `forge:gems/${material}`
|
||||
}
|
||||
if (!AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
let ingotTag = Ingredient.of(`#${ingotTagString}`)
|
||||
if (global.loaded.CreateAdd_Loaded) {
|
||||
// Check if create additions rolling recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'createaddition:rolling' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
if (global.ingredientCheck(rod, recipeJson.get('result'))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'createaddition:rolling',
|
||||
input: ingotTag.toJson(),
|
||||
result: rod.withCount(2).toJson()
|
||||
}).id(`kubejs:createaddition/rolling/${material}_ingot`)
|
||||
rodCount.create++
|
||||
}
|
||||
}
|
||||
if (global.loaded.FTBIC_Loaded) {
|
||||
// Check if ftbic extruding recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'ftbic:extruding' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('outputItems').forEach(item => {
|
||||
if (rod.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'ftbic:extruding',
|
||||
inputItems: [{ "count": 1, "ingredient": ingotTag.toJson() }],
|
||||
outputItems: [rod.withCount(2).toJson()]
|
||||
}).id(`kubejs:ftbic/extruding/ingots/${material}_to_${material}_rod`)
|
||||
rodCount.ftbic++
|
||||
}
|
||||
}
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(rod, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(rod, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_rod',
|
||||
input: ingotTag.toJson(),
|
||||
result: {
|
||||
count: 2,
|
||||
base_ingredient: rod.toJson()
|
||||
},
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/rod_${material}`)
|
||||
rodCount.ie++
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// add blast chiller recipes? cross check with tconstruct
|
||||
}*/
|
||||
// remove crafting recipes not using atm hammer
|
||||
event.forEachRecipe({ type: 'minecraft:crafting_shaped', output: rod }, recipe => {
|
||||
if (!recipe.hasInput('#alltheores:ore_hammers')) {
|
||||
event.remove({ id: recipe.getId() })
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Rod Recipes - CreateAdditions: ${rodCount.create}, FTBIC: ${rodCount.ftbic}, IE: ${rodCount.ie}, Thermal: ${rodCount.thermal}`)
|
||||
// Added Rod Recipes - CreateAdditions: 20, FTBIC: 16, IE: 8, Thermal: 0
|
||||
}
|
||||
})
|
||||
103
minecraft/kubejs/server_scripts/postUnify/storage_blocks.js
Normal file
103
minecraft/kubejs/server_scripts/postUnify/storage_blocks.js
Normal file
@@ -0,0 +1,103 @@
|
||||
//priority:900
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
|
||||
// Missing tags for unify
|
||||
ServerEvents.tags('item', event => {
|
||||
event.add('forge:storage_blocks/raw_aluminum', 'xycraft_world:aluminum_raw_block')
|
||||
global.blueskies.forEach(metal => {
|
||||
event.add(`forge:storage_blocks/raw_${metal}`, `blue_skies:raw_${metal}_block`)
|
||||
event.add(`forge:storage_blocks/${metal}`, `blue_skies:${metal}_block`)
|
||||
event.add(`forge:storage_blocks/raw_materials`, `blue_skies:raw_${metal}_block`)
|
||||
})
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Storage Blocks')
|
||||
}
|
||||
let storageTags = global.auTags.filter(function (val) {
|
||||
return /forge:storage_blocks/.test(val)
|
||||
})
|
||||
let storageCount = {
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
storageTags.forEach(storageTagString => {
|
||||
let material = storageTagString.replace('forge:storage_blocks/', '')
|
||||
let raw = false
|
||||
if (/raw_/.test(material)) {
|
||||
raw = true
|
||||
material = material.replace('raw_', '')
|
||||
}
|
||||
let storage = AlmostUnified.getPreferredItemForTag(storageTagString)
|
||||
if (storage.isEmpty()) {
|
||||
console.log(`${material} does not have a storage_blocks tag entry`)
|
||||
return
|
||||
}
|
||||
let ingotTagString = `forge:ingots/${material}`
|
||||
if (AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
ingotTagString = `forge:gems/${material}`
|
||||
}
|
||||
if (raw) {
|
||||
ingotTagString = `forge:raw_materials/${material}`
|
||||
}
|
||||
if (!AlmostUnified.getPreferredItemForTag(ingotTagString).isEmpty()) {
|
||||
let ingotTag = Ingredient.of(`#${ingotTagString}`)
|
||||
if (global.loaded.IE_Loaded) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(storage, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(storage, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_packing_9',
|
||||
input: {
|
||||
count: 9,
|
||||
base_ingredient: ingotTag.toJson()
|
||||
},
|
||||
result: storage.toJson(),
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/packing3x3/${raw ? 'raw_' : ''}${material}`)
|
||||
storageCount.ie++
|
||||
}
|
||||
}
|
||||
if (global.loaded.Thermal_Loaded) {
|
||||
// Check if thermal multiservo press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'thermal:press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('result').forEach(item => {
|
||||
if (storage.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'thermal:press',
|
||||
ingredients: [
|
||||
ingotTag.withCount(9).toJson(),
|
||||
Ingredient.of('thermal:press_packing_3x3_die').toJson(),
|
||||
],
|
||||
result: [storage.toJson()],
|
||||
}).id(`kubejs:thermal/machines/press/packing3x3/press_${raw ? 'raw_' : ''}${material}_packing`)
|
||||
storageCount.thermal++
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Storage Block Recipes - IE: ${storageCount.ie}, Thermal: ${storageCount.thermal}`)
|
||||
// Added Storage Block Recipes - IE: 62, Thermal: 0
|
||||
}
|
||||
})
|
||||
113
minecraft/kubejs/server_scripts/postUnify/wires.js
Normal file
113
minecraft/kubejs/server_scripts/postUnify/wires.js
Normal file
@@ -0,0 +1,113 @@
|
||||
//priority:950
|
||||
// Written by EnigmaQuip as a post almost unified recipe generation script for missing recipes
|
||||
|
||||
// Missing tags for unify
|
||||
ServerEvents.tags('item', event => {
|
||||
event.add('forge:wires/aluminum', 'ftbic:aluminum_wire')
|
||||
event.add('forge:wires/copper', 'ftbic:copper_wire')
|
||||
event.add('forge:wires/gold', 'ftbic:gold_wire')
|
||||
event.add('forge:wires/enderium', 'ftbic:enderium_wire')
|
||||
})
|
||||
|
||||
ServerEvents.recipes(event => {
|
||||
if (global.devLogging) {
|
||||
console.log('Finishing Unifying on Wires')
|
||||
}
|
||||
let wireTags = global.auTags.filter(function (val) {
|
||||
return /forge:wires/.test(val)
|
||||
})
|
||||
let wireCount = {
|
||||
create: 0,
|
||||
ftbic: 0,
|
||||
ie: 0,
|
||||
thermal: 0
|
||||
}
|
||||
wireTags.forEach(wireTagString => {
|
||||
let material = wireTagString.replace('forge:wires/', '')
|
||||
let wire = AlmostUnified.getPreferredItemForTag(wireTagString)
|
||||
if (wire.isEmpty()) {
|
||||
console.log(`${material} does not have a wire tag entry`)
|
||||
return
|
||||
}
|
||||
if (global.loaded.CreateAdd_Loaded) {
|
||||
let plate = AlmostUnified.getPreferredItemForTag(`forge:plates/${material}`)
|
||||
if (!plate.isEmpty()) {
|
||||
// Check if create additions rolling recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'createaddition:rolling' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
if (wire.equalsIgnoringCount(Item.of(recipeJson.get('result')))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'createaddition:rolling',
|
||||
input: Ingredient.of(`#forge:plates/${material}`).toJson(),
|
||||
result: wire.withCount(2).toJson()
|
||||
}).id(`kubejs:createaddition/rolling/${material}_plate`)
|
||||
wireCount.create++
|
||||
}
|
||||
}
|
||||
}
|
||||
if (global.loaded.FTBIC_Loaded) {
|
||||
let rod = AlmostUnified.getPreferredItemForTag(`forge:rods/${material}`)
|
||||
if (!rod.isEmpty()) {
|
||||
// Check if ftbic extruding recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'ftbic:extruding' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
recipeJson.get('outputItems').forEach(item => {
|
||||
if (wire.equalsIgnoringCount(Item.of(item))) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'ftbic:extruding',
|
||||
inputItems: [{ "count": 1, "ingredient": Ingredient.of(`#forge:rods/${material}`).toJson() }],
|
||||
outputItems: [wire.withCount(2).toJson()]
|
||||
}).id(`kubejs:ftbic/extruding/rods/${material}_to_${material}_wire`)
|
||||
wireCount.ftbic++
|
||||
}
|
||||
}
|
||||
}
|
||||
if (global.loaded.IE_Loaded) {
|
||||
let ingot = AlmostUnified.getPreferredItemForTag(`forge:ingots/${material}`)
|
||||
if (!ingot.isEmpty()) {
|
||||
// Check if ie metal press recipe exists and add it if not
|
||||
let count = 0
|
||||
event.forEachRecipe({ type: 'immersiveengineering:metal_press' }, recipe => {
|
||||
let recipeJson = recipe.json
|
||||
let result = recipeJson.get('result')
|
||||
if (result.has('base_ingredient')) {
|
||||
if (global.ingredientCheck(wire, result.get('base_ingredient'))) {
|
||||
count++
|
||||
}
|
||||
} else if (global.ingredientCheck(wire, result)) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
if (count == 0) {
|
||||
event.custom({
|
||||
type: 'immersiveengineering:metal_press',
|
||||
mold: 'immersiveengineering:mold_wire',
|
||||
input: Ingredient.of(`#forge:ingots/${material}`).toJson(),
|
||||
result: {
|
||||
count: 2,
|
||||
base_ingredient: wire.toJson()
|
||||
},
|
||||
energy: 2400
|
||||
}).id(`kubejs:immersiveengineering/metalpress/wire_${material}`)
|
||||
wireCount.ie++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
if (global.devLogging) {
|
||||
console.log(`Added Wire Recipes - CreateAdditions: ${wireCount.create}, FTBIC: ${wireCount.ftbic}, IE: ${wireCount.ie}`)
|
||||
// Added Wire Recipes - CreateAdditions: 2, FTBIC: 4, IE: 1
|
||||
}
|
||||
})
|
||||
100
minecraft/kubejs/server_scripts/tags.js
Normal file
100
minecraft/kubejs/server_scripts/tags.js
Normal file
@@ -0,0 +1,100 @@
|
||||
ServerEvents.tags('item', event => {
|
||||
event.add('minecraft:boats', /byg:\w+?_boat/)
|
||||
event.add('minecraft:chest_boats', /byg:.+?_chest_boat/)
|
||||
event.add('forge:cheese', '#forge:cheeses')
|
||||
event.add('forge:plastic', 'pneumaticcraft:plastic')
|
||||
event.add('forge:dusts/ender', 'ae2:ender_dust')
|
||||
event.add('ars_nouveau:golem/shard', ['minecraft:amethyst_shard', 'ae2:certus_quartz_crystal'])
|
||||
event.add('forge:raw_materials', ['silentgear:raw_azure_silver', 'silentgear:raw_crimson_iron'])
|
||||
event.add('mysticalagriculture:essences', [
|
||||
'mysticalagriculture:allthemodium_essence',
|
||||
'mysticalagriculture:azure_silver_essence',
|
||||
'mysticalagriculture:crimson_iron_essence',
|
||||
'mysticalagriculture:unobtainium_essence',
|
||||
'mysticalagriculture:vibranium_essence',
|
||||
])
|
||||
event.add('mysticalagriculture:seeds', [
|
||||
'mysticalagriculture:allthemodium_seeds',
|
||||
'mysticalagriculture:azure_silver_seeds',
|
||||
'mysticalagriculture:crimson_iron_seeds',
|
||||
'mysticalagriculture:unobtainium_seeds',
|
||||
'mysticalagriculture:vibranium_seeds',
|
||||
])
|
||||
|
||||
//temp byg fix until above 2.0.0.13
|
||||
event.add('c:black_sand', '#forge:black_sand')
|
||||
event.add('c:white_sand', '#forge:white_sand')
|
||||
event.add('c:blue_sand', '#forge:blue_sand')
|
||||
event.add('c:purple_sand', '#forge:purple_sand')
|
||||
event.add('c:pink_sand', '#forge:pink_sand')
|
||||
})
|
||||
|
||||
ServerEvents.tags('block', event => {
|
||||
event.add('buildinggadgets:blacklist/generic', '#forge:relocation_not_supported')
|
||||
event.add('ae2:blacklisted/spatial', '#forge:relocation_not_supported')
|
||||
event.add('forge:relocation_not_supported', [/productivebees:.+/, 'minecraft:beehive', 'minecraft:bee_nest', /integrateddynamics:.+/, '@waystones'])
|
||||
event.add('ars_nouveau:golem/budding', [
|
||||
'minecraft:budding_amethyst',
|
||||
'ae2:damaged_budding_quartz',
|
||||
'ae2:chipped_budding_quartz',
|
||||
'ae2:flawed_budding_quartz',
|
||||
'ae2:flawless_budding_quartz'
|
||||
])
|
||||
event.add('ars_nouveau:golem/cluster', ['minecraft:amethyst_cluster', 'ae2:quartz_cluster'])
|
||||
event.add('mysticalagriculture:crops', [
|
||||
'mysticalagriculture:allthemodium_crop',
|
||||
'mysticalagriculture:azure_silver_crop',
|
||||
'mysticalagriculture:crimson_iron_crop',
|
||||
'mysticalagriculture:unobtainium_crop',
|
||||
'mysticalagriculture:vibranium_crop',
|
||||
])
|
||||
event.add('minecraft:beacon_base_blocks', [
|
||||
'allthemodium:vibranium_allthemodium_alloy_block',
|
||||
'allthemodium:unobtainium_allthemodium_alloy_block',
|
||||
'allthemodium:unobtainium_vibranium_alloy_block',
|
||||
'allthetweaks:atm_star_block'
|
||||
])
|
||||
})
|
||||
|
||||
ServerEvents.tags('fluid', event => {
|
||||
event.remove('minecraft:water', 'ad_astra:oil')
|
||||
})
|
||||
|
||||
ServerEvents.tags('entity_type', event => {
|
||||
event.add('kubejs:mob_blacklist', [/productivebees:.+/, 'allthemodium:piglich', 'artifacts:mimic', 'minecraft:iron_golem'])
|
||||
event.add('mob_grinding_utils:no_swab', '#kubejs:mob_blacklist')
|
||||
event.add('mob_grinding_utils:no_spawn', '#kubejs:mob_blacklist')
|
||||
event.add('pneumaticcraft:vacuum_trap_blacklisted', '#kubejs:mob_blacklist')
|
||||
event.add('industrialforegoing:mob_duplicator_blacklist', '#kubejs:mob_blacklist')
|
||||
event.add('ars_nouveau:drygmy_blacklist', [/productivebees:.+/, 'artifacts:mimic'])
|
||||
event.add('spirit:soul_cage_blacklisted', '#kubejs:mob_blacklist')
|
||||
})
|
||||
|
||||
ServerEvents.tags('worldgen/biome', event => {
|
||||
event.add('botania:mystical_flower_spawnlist', 'allthemodium:mining')
|
||||
event.add('botania:mystical_mushroom_spawnlist', [
|
||||
'allthemodium:the_other', 'allthemodium:soul_sand_valley', 'allthemodium:warped_forest',
|
||||
'allthemodium:desert_hills', 'allthemodium:desert', 'allthemodium:crimson_forest', 'allthemodium:basalt_deltas'])
|
||||
event.add('elementalcraft:has_sources/all', 'allthemodium:mining')
|
||||
event.add('elementalcraft:has_sources/sky', 'allthemodium:mining')
|
||||
event.add('elementalcraft:has_sources/plain', 'allthemodium:mining')
|
||||
})
|
||||
|
||||
//temp fix for bambooeverything breaking boat tags until above 2.2.4
|
||||
ServerEvents.highPriorityData(event => {
|
||||
event.addJson(`minecraft:tags/items/boats.json`, {
|
||||
"replace": true,
|
||||
"values": [
|
||||
"minecraft:oak_boat",
|
||||
"minecraft:spruce_boat",
|
||||
"minecraft:birch_boat",
|
||||
"minecraft:jungle_boat",
|
||||
"minecraft:acacia_boat",
|
||||
"minecraft:dark_oak_boat",
|
||||
"minecraft:mangrove_boat",
|
||||
"#minecraft:chest_boats",
|
||||
"bambooeverything:bamboo_raft",
|
||||
"deeperdarker:echo_boat"
|
||||
]
|
||||
})
|
||||
})
|
||||
77
minecraft/kubejs/server_scripts/xpFluids.js
Normal file
77
minecraft/kubejs/server_scripts/xpFluids.js
Normal file
@@ -0,0 +1,77 @@
|
||||
ServerEvents.recipes(event => {
|
||||
/*let fluidList = Fluid.getTypes()
|
||||
let xpFluid = []
|
||||
fluidList.forEach(id => {
|
||||
let flu = Fluid.of(id)
|
||||
console.log(flu.getTags())
|
||||
if (flu.hasTag('forge:experience')) { xpFluid.push(id) }
|
||||
})*/
|
||||
// Tags still blah on first load
|
||||
let xpFluid = [
|
||||
'cofh_core:experience',
|
||||
'industrialforegoing:essence',
|
||||
'mob_grinding_utils:fluid_xp',
|
||||
'pneumaticcraft:memory_essence',
|
||||
'reliquary:xp_juice_still',
|
||||
'sophisticatedcore:xp_still'
|
||||
]
|
||||
xpFluid.sort()
|
||||
let woolOrder = [
|
||||
'minecraft:orange_wool',
|
||||
'minecraft:magenta_wool',
|
||||
'minecraft:light_blue_wool',
|
||||
'minecraft:yellow_wool',
|
||||
'minecraft:lime_wool',
|
||||
'minecraft:pink_wool',
|
||||
'minecraft:gray_wool',
|
||||
'minecraft:light_gray_wool',
|
||||
'minecraft:cyan_wool',
|
||||
'minecraft:purple_wool',
|
||||
'minecraft:blue_wool',
|
||||
'minecraft:brown_wool',
|
||||
'minecraft:green_wool',
|
||||
'minecraft:red_wool',
|
||||
'minecraft:black_wool'
|
||||
]
|
||||
for (var i in xpFluid) {
|
||||
if (Platform.isLoaded('thermal_expansion')) {
|
||||
let recipe = {
|
||||
type: "thermal:brewer",
|
||||
ingredients: [
|
||||
{ fluid_tag: "forge:experience", amount: 250 },
|
||||
{ item: woolOrder[i] }
|
||||
],
|
||||
result: { fluid: xpFluid[i], amount: 250 }
|
||||
}
|
||||
event.custom(recipe).id(`kubejs:thermal/brewer/xp_conv_${i}`)
|
||||
}
|
||||
if (Platform.isLoaded('create')) {
|
||||
let recipe = {
|
||||
type: "create:mixing",
|
||||
ingredients: [
|
||||
{ fluidTag: "forge:experience", amount: 250 },
|
||||
{ item: woolOrder[i] }
|
||||
],
|
||||
results: [{ fluid: xpFluid[i], amount: 250 }]
|
||||
}
|
||||
event.custom(recipe).id(`kubejs:create/mixing/xp_conv_${i}`)
|
||||
}
|
||||
if (Platform.isLoaded('pneumaticcraft')) {
|
||||
let recipe = {
|
||||
type: "pneumaticcraft:thermo_plant",
|
||||
item_input: { item: woolOrder[i] },
|
||||
fluid_input: {
|
||||
type: "pneumaticcraft:fluid",
|
||||
tag: "forge:experience",
|
||||
amount: 250
|
||||
},
|
||||
fluid_output: { fluid: xpFluid[i], amount: 250 },
|
||||
pressure: 2.0,
|
||||
speed: 1,
|
||||
air_use_multiplier: 1.0,
|
||||
exothermic: false
|
||||
}
|
||||
event.custom(recipe).id(`kubejs:pneumaticcraft/thermo_plant/xp_conv_${i}`)
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user