diff --git a/kubejs/server_scripts/create_additions/data.js b/kubejs/server_scripts/create_additions/data.js new file mode 100644 index 000000000..048255efc --- /dev/null +++ b/kubejs/server_scripts/create_additions/data.js @@ -0,0 +1,62 @@ +// priority: 0 + +function registerTFCDataForCreateAddition(event) { + + event.itemHeat('createaddition:cake_base', 1.0, null, null) + event.itemHeat('createaddition:cake_base_baked', 1.0, null, null) + + event.foodItem('createaddition:cake_base', food => { + food.hunger(1) + food.saturation(0) + food.decayModifier(3) + }) + + event.foodItem('createaddition:cake_base_baked', food => { + food.hunger(4) + food.saturation(1) + food.decayModifier(2) + food.dairy(2) + food.grain(2) + }) + + event.foodItem('tfc:cake', food => { + food.hunger(2) + food.saturation(2) + food.decayModifier(2) + food.dairy(0.8) + food.grain(0.8) + }) + + event.foodItem('createaddition:chocolate_cake', food => { + food.hunger(2) + food.saturation(2) + food.decayModifier(2) + food.dairy(0.8) + food.grain(0.8) + }) + + event.foodItem('createaddition:honey_cake', food => { + food.hunger(2) + food.saturation(2) + food.decayModifier(2) + food.dairy(0.8) + food.grain(0.8) + }) + + event.foodItem('species:birtday_cake', food => { + food.hunger(2) + food.saturation(2) + food.decayModifier(2) + food.dairy(0.8) + food.grain(0.8) + }) + + event.foodItem('species:birtday_cake_slice', food => { + food.hunger(2) + food.saturation(2) + food.decayModifier(2) + food.dairy(0.8) + food.grain(0.8) + food.fruit(1) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/create_additions/events.js b/kubejs/server_scripts/create_additions/events.js new file mode 100644 index 000000000..933f8acd3 --- /dev/null +++ b/kubejs/server_scripts/create_additions/events.js @@ -0,0 +1,19 @@ +// priority: 0 + +const $FoodData = Java.loadClass("net.dries007.tfc.common.capabilities.food.FoodData") + +// hunger, water, saturation, grain, fruit, veg, protein, dairy, decayModifier +const cakeData = new $FoodData(6, 0, 2, 1, 0, 0, 0, 0.5, 0) + +BlockEvents.rightClicked(event => { + + const { block, server, player, player: { x, y, z, username } } = event; + if (block.id != 'createaddition:chocolate_cake' && block.id != 'createaddition:honey_cake') { + return + } + + let foodData = player.getFoodData(); + if (foodData.needsFood()) { + foodData.eat(cakeData); + } +}); \ No newline at end of file diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index b3532f856..b26110f2c 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -39,6 +39,8 @@ const registerFirmaLifeRecipes = (event) => { event.remove({ id: /^firmalife:crafting\/.*_dough/ }) + event.remove({ id: 'firmalife:pot/chocolate' }) + //#endregion // Декрафт Jag Lid @@ -594,7 +596,77 @@ const registerFirmaLifeRecipes = (event) => { }) event.recipes.firmalife.mixing_bowl() - .itemIngredients([TFC.ingredient.notRotten('firmalife:food/vanilla_ice_cream'), TFC.ingredient.notRotten('firmalife:food/chocolate_chip_cookie_dough')]) + .itemIngredients([ + TFC.ingredient.notRotten('firmalife:food/vanilla_ice_cream'), + TFC.ingredient.notRotten('firmalife:food/chocolate_chip_cookie_dough')]) .outputItem('2x firmalife:food/cookie_dough_ice_cream') .id('firmalife:mixing_bowl/cookie_dough_ice_cream') + + event.recipes.firmalife.mixing_bowl() + .ingredients([ + TFC.ingredient.notRotten('#forge:eggs'), + '#tfg:sugars', + '#tfg:sugars', + TFC.ingredient.notRotten('#tfc:foods/flour'), + TFC.ingredient.notRotten('#tfc:foods/flour')], + TFC.fluidStackIngredient('#tfc:milks', 1000)) + .outputItem('createaddition:cake_base') + .id('tfg:mixing_bowl/cake_base') + + event.recipes.firmalife.oven('createaddition:cake_base', 400, 60 * 20, 'createaddition:cake_base_baked') + + event.recipes.firmalife.mixing_bowl() + .ingredients([ + TFC.ingredient.notRotten('createaddition:cake_base_baked'), + TFC.ingredient.notRotten('tfc:food/strawberry'), + TFC.ingredient.notRotten('tfc:food/strawberry'), + TFC.ingredient.notRotten('tfc:food/strawberry'), + 'firmalife:spice/vanilla'], + Fluid.of('tfcchannelcasting:white_chocolate', 400)) + .outputItem('tfc:cake') + .id('tfg:mixing_bowl/cake') + + event.recipes.firmalife.mixing_bowl() + .ingredients([ + TFC.ingredient.notRotten('createaddition:cake_base_baked'), + TFC.ingredient.notRotten('tfc:food/cherry'), + TFC.ingredient.notRotten('tfc:food/cherry'), + TFC.ingredient.notRotten('tfc:food/cherry'), + 'firmalife:food/cocoa_powder'], + Fluid.of('tfcchannelcasting:milk_chocolate', 400)) + .outputItem('createaddition:chocolate_cake') + .id('tfg:mixing_bowl/milk_chocolate_cake') + + event.recipes.firmalife.mixing_bowl() + .ingredients([ + TFC.ingredient.notRotten('createaddition:cake_base_baked'), + TFC.ingredient.notRotten('tfc:food/cherry'), + TFC.ingredient.notRotten('tfc:food/cherry'), + TFC.ingredient.notRotten('tfc:food/cherry'), + 'firmalife:food/cocoa_powder'], + Fluid.of('tfcchannelcasting:dark_chocolate', 400)) + .outputItem('createaddition:chocolate_cake') + .id('tfg:mixing_bowl/dark_chocolate_cake') + + event.recipes.firmalife.mixing_bowl() + .ingredients([ + TFC.ingredient.notRotten('createaddition:cake_base_baked'), + 'firmalife:raw_honey', + 'firmalife:raw_honey', + 'firmalife:raw_honey', + 'firmalife:raw_honey'], + Fluid.of('afc:maple_syrup', 1000)) + .outputItem('createaddition:honey_cake') + .id('tfg:mixing_bowl/maple_honey_cake') + + event.recipes.firmalife.mixing_bowl() + .ingredients([ + TFC.ingredient.notRotten('createaddition:cake_base_baked'), + 'firmalife:raw_honey', + 'firmalife:raw_honey', + 'firmalife:raw_honey', + 'firmalife:raw_honey'], + Fluid.of('afc:birch_syrup', 1000)) + .outputItem('createaddition:honey_cake') + .id('tfg:mixing_bowl/birch_honey_cake') } diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index b2219ada8..32c5be333 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -44,6 +44,12 @@ const registerFirmaLifeFluidTags = (event) => { // Добавляем тег для скрытия в EMI event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') + event.add('c:hidden_from_recipe_viewers', 'firmalife:chocolate') event.add('firmalife:mixable', 'tfc:spring_water') + event.add('firmalife:mixable', 'tfcchannelcasting:white_chocolate') + event.add('firmalife:mixable', 'tfcchannelcasting:milk_chocolate') + event.add('firmalife:mixable', 'tfcchannelcasting:dark_chocolate') + event.add('firmalife:mixable', 'afc:maple_syrup') + event.add('firmalife:mixable', 'afc:birch_syrup') } \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index bdbf642d1..a2ac6b79f 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -141,6 +141,7 @@ TFCEvents.data(event => { registerTFCDataForAdAstra(event); registerTFCDataForArborFirmaCraft(event) registerTFCDataForChalk(event); + registerTFCDataForCreateAddition(event); registerTFCDataForFirmalife(event) registerTFCDataForGTCEU(event) registerTFCDataForImmersiveAircraft(event); @@ -235,6 +236,7 @@ ServerEvents.recipes(event => { registerMinecraftRecipes(event) registerModernMarkingRecipes(event) registerMoreRedRecipes(event) + registerProgrammedCircuitCardRecipes(event) registerRailWaysRecipes(event) registerRnrRecipes(event) registerSophisticatedBackpacksRecipes(event) diff --git a/kubejs/server_scripts/species/recipes.js b/kubejs/server_scripts/species/recipes.js index 37d5dd4ea..a6273922d 100644 --- a/kubejs/server_scripts/species/recipes.js +++ b/kubejs/server_scripts/species/recipes.js @@ -36,7 +36,6 @@ function registerSpeciesRecipes(event) { .itemInputs('1x #forge:plates/magnalium', 'ae2:charged_certus_quartz_crystal') .inputFluids(Fluid.of('gtceu:glowstone', 144*4)) .itemOutputs('2x species:hopelight') - .circuit(1) .duration(200) .EUt(GTValues.VA[GTValues.HV]) @@ -44,7 +43,6 @@ function registerSpeciesRecipes(event) { .itemInputs('#forge:rings/magnalium', 'ae2:charged_certus_quartz_crystal') .inputFluids(Fluid.of('gtceu:glowstone', 144)) .itemOutputs('2x species:speclight') - .circuit(2) .duration(100) .EUt(GTValues.VA[GTValues.HV]) diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index 18f5a45aa..b3891b787 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -145,6 +145,7 @@ function removeTFCRecipes(event) { event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' }) event.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + event.remove({ id: 'tfc:crafting/cake' }) event.remove({ id: /^tfc:crafting\/dough\/.*/ }) diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 11ca21082..7df48f898 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -136,6 +136,7 @@ function registerTFGFoodRecipes(event) { processorRecipe(`${grain}_flatbread_dough`, 300, 8, { itemInputs: [`tfc:food/${grain}_flour`], itemOutputs: [`2x tfc:food/${grain}_dough`], + circuit: 1, itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_dough`).copyFood() }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }})) @@ -143,6 +144,7 @@ function registerTFGFoodRecipes(event) { processorRecipe(`${grain}_dough`, 300, 16, { itemInputs: [`tfc:food/${grain}_flour`, `#tfc:sweetener`], itemOutputs: [`4x firmalife:food/${grain}_dough`], + circuit: 1, fluidInputs: [Fluid.of('firmalife:yeast_starter', 200)], itemOutputProvider: TFC.isp.of(`4x firmalife:food/${grain}_dough`).copyFood() }) @@ -470,6 +472,7 @@ function registerTFGFoodRecipes(event) { }) processorRecipe('firmalife_masa', 300, 2, { + circuit: 3, itemInputs: ["firmalife:food/masa_flour"], itemOutputs: ["2x firmalife:food/masa"], itemOutputProvider: TFC.isp.of("2x firmalife:food/masa").copyFood() @@ -681,6 +684,53 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyOldestFood() }).inputFluids(JsonIO.of({ amount: 50, value: { tag: "tfg:clean_water" }})) + // Cakes + + processorRecipe("cake_base", 300, 8, { + circuit: 4, + itemInputs: ["#forge:eggs", "2x #tfg:sugars", "2x #tfc:foods/flour"], + itemOutputs: ["createaddition:cake_base"], + itemOutputProvider: TFC.isp.of("createaddition:cake_base").copyOldestFood() + }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }})) + + cookingRecipe("baked_cake_base", "createaddition:cake_base", "createaddition:cake_base_baked") + + processorRecipe("vanilla_cake", 300, 8, { + itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/strawberry', 'firmalife:spice/vanilla'], + fluidInputs: [Fluid.of("tfcchannelcasting:white_chocolate", 400)], + itemOutputs: ["tfc:cake"] + }) + + processorRecipe("milk_chocolate_cake", 300, 8, { + itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'], + fluidInputs: [Fluid.of("tfcchannelcasting:milk_chocolate", 400)], + itemOutputs: ["createaddition:chocolate_cake"] + }) + + processorRecipe("dark_chocolate_cake", 300, 8, { + itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'], + fluidInputs: [Fluid.of("tfcchannelcasting:dark_chocolate", 400)], + itemOutputs: ["createaddition:chocolate_cake"] + }) + + processorRecipe("maple_honey_cake", 300, 8, { + itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'], + fluidInputs: [Fluid.of("afc:maple_syrup", 1000)], + itemOutputs: ["createaddition:honey_cake"] + }) + + processorRecipe("birch_honey_cake", 300, 8, { + itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'], + fluidInputs: [Fluid.of("afc:birch_syrup", 1000)], + itemOutputs: ["createaddition:honey_cake"] + }) + + processorRecipe("birtday_cake", 300, GTValues.VA[GTValues.HV], { + itemInputs: ['createaddition:cake_base', '4x species:birt_egg', '4x tfc:food/blueberry', '2x minecraft:chorus_fruit', 'gtceu:blue_alloy_single_wire'], + fluidInputs: [Fluid.of('gtceu:helium_3', 50)], + itemOutputs: ["species:birtday_cake"] + }) + // These don't need the ISP handling, they're just here to keep all the food recipes together event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') diff --git a/kubejs/startup_scripts/create_additions/constants.js b/kubejs/startup_scripts/create_additions/constants.js index ef44b68da..a05ed1d97 100644 --- a/kubejs/startup_scripts/create_additions/constants.js +++ b/kubejs/startup_scripts/create_additions/constants.js @@ -7,9 +7,7 @@ global.CREATE_ADDITIONS_DISABLED_ITEMS = [ 'createaddition:electrum_amulet', 'createaddition:biomass_pellet', 'createaddition:diamond_grit', - 'createaddition:honey_cake', 'createaddition:biomass', - 'createaddition:chocolate_cake', 'createaddition:creative_energy', 'createaddition:electrum_rod', 'createaddition:gold_rod', @@ -17,12 +15,10 @@ global.CREATE_ADDITIONS_DISABLED_ITEMS = [ 'createaddition:iron_rod', 'createaddition:electrum_wire', 'createaddition:brass_rod', - 'createaddition:cake_base', 'createaddition:iron_wire', 'createaddition:gold_wire', 'createaddition:electrum_sheet', 'createaddition:zinc_sheet', - 'createaddition:cake_base_baked', 'createaddition:copper_wire', 'createaddition:seed_oil_bucket', 'createaddition:bioethanol_bucket',