patch up missing rod recipes, fix andesite alloy voiding bug, update geckolib, add butchery mod

This commit is contained in:
2025-06-30 20:10:21 +02:00
parent ce717ad665
commit e8322eed47
7 changed files with 115 additions and 29 deletions

View File

@@ -1,4 +1,7 @@
// FIXME: Cannot process alltheores:raw_nickel
//FIXME: broken andesite mixing recipe creates no output
//FIXME: test create shaft and cog recipes again
//FIXME: Figure out what the original create wool and concrete coloring recipes were, add mixer variants
//FIXME: Create a water mixer route to turn concrete powder to concrete
ServerEvents.recipes(event => {
// Metal tiers:
// Copper, iron, tin, nickel, gold, zinc, brass, invar, bronze - Pre-basic build tier, the only ores that don't require a pulverizer or smelter to process
@@ -128,7 +131,6 @@ ServerEvents.recipes(event => {
tin: [],
gold: [],
zinc: [],
// FIXME: Need to add create:andesite_alloy to #forge:ingots/andesite_alloy
andesite_alloy: [4, '2x minecraft:andesite', 'tin']
},
// Andesite age: Iron pickaxe to mine, crushing wheels to crush, then the crushed ore is smelted normally. Alloys require the create mixer. Ore washing to double crushed ore is unlocked, but fans require invar instead of iron. Gears can be crafted on a crafting table
@@ -264,7 +266,8 @@ ServerEvents.recipes(event => {
// 4 ingots = 1 gear in the press
if (gearType.id != 'minecraft:air') {
event.recipes.thermal.press(gearType, [ingotType.withCount(4), 'thermal:press_gear_die']).id(`kubejs:${metal}_gear_in_thermal_press`);
// TODO: would be fun to have a special 'high efficiency' gear press?
event.recipes.thermal.press(gearType.withCount(2), [ingotType.withCount(4), 'thermal:press_gear_die']).id(`kubejs:${metal}_gear_in_thermal_press`);
}
// 9 Nuggets == 1 ingot, for every material
@@ -289,6 +292,16 @@ ServerEvents.recipes(event => {
event.recipes.thermal.press(ingotType.withCount(9), [blockType, 'thermal:press_unpacking_die']).id(`kubejs:${metal}_ingots_from_block_in_thermal_press`);
}
if (rodType.id != 'minecraft:air') {
// All metals can waste one ingot to create a rod in the crafting table
event.shapeless(rodType, [ingotType.withCount(2), '#alltheores:ore_hammers']);
// Or create two rods from one ingot in the create cutter
event.recipes.create.cutting(rodType.withCount(2), ingotType);
// Or create four rods from the thermal sawmill
event.recipes.thermal.sawmill(rodType.withCount(4), ingotType);
// TODO: Isn't there also a thermal press we can use?
}
// All alloys can be created in the thermal smelter, or a superheated create mixer
if (ingredients.length > 0) {
let real_ingredients = alloyIngredients(['ingots', 'dusts'], ingredients);
@@ -298,15 +311,13 @@ ServerEvents.recipes(event => {
} else {
// If we have 3 or fewer ingredients, we can create it in the 3-slot thermal smelter
if (real_ingredients.length <= 3) {
event.recipes.thermal.smelter(ingotType.withCount(ingredients[0]), real_ingredients);
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).heated();
event.recipes.thermal.smelter(ingotType.withCount(ingredients[0]), real_ingredients).id(`kubejs:metals/smelting/${metal}`);
} else {
// Materials with 4 or more require superheating, and can only be made in the mixer
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).superheated();
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).superheated().id(`kubejs:metals/superheated_mixing/${metal}`);
}
}
}
// TODO: Create saw, 3x3 packing/unpacking dies, mechanical press
}
}
@@ -413,10 +424,10 @@ ServerEvents.recipes(event => {
console.warn(`No ${metal} plates available!`);
}
let real_ingredients = alloyIngredients(['ingots', 'dusts'], ingredients);
// These ones can simply have their dusts mixed in a cold mixer to create the "alloy" ingot, which for the andesite tier is only andesite alloy.
let real_ingredients = alloyIngredients(['dusts'], ingredients);
if (real_ingredients.length > 0) {
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).heated();
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).id(`kubejs:metals/cold_mixing/${metal}`);
}
}
}
@@ -444,10 +455,10 @@ ServerEvents.recipes(event => {
console.error(`No ${metal} ore pulverizing available! Falling back to dust-based processing line`);
}
let real_ingredients = alloyIngredients(['dusts'], ingredients);
// Mechanical alloys can produce whole ingots from heated mixing
let real_ingredients = alloyIngredients(['ingots', 'dusts'], ingredients);
if (real_ingredients.length > 0) {
event.recipes.create.mixing(dustType.withCount(ingredients[0]), real_ingredients).heated();
event.recipes.create.mixing(ingotType.withCount(ingredients[0]), real_ingredients).heated().id(`kubejs:metals/hot_mixing/${metal}`);
}
}
}