From a830260b714b8a2fc1db74e468271e2d8b339aad Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 7 Jun 2025 23:03:41 +0100 Subject: [PATCH] chorus/lightbloom stuff --- .../blocks/lunar_chorus_flower.json | 12 ++- kubejs/server_scripts/firmalife/recipes.js | 4 +- kubejs/server_scripts/gregtech/utility.js | 10 +-- kubejs/server_scripts/minecraft/tags.js | 4 + kubejs/server_scripts/tfc/recipes.js | 12 +-- kubejs/server_scripts/tfg/recipes.space.js | 87 +++++++++++++++++-- .../server_scripts/tfg/recipes.terrariums.js | 13 --- kubejs/startup_scripts/minecraft/constants.js | 3 - 8 files changed, 109 insertions(+), 36 deletions(-) diff --git a/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json b/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json index eabf049bb..160d9a686 100644 --- a/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json +++ b/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json @@ -8,7 +8,7 @@ { "type": "minecraft:item", "name": "minecraft:chorus_fruit", - "conditions": [ + "functions": [ { "function": "minecraft:set_count", "count": { @@ -23,6 +23,11 @@ "conditions": [ { "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": {} } ] }, @@ -44,6 +49,11 @@ "conditions": [ { "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": {} } ] } diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 90d2e64f0..7455533df 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -444,12 +444,12 @@ const registerFirmaLifeRecipes = (event) => { // Семена фруктов global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, true) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, 'minecraft:overworld') }) // Семена ягод global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, false) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, null) }) //#endregion diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 45a83a172..2ac9b0f83 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -23,7 +23,7 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => { .EUt(EUt) } -const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, overworldExclusive) => { +const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, dimension) => { // Без удобрения let r = event.recipes.gtceu.greenhouse(id) @@ -36,8 +36,8 @@ const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, overwo .duration(36000) // 30 mins .EUt(GTValues.VA[GTValues.LV]) - if (overworldExclusive) - r.dimension('minecraft:overworld') + if (dimension != null) + r.dimension(dimension) // С удобрением r = event.recipes.gtceu.greenhouse(`${id}_fertilized`) @@ -51,8 +51,8 @@ const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, overwo .duration(12000) // 10 mins .EUt(GTValues.VA[GTValues.LV]) - if (overworldExclusive) - r.dimension('minecraft:overworld') + if (dimension != null) + r.dimension(dimension) } const getFillingNBT = (material, amount) => { diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 176298a32..a4c3185e2 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -63,6 +63,10 @@ const registerMinecraftItemTags = (event) => { event.add('tfc:compost_greens_high', 'minecraft:red_mushroom_block') event.add('tfc:compost_greens_high', 'minecraft:brown_mushroom_block') + event.add('tfc:compost_greens_high', 'minecraft:twisting_vines') + event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight') + event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight') + event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight') event.add('tfc:colored_terracotta', 'minecraft:white_terracotta') } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index d23cb4aad..e1a31cc4d 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -94,26 +94,26 @@ const registerTFCRecipes = (event) => { // Дерево global.TFC_WOOD_TYPES.forEach(wood => { - generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, 16000, `64x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`, true) + generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, 16000, `64x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`, 'minecraft:overworld') }) global.AFC_SAPLINGS.forEach(x => { - generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, 16000, `64x ${x.log}`, `tfg:greenhouse/${x.sapling}`, true) + generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, 16000, `64x ${x.log}`, `tfg:greenhouse/${x.sapling}`, 'minecraft:overworld') }) // Семена фруктов global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, true) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, 'minecraft:overworld') }) // Семена овощей global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, false) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, null) }) // Семена ягод global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, false) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, null) }) // Растения @@ -121,7 +121,7 @@ const registerTFCRecipes = (event) => { const itemId = element.id; const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId, false); + generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId, null); }); //#endregion diff --git a/kubejs/server_scripts/tfg/recipes.space.js b/kubejs/server_scripts/tfg/recipes.space.js index d528cab84..84e2c70df 100644 --- a/kubejs/server_scripts/tfg/recipes.space.js +++ b/kubejs/server_scripts/tfg/recipes.space.js @@ -20,8 +20,10 @@ function registerTFGSpaceRecipes(event) { // Aqueous accumulator + let aaCircuit = 1; + event.recipes.gtceu.aqueous_accumulator('water_overworld') - .circuit(1) + .circuit(aaCircuit++) .dimension('minecraft:overworld') .duration(20) .EUt(GTValues.VHA[GTValues.ULV]) @@ -30,16 +32,25 @@ function registerTFGSpaceRecipes(event) { .outputFluids(Fluid.of("minecraft:water", 1000)) event.recipes.gtceu.aqueous_accumulator('water_nether') - .circuit(2) + .circuit(aaCircuit++) .dimension('minecraft:the_nether') .duration(20) .EUt(GTValues.VHA[GTValues.ULV]) .addDataString("fluidA", "minecraft:water") .addDataString("fluidB", "minecraft:water") .outputFluids(Fluid.of("minecraft:water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('water_moon') + .circuit(aaCircuit++) + .dimension('ad_astra:moon') + .duration(20) + .EUt(GTValues.VHA[GTValues.MV]) + .addDataString("fluidA", "minecraft:water") + .addDataString("fluidB", "minecraft:water") + .outputFluids(Fluid.of("minecraft:water", 1000)) event.recipes.gtceu.aqueous_accumulator('sea_water_overworld') - .circuit(3) + .circuit(aaCircuit++) .dimension('minecraft:overworld') .duration(20) .EUt(GTValues.VA[GTValues.ULV]) @@ -48,7 +59,7 @@ function registerTFGSpaceRecipes(event) { .outputFluids(Fluid.of("tfc:salt_water", 1000)) event.recipes.gtceu.aqueous_accumulator('sea_water_nether') - .circuit(4) + .circuit(aaCircuit++) .dimension('minecraft:the_nether') .duration(20) .EUt(GTValues.VA[GTValues.ULV]) @@ -57,7 +68,7 @@ function registerTFGSpaceRecipes(event) { .outputFluids(Fluid.of("tfc:salt_water", 1000)) event.recipes.gtceu.aqueous_accumulator('lava_overworld') - .circuit(5) + .circuit(aaCircuit++) .dimension('minecraft:overworld') .duration(20) .EUt(GTValues.VHA[GTValues.HV]) @@ -66,7 +77,7 @@ function registerTFGSpaceRecipes(event) { .outputFluids(Fluid.of("minecraft:lava", 1000)) event.recipes.gtceu.aqueous_accumulator('lava_nether') - .circuit(6) + .circuit(aaCircuit++) .dimension('minecraft:the_nether') .duration(20) .EUt(GTValues.VHA[GTValues.HV]) @@ -117,4 +128,68 @@ function registerTFGSpaceRecipes(event) { .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('asurine'), 1)) .chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.CertusQuartz, 1), 4700, 700) .chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Zinc, 1), 3700, 700) + + // Plants + + // Chorus + event.recipes.gtceu.greenhouse('tfg:chorus') + .itemInputs('8x tfg:lunar_chorus_flower') + .itemOutputs('32x minecraft:chorus_fruit') + .chancedOutput('8x tfg:lunar_chorus_flower', 7500, 0) + .chancedOutput('8x tfg:lunar_chorus_flower', 5000, 0) + .duration(36000) // 30 mins + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.greenhouse('tfg:chorus_helium') + .itemInputs('8x tfg:lunar_chorus_flower') + .inputFluids(Fluid.of('gtceu:helium_3', 2000)) + .itemOutputs('32x minecraft:chorus_fruit') + .chancedOutput('8x tfg:lunar_chorus_flower', 7500, 0) + .chancedOutput('8x tfg:lunar_chorus_flower', 5000, 0) + .duration(12000) // 30 mins + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.fermenter('tfg:chorus') + .itemInputs('minecraft:chorus_fruit') + .inputFluids(Fluid.of('gtceu:biomass', 20)) + .chancedOutput('ae2:ender_dust', 100, 100) + .outputFluids(Fluid.of('gtceu:nitrogen', 100)) + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + // Lightblooms + event.recipes.gtceu.greenhouse('tfg:lightbloom') + .itemInputs('32x minecraft:twisting_vines') + .itemOutputs('64x minecraft:twisting_vines') + .chancedOutput('minecraft:pearlescent_froglight', 2500, 0) + .chancedOutput('minecraft:verdant_froglight', 2500, 0) + .chancedOutput('minecraft:ochre_froglight', 2500, 0) + .duration(36000) // 30 mins + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.greenhouse('tfg:lightbloom_helium') + .itemInputs('32x minecraft:twisting_vines') + .inputFluids(Fluid.of('gtceu:helium_3', 2000)) + .itemOutputs('64x minecraft:twisting_vines') + .chancedOutput('minecraft:pearlescent_froglight', 2500, 0) + .chancedOutput('minecraft:verdant_froglight', 2500, 0) + .chancedOutput('minecraft:ochre_froglight', 2500, 0) + .duration(12000) // 30 mins + .circuit(2) + .EUt(GTValues.VA[GTValues.LV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.brewery('biomass_from_twisting_vines') + .itemInputs('minecraft:twisting_vines') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(50) + .EUt(3) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.terrariums.js b/kubejs/server_scripts/tfg/recipes.terrariums.js index 487e3fa0d..a8df502cd 100644 --- a/kubejs/server_scripts/tfg/recipes.terrariums.js +++ b/kubejs/server_scripts/tfg/recipes.terrariums.js @@ -146,19 +146,6 @@ function registerTFGTerrariumRecipes(event) { }).id('tfg:shaped/end_crystal') // chorus fruit - - event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_uranium') - .itemInputs('#tfc:foods/fruits', 'gtceu:uranium_235_dust') - .itemOutputs('minecraft:chorus_fruit', 'gtceu:uranium_dust') - .duration(500) - .EUt(480) - .circuit(1) - - event.recipes.gtceu.large_chemical_reactor('tfg:chorus_fruit_plutonium') - .itemInputs('#tfc:foods/fruits', 'gtceu:plutonium_241_dust') - .itemOutputs('minecraft:chorus_fruit', 'gtceu:plutonium_dust') - .duration(200) - .EUt(480) event.recipes.gtceu.large_chemical_reactor('tfg:kovarex') .itemInputs('40x gtceu:uranium_235_dust', '5x gtceu:uranium_dust') diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 514ed3530..fd18990e5 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -565,9 +565,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:carrot_on_a_stick', 'minecraft:carrot', 'minecraft:pumpkin', - 'minecraft:pearlescent_froglight', - 'minecraft:verdant_froglight', - 'minecraft:ochre_froglight', 'minecraft:suspicious_stew', 'minecraft:mycelium', 'minecraft:farmland',