create: start integrating create
This commit is contained in:
		@@ -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": {
 | 
			
		||||
 
 | 
			
		||||
@@ -8,5 +8,5 @@
 | 
			
		||||
        "item": "minecraft:book"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "book": "gristdex"
 | 
			
		||||
    "book": "patchouli:gristdex"
 | 
			
		||||
}
 | 
			
		||||
@@ -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(
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										45
									
								
								kubejs/server_scripts/mods/create.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								kubejs/server_scripts/mods/create.js
									
									
									
									
									
										Normal 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',
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
@@ -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({
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user