From f9927057808636500a5302648a407394c973423d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 8 Aug 2025 23:43:00 +0100 Subject: [PATCH 1/3] added chalk knapping recipes for lower durability chalk items #1562 --- kubejs/server_scripts/chalk/recipes.js | 72 +++++++++++++++++++++++++- kubejs/server_scripts/chalk/tags.js | 1 + 2 files changed, 71 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/chalk/recipes.js b/kubejs/server_scripts/chalk/recipes.js index e364d6a03..8fdd01e3d 100644 --- a/kubejs/server_scripts/chalk/recipes.js +++ b/kubejs/server_scripts/chalk/recipes.js @@ -6,7 +6,68 @@ */ const registerChalkRecipes = (evt) => { evt.remove({ output: "#chalk:chalks" }) - evt.replaceInput({ id: "chalk:chalk_box" }, "minecraft:slime_ball", "tfc:glue") + + evt.shaped('chalk:chalk_box', [ + 'ABA', + ' A ' + ], { + A: 'paper', + B: ['tfc:glue'] + }).id('chalk:chalk_box') + + // only 1/4 durability remaining + evt.recipes.tfc.knapping( + Item.of('chalk:white_chalk', '{Damage:48}'), + 'tfc:rock', + [ + ' X ', + ' X ', + ' X ', + ' X ', + ' X ' + ] + ).ingredient('tfc:rock/loose/chalk') + .id('tfg:knapping/chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:light_gray_chalk', '{Damage:48}'), + 'tfc:rock', + [ + ' X ', + ' X ', + ' X ', + ' X ', + ' X ' + ] + ).ingredient('tfc:rock/loose/limestone') + .id('tfg:knapping/limestone_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:brown_chalk', '{Damage:48}'), + 'tfc:rock', + [ + ' X ', + ' X ', + ' X ', + ' X ', + ' X ' + ] + ).ingredient('tfg:loose/dripstone') + .id('tfg:knapping/travertine_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:orange_chalk', '{Damage:48}'), + 'tfc:rock', + [ + ' X ', + ' X ', + ' X ', + ' X ', + ' X ' + ] + ).ingredient('tfc:rock/loose/claystone') + .id('tfg:knapping/claystone_chalk') + //Mix dusts for chalk sticks with clay to make an unfired chalk stick. Greggy or Create lets you use tiny dusts if needed evt.recipes.firmalife.mixing_bowl() @@ -14,7 +75,14 @@ const registerChalkRecipes = (evt) => { .outputItem("tfg:unfired_chalk") .id(`chalk:mixing_bowl/unfired_chalk_stick_from_dust`) + global.MINECRAFT_DYE_NAMES.forEach(dyeName => { + evt.recipes.tfc.barrel_sealed(1000) + .inputItem('chalk:white_chalk') + .inputFluid(Fluid.of(`tfc:${dyeName}_dye`, 25)) + .outputItem(`chalk:${dyeName}_chalk`) + .id(`chalk:barrel/dye/${dyeName}_chalk`) + //gt mixer works as is evt.recipes.gtceu.chemical_bath(`chalk:gt_mixer/${dyeName}_chalk_from_dust`) .itemInputs(["minecraft:clay_ball", `#chalk:dusts_for_chalks`]) @@ -35,7 +103,7 @@ const registerChalkRecipes = (evt) => { //Unfired chalk sticks need to be placed in a barrel full of dye to colorize. Then heated until cured. - evt.recipes.tfc.barrel_sealed(20 * 50) + evt.recipes.tfc.barrel_instant() .inputs(`tfg:unfired_chalk`, TFC.fluidStackIngredient(`tfc:${dyeName}_dye`, 36)) .outputItem(`tfg:wet_${dyeName}_chalk`) .id(`chalk:barrel/dye/wet_${dyeName}_chalk`); diff --git a/kubejs/server_scripts/chalk/tags.js b/kubejs/server_scripts/chalk/tags.js index 8ac896f40..b8c6642ff 100644 --- a/kubejs/server_scripts/chalk/tags.js +++ b/kubejs/server_scripts/chalk/tags.js @@ -8,4 +8,5 @@ const registerChalkItemTags = (evt) => { evt.add(`chalk:dusts_for_chalks`, `tfg:chalk_dust`) evt.add(`chalk:dusts_for_chalks`, `tfg:limestone_dust`) evt.add(`chalk:dusts_for_chalks`, `tfg:dripstone_dust`) + evt.add(`chalk:dusts_for_chalks`, `tfg:claystone_dust`) } \ No newline at end of file From b0608183e91b260fdb8b8932aad257176c205a50 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 9 Aug 2025 00:34:06 +0100 Subject: [PATCH 2/3] fixes not being able to quern hardwood/softwood, removed strophar/aeronos caps from the log tag --- kubejs/server_scripts/ad_astra/tags.js | 4 ++++ kubejs/server_scripts/tfg/recipes.paper.js | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 86bc78a1f..a48b9fbb9 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -109,6 +109,10 @@ const registerAdAstraItemTags = (event) => { event.add('tfc:compost_greens', 'ad_astra:aeronos_cap') event.add('tfc:compost_greens', 'ad_astra:strophar_cap') + + // these are log tags + event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') + event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') global.AD_ASTRA_WOOD.forEach(wood => { diff --git a/kubejs/server_scripts/tfg/recipes.paper.js b/kubejs/server_scripts/tfg/recipes.paper.js index fd5f22c95..b552a6e6b 100644 --- a/kubejs/server_scripts/tfg/recipes.paper.js +++ b/kubejs/server_scripts/tfg/recipes.paper.js @@ -60,6 +60,9 @@ function registerTFGPapermakingRecipes(event) { .duration(70) .EUt(2) + event.recipes.tfc.quern('4x gtceu:wood_dust', '#tfg:softwood') + .id('tfg:quern/softwood_dust') + //Create identical macerator recipe for hardwood event.recipes.gtceu.macerator('macerate_hardwood') .itemInputs('#tfg:hardwood') @@ -68,6 +71,9 @@ function registerTFGPapermakingRecipes(event) { .duration(70) .EUt(2) + event.recipes.tfc.quern('4x gtceu:hardwood_dust', '#tfg:hardwood') + .id('tfg:quern/hardwood_dust') + //Replace any recipe that outputs wood dust to use hardwood dust if it's ID string contains the name of one of the hardwood types. //This absolutely fuckin sucks but it works event.forEachRecipe({ output: 'gtceu:wood_dust' }, r => { From 1bea67bb09d769ad9851bf6f2b6ba8c062cdede5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 9 Aug 2025 00:47:58 +0100 Subject: [PATCH 3/3] cleaned up the red alloy recipes, also fixed #1565 --- CHANGELOG.md | 9 ++++++-- .../gregtech/recipes.tfcmetals.js | 21 +++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b22bd109f..62babb97f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,14 +2,19 @@ ## [Unreleased] ### Changes +- FTBQuests has been changed back to linear mode, hopefully to prevent future cases where the quests get stuck on something. Please send us feedback! (#1568) @TomPlop - Added fanfare effects to the railgun launcher multiblock. (#1557) @Redeix +- Added some chalk stick knapping recipes (#1562) @3ncanis +- The Vitrified Ender Pearl recipe now only accepts normal ender pearls (#1567) @TomPlop ### Bug fixes - Fixed a broken model for the aqueous accumulator. (#1557) @Redeix - Fixed broken recipes for the aqueous accumulator. @Pyritie - Fixed log spam on the moon @Pyritie - Fixed recipe collision with maize flour and cured maize @Pyritie -- Fixed Large Solar Array generating twice as much energy as expected with the "active" configuration @TomPlop -- Fixed Electric Greenhouse log recipes so they're back to only needing half an amp of LV @TomPlop +- Fixed Large Solar Array generating twice as much energy as expected with the "active" configuration (#1563) @TomPlop +- Fixed Electric Greenhouse log recipes so they're back to only needing half an amp of LV (#1564) @TomPlop +- Fixed missing quern recipes for softwood/hardwood pulp (#1561) @Pyritie +- Fixed duplicate red alloy mixing recipe (#1565) @Pyritie ## [0.10.7] - 07-08-2025 - Fixed an issue with mod dependencies diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js index 18f93b1c2..18afc77a1 100644 --- a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js +++ b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js @@ -62,8 +62,7 @@ function registerGTCEuTFCMetalsRecipes(event) { // red alloy, because crucible always makes 4+1=5 - event.remove({ id: 'gtceu:alloy_blast_smelter/red_alloy' }) - event.recipes.gtceu.alloy_blast_smelter('tfg:red_alloy_mixer') + event.recipes.gtceu.alloy_blast_smelter('red_alloy') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') .outputFluids(Fluid.of('gtceu:red_alloy', 720)) .circuit(5) @@ -71,43 +70,39 @@ function registerGTCEuTFCMetalsRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) event.remove({ id: 'gtceu:mixer/red_alloy' }) - event.recipes.gtceu.mixer('tfg:red_alloy_mixer') + // incorrect on purpose to prevent a greate duplicate recipe (the id becomes mixer/mixer/red_alloy) + event.recipes.gtceu.mixer('gtceu:mixer/red_alloy') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_dust') .circuit(2) .duration(100) .EUt(7) - event.remove({ id: 'gtceu:centrifuge/red_alloy_separation' }) - event.recipes.gtceu.centrifuge('tfg:red_alloy_separation') + event.recipes.gtceu.centrifuge('red_alloy_separation') .itemInputs('5x gtceu:red_alloy_dust') .itemOutputs('1x gtceu:copper_dust', '4x minecraft:redstone') .duration(900) .EUt(30) - event.remove({ id: 'gtceu:alloy_smelter/copper_dust_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:copper_dust_and_redstone_dust_into_red_alloy') + event.recipes.gtceu.alloy_smelter('copper_dust_and_redstone_dust_into_red_alloy') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_dust_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_dust_and_redstone_dust_into_red_alloy') + event.recipes.gtceu.alloy_smelter('annealed_copper_dust_and_redstone_dust_into_red_alloy') .itemInputs('1x gtceu:annealed_copper_dust', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - event.remove({ id: 'gtceu:alloy_smelter/copper_ingot_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:copper_ingot_and_redstone_dust_into_red_alloy') + event.recipes.gtceu.alloy_smelter('copper_ingot_and_redstone_dust_into_red_alloy') .itemInputs('1x minecraft:copper_ingot', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) - event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_ingot_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_ingot_and_redstone_dust_into_red_alloy') + event.recipes.gtceu.alloy_smelter('annealed_copper_ingot_and_redstone_dust_into_red_alloy') .itemInputs('1x gtceu:annealed_copper_ingot', '4x minecraft:redstone') .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50)