create: start integrating create

This commit is contained in:
Victoria Fischer 2025-04-20 15:29:25 +02:00
parent 4f9f896618
commit 44b1468bf5
5 changed files with 180 additions and 22 deletions

View File

@ -49,7 +49,8 @@
"forge:peanut_butter_and_jam",
"forge:dough",
"forge:steamed_rices",
"forge:rubber"
"forge:rubber",
"forge:cardboard"
],
"materials": [
"aeternium",
@ -170,6 +171,7 @@
"forge:seeds/barley": ["brewery:barley_seeds"],
"forge:seeds/tomato": ["candlelight:tomato_seeds"],
"forge:seeds/lettuce": ["candlelight:lettuce_seeds"],
"forge:cardboard": ["dustrial_decor:cardboard", "create:cardboard"],
"thermal:crafting/dies": ["ae2:silicon_press", "ae2:engineering_processor_press", "ae2:calculation_processor_press", "ae2:logic_processor_press"]
},
"tagOwnerships": {

View File

@ -8,5 +8,5 @@
"item": "minecraft:book"
}
],
"book": "gristdex"
"book": "patchouli:gristdex"
}

View File

@ -22,16 +22,29 @@ ServerEvents.recipes(event => {
'2x kubejs:grist_build_basic',
['#kubejs:grist/build/basic', 'kubejs:grist_primordeal_basic_block']
);
event.smelting('kubejs:grist_build_basic', 'kubejs:refined_grist_aggregate');
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'
]);
event.recipes.custom(
{
type: 'create:crushing',
ingredients: [
'3x #forge:sand',
'minecraft:clay_ball',
'3x #forge:gravel',
'kubejs:grist_primordeal_basic_block'
],
results: [
'kubejs:coarse_grist_aggregate'
]
}
);
event.recipes.shapeless(
'kubejs:reduced_grist_aggregate', [
'#alltheores:ore_hammers',
@ -39,12 +52,37 @@ ServerEvents.recipes(event => {
'kubejs:grist_primordeal_basic',
'6x kubejs:coarse_grist_aggregate'
]);
event.recipes.custom(
{
type: 'create:crushing',
ingredients: [
'minecraft:granite',
'kubejs:grist_primordeal_basic',
'6x kubejs:coarse_grist_aggregate'
],
results: [
'kubejs:reduced_grist_aggregate'
]
}
);
event.recipes.shapeless(
'2x kubejs:refined_grist_aggregate', [
'#alltheores:ore_hammers',
'kubejs:grist_primordeal_basic',
'5x kubejs:reduced_grist_aggregate'
]);
event.recipes.custom(
{
type: 'create:crushing',
ingredients: [
'kubejs:grist_primordeal_basic',
'5x kubejs:reduced_grist_aggregate'
],
results: [
'kubejs:refined_grist_aggregate'
]
}
);
event.custom(
{

View File

@ -0,0 +1,45 @@
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.shapeless('2x create:cogwheel', [
'thermal:tin_gear',
'#minecraft:planks',
]);
// 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 either come from finding diamonds (expensive) or build grist (cheap, eventually)
event.shaped('create:crushing_wheel', [
'CBC',
'BAB',
'CBC'
], {
'A': '#kubejs:grist/build/basic',
'B': 'thermal:tin_gear',
'C': 'create:andesite_alloy',
});
event.shaped('create:crushing_wheel', [
'CBC',
'BAB',
'CBC'
], {
'A': 'minecraft:diamond',
'B': 'thermal:tin_gear',
'C': 'create:andesite_alloy',
});
});

View File

@ -26,10 +26,10 @@ ServerEvents.recipes(event => {
return itemType;
}
event.shapeless('thermal:quartz_dust', ['8x minecraft:granite', '#alltheores:ore_hammers']);
event.shapeless('thermal:quartz_dust', ['minecraft:quartz', '#alltheores:ore_hammers']);
event.shapeless('thermal:quartz_dust', ['8x minecraft:granite', '#alltheores:ore_hammers']).id('kubejs:quartz_dust_from_granit_crushing_manual_only');
event.shapeless('thermal:quartz_dust', ['minecraft:quartz', '#alltheores:ore_hammers']).id('kubejs:quartz_dust_crushing_manual_only');
// All metals can be processed in the pulverizer, make plates in the press, and make gears with the die
// All metals can be processed in the pulverizer/crusher, make plates in the press, and make gears with the die
{
let _ = ['copper', 'rose_gold', 'aluminum', 'constantan', 'iron', 'tin', 'nickel', 'gold', 'zinc', 'brass', 'invar', 'bronze', 'silver', 'platinum', 'lead', 'iridium', 'osmium', 'lumium', 'enderium', 'electrum', 'signalum', 'steel', 'uranium'].forEach(metal => {
console.log(`Setting up ${metal} processing...`);
@ -66,6 +66,19 @@ ServerEvents.recipes(event => {
],
experience: 0.5
});
event.custom({
type: "create:crushing",
ingredients: [
{tag: `forge:raw_materials/${metal}`}
],
results: [
{item: dustType.id, chance: 1.05},
{item: dustType.id, chance: 0.25},
{item: 'create:experience_nugget', count: 9, chance: 0.75}
],
experience: 0.5
});
}
if (blockType.id != "minecraft:air") {
@ -80,6 +93,19 @@ ServerEvents.recipes(event => {
],
experience: 0.5
});
event.custom({
type: "create:crushing",
ingredients: [
{tag: `forge:raw_materials/${metal}`}
],
results: [
{item: dustType.id, count: 9, chance: 1.05},
{item: dustType.id, count: 9, chance: 0.25},
{item: 'create:experience_nugget', count: 9 * 9, chance: 0.75}
],
experience: 0.5
});
}
// 1 dust = 1 ingot
@ -93,6 +119,16 @@ ServerEvents.recipes(event => {
],
});
event.custom({
type: "create:crushing",
ingredients: [
ingotType.toJson()
],
results: [
dustType.toJson()
],
});
// 4 ingots = 1 gear
event.custom({
type: "thermal:press",
@ -111,6 +147,13 @@ ServerEvents.recipes(event => {
],
result: [plateType.toJson()]
});
event.custom({
type: "create:pressing",
ingredients: [
ingotType.toJson(),
],
results: [plateType.toJson()]
});
});}
// But only these metals can be processed without a machine
@ -127,16 +170,16 @@ ServerEvents.recipes(event => {
'A': global.ingotItem(metal),
'B': '#forge:gems'
});
event.shapeless(plateID, [global.ingotItem(metal, 2), '#alltheores:ore_hammers']);
event.shapeless(dustID, [global.ingotItem(metal), '#alltheores:ore_hammers']);
event.shapeless(plateID, [global.ingotItem(metal, 2), '#alltheores:ore_hammers']).id(`kubejs:plate_crushing_${metal}_manual_only`);
event.shapeless(dustID, [global.ingotItem(metal), '#alltheores:ore_hammers']).id(`kubejs:ore_crushing_${metal}_manual_only`);
});}
// And only these ores can be hammered
// And only these ores can be hammered or crushed
{let _ = ['copper', 'iron', 'tin', 'nickel', 'zinc', 'lead', 'aluminum', 'gold'].forEach(ore => {
console.log(`Setting up ${ore} hammering...`);
let dustType = metalForm(ore, 'dusts', 'dust');
event.shapeless(dustType.withCount(2), [`#forge:raw_materials/${ore}`, '#alltheores:ore_hammers']);
event.shapeless(dustType.withCount(2 * 9), [`#forge:storage_blocks/raw_${ore}`, '#alltheores:ore_hammers']);
event.shapeless(dustType.withCount(2), [`#forge:raw_materials/${ore}`, '#alltheores:ore_hammers']).id(`kubejs:ore_crushing_${ore}_manual_only`);
event.shapeless(dustType.withCount(2 * 9), [`#forge:storage_blocks/raw_${ore}`, '#alltheores:ore_hammers']).id(`kubejs:ore_block_crushing_${ore}_manual_only`);
});}
// And only copper can be smelted without pulverizing
@ -144,26 +187,56 @@ ServerEvents.recipes(event => {
console.log(`Setting up blends...`);
// These are the only blends you can make by hand, aka pre-smelter alloys
event.shapeless(Item.of(metalForm('bronze', 'dusts', 'dust').withCount(2)), [
// FIXME: Remove the hammer from the create mixer
event.shapeless(Item.of(metalForm('bronze', 'dusts', 'dust').withCount(4)), [
global.dustItem('tin', 2),
global.dustItem('copper', 2),
'#alltheores:ore_hammers'
]);
event.shapeless(Item.of(metalForm('brass', 'dusts', 'dust').withCount(2)), [
]).id('kubejs:bronze_mixing_manual_only');
event.custom({
type: "create:mixing",
ingredients: [
global.dustItem('tin', 2),
global.dustItem('copper', 2),
],
results: [global.dustItem('tin', 4)]
});
event.shapeless(Item.of(metalForm('brass', 'dusts', 'dust').withCount(4)), [
global.dustItem('copper', 3),
global.dustItem('zinc'),
global.dustItem('zinc', 1),
'#alltheores:ore_hammers'
]);
event.shapeless(Item.of(metalForm('invar', 'dusts', 'dust').withCount(2)), [
]).id(`kubejs:brass_mixing_manual_only`);
event.custom({
type: "create:mixing",
ingredients: [
global.dustItem('copper', 3),
global.dustItem('zinc', 1),
],
results: [global.dustItem('brass', 4)]
});
event.shapeless(Item.of(metalForm('invar', 'dusts', 'dust').withCount(4)), [
global.dustItem('iron', 2),
global.dustItem('nickel', 2),
'#alltheores:ore_hammers'
]);
]).id('kubejs:invar_mixing_manual_only');
event.custom({
type: "create:mixing",
ingredients: [
global.dustItem('iron', 2),
global.dustItem('nickel', 2),
],
results: [global.dustItem('invar', 4)]
});
// Constantan dust consumes your first build grist, and it unlocks the basic grist production line
event.shapeless(Item.of(metalForm('constantan', 'dusts', 'dust').withCount(4)),[
global.ingotItem('nickel', 2), global.ingotItem('copper', 2), '#kubejs:grist/build/basic', '#alltheores:ore_hammers'
]);
global.ingotItem('nickel', 2),
global.ingotItem('copper', 2),
'#kubejs:grist/build/basic',
'#alltheores:ore_hammers'
]).id('kubejs:constantan_dust_mixing_manual_only');
// Constantan is the only metal you can't work on the bench except for gears
event.shaped('thermal:constantan_gear', [
' A ',
@ -196,7 +269,7 @@ ServerEvents.recipes(event => {
],
experience: 0.5
});
event.shapeless("2x thermal:lapis_dust", ["minecraft:lapis_lazuli", '#alltheores:ore_hammers']);
event.shapeless("2x thermal:lapis_dust", ["minecraft:lapis_lazuli", '#alltheores:ore_hammers']).id('kubejs:lapis_dust_crushing_manual_only');
// Create clay by centrifuging gravel and ash bricks
event.custom({