mods: rebalance create new age, torchmaster, some of apotheosis, simplify the grist recipes another bit

This commit is contained in:
2025-05-30 18:20:02 +02:00
parent 1362fd4c46
commit 374c3578ef
14 changed files with 309 additions and 69 deletions

View File

@ -33,7 +33,7 @@ ServerEvents.recipes(event => {
{tag: 'forge:dough'},
{item: 'minecraft:gunpowder'}
],
result: {item: 'kubejs:grist_agricultural_basic', count: 16}
result: {item: 'kubejs:grist_agricultural_basic_block', count: 1}
});
event.custom({
type: 'farmersdelight:cooking',
@ -45,7 +45,7 @@ ServerEvents.recipes(event => {
{tag: 'forge:dough'},
{item: 'minecraft:gunpowder'}
],
result: {item: 'kubejs:grist_agricultural_basic', count: 2}
result: {item: 'kubejs:grist_agricultural_basic_block', count: 1}
});
/*
@ -118,7 +118,7 @@ ServerEvents.recipes(event => {
{item: 'candlelight:pasta_bolognese'},
{item: 'collectorsreap:prawn_po_boy'},
],
inputFluid: "{Amount:5000,FluidName:\"kubejs:grist_agricultural_basic_fluid\"}",
inputFluid: "{Amount:5000,FluidName:\"kubejs:grist_agricultural_improved_fluid\"}",
output: {
count: 1,
item: 'kubejs:grist_morsels'

View File

@ -21,7 +21,7 @@ ServerEvents.recipes(event => {
Instead of an ore hammer, you can use a heated mixer with create
*/
event.recipes.thermal.smelter(
'2x kubejs:grist_build_basic',
'kubejs:grist_build_basic_block',
['#kubejs:grist/build/basic', 'kubejs:grist_primordeal_basic_block']
);
event.custom({
@ -32,18 +32,10 @@ ServerEvents.recipes(event => {
],
heatRequirement: "heated",
results: [
'2x kubejs:grist_build_basic'
'kubejs:grist_build_basic_block'
]
});
event.smelting('16x kubejs:grist_build_basic', 'kubejs:refined_grist_aggregate');
event.recipes.shapeless(
'kubejs:coarse_grist_aggregate', [
'3x #forge:sand',
'minecraft:clay_ball',
'3x #forge:gravel',
'#alltheores:ore_hammers',
'kubejs:grist_primordeal_basic_block'
]).id('kubejs:coarse_grist_aggregate_manual_only');
event.custom({
type: 'create:mixing',
ingredients: [
@ -57,13 +49,6 @@ ServerEvents.recipes(event => {
'kubejs:coarse_grist_aggregate'
]
});
event.recipes.shapeless(
'kubejs:reduced_grist_aggregate', [
'#alltheores:ore_hammers',
'minecraft:granite',
'kubejs:grist_primordeal_basic',
'6x kubejs:coarse_grist_aggregate'
]).id('kubejs:reduced_grist_aggregate_manual_only');
event.custom({
type: 'create:mixing',
ingredients: [
@ -76,12 +61,6 @@ ServerEvents.recipes(event => {
'kubejs:reduced_grist_aggregate'
]
});
event.recipes.shapeless(
'2x kubejs:refined_grist_aggregate', [
'#alltheores:ore_hammers',
'kubejs:grist_primordeal_basic',
'5x kubejs:reduced_grist_aggregate'
]).id('kubejs:refined_grist_aggregate_manual_only');
event.custom(
{
type: 'create:mixing',

View File

@ -26,7 +26,7 @@ ServerEvents.recipes(event => {
your first energetic comes from smelting grist paste
grist paste comes from redstone, obsidian, and primordeal grist
*/
event.smelting('16x kubejs:grist_energetic_basic', 'kubejs:grist_paste');
event.smelting('2x kubejs:grist_energetic_basic_block', 'kubejs:grist_paste');
event.shaped('2x kubejs:grist_paste', [
'ADA',
'BCB',
@ -39,7 +39,7 @@ ServerEvents.recipes(event => {
});
event.recipes.powah.energizing(
['kubejs:grist_primordeal_basic_block', '#kubejs:grist/energetic/basic'],
'2x kubejs:grist_energetic_basic',
'kubejs:grist_energetic_basic_block',
3000
);

View File

@ -32,7 +32,7 @@ ServerEvents.recipes(event => {
quanta: 25,
arcana: -1
},
result: Item.of('kubejs:grist_intelligent_basic', 16).toJson()
result: Item.of('kubejs:grist_intelligent_basic_block', 2).toJson()
});
event.shaped('kubejs:sacred_flesh', [
@ -71,7 +71,7 @@ ServerEvents.recipes(event => {
event.recipes.ars_nouveau.imbuement(
'kubejs:grist_primordeal_basic_block',
'kubejs:grist_intelligent_basic',
'kubejs:grist_intelligent_basic_block',
900,
['kubejs:grist_intelligent_basic']
);

View File

@ -26,7 +26,7 @@ ServerEvents.recipes(event => {
], {
'A': '#forge:cobblestone',
'B': 'kubejs:grist_essence'
}).id('kubejs:grist_primordeal_basic_block_manual_only');
}).id('kubejs:grist_primordeal_basic_block_essence_manual_only');
event.custom({
type: 'create:mixing',
ingredients: [

View File

@ -25,6 +25,10 @@ global.ingotItem = (material, qty) => {
return global.metalForm(material, 'ingots', 'ingot', qty);
}
global.plateItem = (material, qty) => {
return global.metalForm(material, 'plates', 'plate', qty);
}
global.gearItem = (material, qty) => {
return global.metalForm(material, 'gears', 'gear', qty);
}

View File

@ -0,0 +1,26 @@
ServerEvents.recipes(event => {
event.replaceInput({output: 'apotheosis:ender_lead'},
'minecraft:ender_pearl',
'#kubejs:grist/intelligent/basic'
);
event.replaceInput({output: 'apotheosis:ender_lead'},
'minecraft:gold_ingot',
'#kubejs:grist/agricultural/basic'
);
event.replaceInput({output: 'apotheosis:salvaging_table'},
'minecraft:copper_ingot',
'#forge:ingots/steel'
);
event.replaceInput({output: 'apotheosis:salvaging_table'},
'minecraft:iron_pickaxe',
'#kubejs:grist/intelligent/basic'
);
event.replaceInput({output: 'apotheosis:salvaging_table'},
'minecraft:iron_axe',
'#kubejs:grist/intelligent/basic'
);
});

View File

@ -1,17 +1,5 @@
ServerEvents.recipes(event => {
// Gate create behind finding tin and basic ore crushing hammers
event.remove({output: 'create:andesite_alloy'});
event.shapeless('2x create:andesite_alloy', [
'2x minecraft:andesite',
global.dustItem('tin', 2),
]);
event.recipes.thermal.smelter(
'6x create:andesite_alloy',
['2x minecraft:andesite', '#forge:dusts/tin']
);
event.shapeless('2x create:cogwheel', [
'thermal:tin_gear',
'#minecraft:planks',
@ -40,6 +28,29 @@ ServerEvents.recipes(event => {
'#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',
@ -50,7 +61,8 @@ ServerEvents.recipes(event => {
'8x minecraft:redstone',
]);
// Crushing wheels can either come from finding diamonds (expensive) or build grist (cheap, eventually)
// Crushing wheels can come from build grist
event.remove({output: 'create:crushing_wheel'});
event.shaped('create:crushing_wheel', [
'CBC',
'BAB',
@ -61,16 +73,6 @@ ServerEvents.recipes(event => {
'C': 'create:andesite_alloy',
});
event.shaped('create:crushing_wheel', [
'CBC',
'BAB',
'CBC'
], {
'A': 'minecraft:diamond',
'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();
@ -84,4 +86,21 @@ ServerEvents.recipes(event => {
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',
});
});

View File

@ -0,0 +1,128 @@
ServerEvents.recipes(event => {
// Most of the mod is gated behind basic energetic and build grist
event.replaceInput({output: 'create_new_age:reinforced_motor'},
'minecraft:diamond',
'#kubejs:grist/build/basic'
);
event.replaceInput({mod: 'create_new_age'},
'minecraft:redstone_block',
'#kubejs:grist/energetic/basic'
);
event.replaceInput({mod: 'create_new_age'},
'minecraft:netherite_scrap',
'#kubejs:grist/energetic/improved'
);
event.replaceInput({mod: 'create_new_age'},
'#forge:nuggets/copper',
'#kubejs:grist/energetic/basic'
);
// Reactor requires energetic
event.replaceInput({output: 'create_new_age:reactor_casing'},
'minecraft:bricks',
'#kubejs:grist/energetic/improved'
);
// Power generation requires basic energetic and build
event.replaceInput({output: 'create_new_age:carbon_brushes'},
'minecraft:coal',
'#kubejs:grist/build/basic'
);
event.replaceInput({output: 'create_new_age:generator_coil'},
'minecraft:copper_ingot',
'#kubejs:grist/energetic/basic'
);
// Rewrite the motors to use grist
event.remove({output: 'create_new_age:basic_motor'});
event.shaped('create_new_age:basic_motor', [
'ABA',
'CDE',
'AFA'
], {
'A': '#forge:nuggets/iron',
'B': '#kubejs:grist/energetic/basic',
'C': 'create_new_age:magnetite_block',
'D': 'create:andesite_casing',
'E': 'create:shaft',
'F': '#kubejs:grist/build/basic'
});
event.remove({output: 'create_new_age:advanced_motor'});
event.shaped('create_new_age:advanced_motor', [
'ABA',
'CDE',
'AFA'
], {
'A': '#forge:plates/invar',
'B': '#kubejs:grist/energetic/basic',
'C': global.ingotItem('tin'),
'D': 'create:andesite_casing',
'E': 'create:shaft',
'F': '#kubejs:grist/build/basic'
});
// Powah compat with the energizing recipes
/*event.recipes.powah.energizing(
['#forge:plates/iron'],
'create_new_age:overcharged_iron_sheet',
1000
);
event.recipes.powah.energizing(
['#forge:ingots/iron'],
'create_new_age:overcharged_iron',
2000
);
event.recipes.powah.energizing(
['#forge:ingots/gold'],
'create_new_age:overcharged_gold',
2000
);
event.recipes.powah.energizing(
['#forge:plates/gold'],
'create_new_age:overcharged_gold_sheet',
2000
);*/
// Remove the whole energizing mechanic in favor of the metals system
event.remove({type: 'create_new_age:energising'});
event.remove({output: 'create_new_age:overcharged_iron_sheet'});
event.remove({output: 'create_new_age:overcharged_gold_sheet'});
event.remove({output: 'create_new_age:energiser_t1'});
event.remove({output: 'create_new_age:energiser_t2'});
event.remove({output: 'create_new_age:energiser_t3'});
event.replaceInput({},
'create_new_age:overcharged_iron',
global.ingotItem('tin')
);
event.replaceInput({},
'create_new_age:overcharged_iron_sheet',
global.plateItem('tin')
);
event.replaceInput({},
'create_new_age:overcharged_gold',
global.ingotItem('constantan')
);
event.replaceInput({},
'create_new_age:overcharged_gold_sheet',
global.plateItem('constantan')
);
event.replaceInput({},
'create_new_age:overcharged_diamond',
global.gearItem('platinum')
);
});

View File

@ -0,0 +1,19 @@
ServerEvents.recipes(event => {
event.replaceInput({mod: 'torchmaster'},
'minecraft:diamond',
'#kubejs:grist/intelligent/improved'
);
event.replaceInput({mod: 'torchmaster'},
'minecraft:glowstone_dust',
'#kubejs:grist/intelligent/basic'
);
event.replaceInput({mod: 'torchmaster'},
'minecraft:gold_ingot',
'#kubejs:grist/build/basic'
);
event.replaceInput({mod: 'torchmaster'},
'minecraft:glowstone',
'torchmaster:megatorch'
);
});

View File

@ -129,13 +129,13 @@ ServerEvents.recipes(event => {
// Modern age: Alloys require improved grist
modern: {
gobber: [3, 'gobber2:gobber2_glob', 'platinum', 'osmium'],
nether_gobber: [3, 'gobber2:gobber2_glob_nether', 'minecraft:netherite_scrap', '2x gobber'],
nether_gobber: [3, 'gobber2:gobber2_glob_nether', 'minecraft:netherite_scrap', '2x gobber2:gobber2_ingot'],
quadrilium: [3, '3x trilium', '4x minecraft:netherite_scrap', 'powder_power:powder_ghast_tear']
},
// Age of Legends: The end game
legends: {
//enderium: [],
end_gobber: [3, 'gobber2:gobber2_glob_end', '2x nether_gobber', '2x #kubejs:grist/build/improved']
end_gobber: [3, 'gobber2:gobber2_glob_end', '2x gobber2:gobber2_ingot_nether', '2x #kubejs:grist/build/improved']
}
};
@ -275,7 +275,7 @@ ServerEvents.recipes(event => {
event.recipes.create.deploying([dustType], [rawType, '#alltheores:ore_hammers']).keepHeldItem();
event.recipes.create.deploying([dustType.withCount(9)], [rawBlockType, '#alltheores:ore_hammers']).keepHeldItem();
} else {
console.error(`No ${metal} ore hammer smashing available!`);
console.warn(`No ${metal} ore hammer smashing available!`);
}
// TODO: alloy ingredients
@ -299,7 +299,7 @@ ServerEvents.recipes(event => {
}
}
if (real_ingredients.length > 0) {
if (real_ingredients.length > 0 && ingotType.id != 'minecraft:air') {
event.shapeless(ingotType.withCount(ingredients[0]), real_ingredients);
}
}
@ -349,13 +349,13 @@ ServerEvents.recipes(event => {
'B': '#forge:gems'
});
} else {
console.error(`No ${metal} gears available!`);
console.warn(`No ${metal} gears available!`);
}
if (plateType.id != 'minecraft:air') {
event.shapeless(plateType, [ingotType.withCount(2), '#alltheores:ore_hammers']);
} else {
console.error(`No ${metal} plates available!`);
console.warn(`No ${metal} plates available!`);
}
// TODO: alloy ingredients