123 lines
4.8 KiB
JavaScript
123 lines
4.8 KiB
JavaScript
|
|
ServerEvents.recipes(event => {
|
|
event.shapeless('2x create:cogwheel', [
|
|
'thermal:tin_gear',
|
|
'#minecraft:planks',
|
|
]);
|
|
|
|
// Cart assembler is gated behind mid-game grist
|
|
event.replaceInput({output: 'create:cart_assembler'},
|
|
'#forge:dusts/redstone',
|
|
'#kubejs:grist/build/improved'
|
|
);
|
|
|
|
// Gate wireless stuff behind intelligent grist
|
|
event.replaceInput({output: 'create:transmitter'},
|
|
'#forge:dusts/redstone',
|
|
'#kubejs:grist/intelligent/basic'
|
|
);
|
|
|
|
// Gate the mixer behind aluminum
|
|
event.replaceInput({output: 'create:whisk'},
|
|
'#forge:plates/iron',
|
|
'#forge:plates/aluminum'
|
|
);
|
|
|
|
event.replaceInput({output: 'create:propeller'},
|
|
'#forge:plates/iron',
|
|
'#forge:plates/invar'
|
|
);
|
|
|
|
event.remove({output: 'create:windmill_bearing'});
|
|
event.shaped('create:windmill_bearing', [
|
|
' A ',
|
|
'DBD',
|
|
'DCD'
|
|
], {
|
|
'A': '#minecraft:wooden_slabs',
|
|
'B': '#forge:stone',
|
|
'C': 'create:shaft',
|
|
'D': '#kubejs:grist/energetic/basic'
|
|
});
|
|
|
|
// Gate the backpack behind mid-game energetic grist
|
|
event.replaceInput({output: 'create:copper_backtank'},
|
|
'minecraft:copper_block',
|
|
'kubejs:grist_energetic_basic_block'
|
|
)
|
|
|
|
event.replaceInput({output: 'create:schematicannon'},
|
|
'minecraft:iron_block',
|
|
'kubejs:grist_build_basic_block'
|
|
)
|
|
|
|
// Allow certus quartz to be used for rose quartz
|
|
event.replaceInput({output: 'create:rose_quartz'},
|
|
'minecraft:quartz',
|
|
'#forge:gems/quartz',
|
|
);
|
|
event.shapeless('create:rose_quartz', [
|
|
'ae2:certus_quartz_crystal',
|
|
'8x minecraft:redstone',
|
|
]);
|
|
|
|
// Crushing wheels can come from build grist
|
|
event.remove({output: 'create:crushing_wheel'});
|
|
event.shaped('create:crushing_wheel', [
|
|
'CBC',
|
|
'BAB',
|
|
'CBC'
|
|
], {
|
|
'A': '#kubejs:grist/build/basic',
|
|
'B': 'thermal:tin_gear',
|
|
'C': 'create:andesite_alloy',
|
|
});
|
|
|
|
// Melt down XP nuggets and blocks into raw XP
|
|
// 1 nugget == 60mb cognitium
|
|
event.recipes.createMixing(Fluid.of('experienceobelisk:cognitium', 60), 'create:experience_nugget').heated();
|
|
event.recipes.createMixing(Fluid.of('experienceobelisk:cognitium', 60 * 9), 'create:experience_block').heated();
|
|
|
|
// Precision mechanisms should require intelligent grist
|
|
event.recipes.createSequencedAssembly([
|
|
Item.of('create:precision_mechanism'),
|
|
], '#forge:ingots/brass', [
|
|
event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#kubejs:grist/intelligent/basic']),
|
|
event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', 'create:cogwheel']),
|
|
event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', '#forge:gears/copper'])
|
|
]).transitionalItem('create:incomplete_precision_mechanism').loops(3);
|
|
|
|
// Factory automation should require some intelligent grist
|
|
event.replaceInput({output: 'create:stock_ticker'},
|
|
'minecraft:gold_ingot',
|
|
'#kubejs:grist/intelligent/basic'
|
|
);
|
|
|
|
event.remove({output: 'create:stock_link'});
|
|
event.shaped('create:stock_link', [
|
|
' A ',
|
|
' B ',
|
|
' C '
|
|
], {
|
|
'A': 'create:transmitter',
|
|
'B': 'create:item_vault',
|
|
'C': '#kubejs:grist/intelligent/basic',
|
|
});
|
|
|
|
// Gate the symmetry wand behind build grist
|
|
event.replaceInput({output: 'create:wand_of_symmetry'},
|
|
'#forge:ender_pearls',
|
|
'#kubejs:grist/build/improved'
|
|
);
|
|
|
|
['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'magenta', 'white', 'black', 'light_gray', 'gray', 'brown', 'cyan', 'pink', 'lime'].forEach(color => {
|
|
// Create colored blocks from the mixer.
|
|
// TODO: This is required due to disabling all automatic crafting recipes, maybe these can just be re-enabled somehow?
|
|
event.recipes.create.mixing(`8x minecraft:${color}_concrete_powder`, [`minecraft:${color}_dye`, '4x #forge:sand', '4x minecraft:gravel']);
|
|
event.recipes.create.mixing(`8x minecraft:${color}_concrete`, [`minecraft:${color}_dye`, '4x #forge:sand', '4x minecraft:gravel', Fluid.of('minecraft:water', 250 * 8)]);
|
|
event.recipes.create.mixing(`8x minecraft:${color}_terracotta`, [`minecraft:${color}_dye`, '8x minecraft:terracotta']);
|
|
event.recipes.create.mixing(`minecraft:${color}_concrete`, [`minecraft:${color}_concrete_powder`, Fluid.of('minecraft:water', 250)]);
|
|
event.recipes.create.mixing(`minecraft:${color}_wool`, [`minecraft:${color}_dye`, '#minecraft:wool']);
|
|
event.recipes.create.mixing(`minecraft:${color}_stained_glass`, [`minecraft:${color}_dye`, '#forge:glass/colorless']).heated();
|
|
});
|
|
}); |