From ca354a55a9a8d3e27e33150254978cf4d3eaed40 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 May 2025 13:00:15 +0100 Subject: [PATCH 01/62] updated ore vein tags so they're now all in one auto-generated file --- kubejs/server_scripts/firmalife/tags.js | 7 +- kubejs/server_scripts/main_server_script.js | 4 +- kubejs/server_scripts/tfc/tags.js | 74 +---------- kubejs/server_scripts/tfg/tags.js | 83 +++---------- kubejs/server_scripts/tfg/tags.veins.js | 129 ++++++++++++++++++++ 5 files changed, 156 insertions(+), 141 deletions(-) create mode 100644 kubejs/server_scripts/tfg/tags.veins.js diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index e926f90d2..b2219ada8 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -46,9 +46,4 @@ const registerFirmaLifeFluidTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') event.add('firmalife:mixable', 'tfc:spring_water') -} - -const registerFirmaLifePlacedFeatures = (event) => { - event.remove('tfc:in_biome/veins', 'firmalife:vein/normal_chromite') - event.remove('tfc:in_biome/veins', 'firmalife:vein/deep_chromite') -} +} \ 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 ab87e8dea..3dc3f3ca7 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -97,7 +97,9 @@ ServerEvents.tags('fluid', event => { * Событие регистрации тегов структур. */ ServerEvents.tags('worldgen/placed_feature', event => { - registerFirmaLifePlacedFeatures(event) + // Remove default veins + event.removeAll('tfc:in_biome/veins') + registerTFCPlacedFeatures(event) registerTFGPlacedFeatures(event) }) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 061d6ea53..f8f92c7ee 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,10 +1,5 @@ // priority: 0 -/** - * - * @param {TagEvent.Item} event - */ -//#region ItemTags const registerTFCItemTags = (event) => { // Теги для соответствия инструментов TFC и GT @@ -297,9 +292,7 @@ const registerTFCItemTags = (event) => { event.add('minecraft:piglin_loved', 'tfc:ore/normal_native_gold') event.add('minecraft:piglin_loved', 'tfc:ore/rich_native_gold') } -//#endregion -//#region BlockTags const registerTFCBlockTags = (event) => { // Теги для каменных ступенек тфк global.TFC_STONE_TYPES.forEach(stoneTypeName => { @@ -415,9 +408,7 @@ const registerTFCBlockTags = (event) => { event.add('tfc:bloomery_insulation', `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); event.add('tfc:forge_insulation', `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); } -//#endregion -//#region FluidTags const registerTFCFluidTags = (event) => { // Удаление TFC металлов из возможных в форме слитка event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') @@ -468,18 +459,15 @@ const registerTFCFluidTags = (event) => { event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy') event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy') - // event.add('tfc:usable_in_bell_mold', 'gtceu:bronze') event.add('tfc:usable_in_bell_mold', 'gtceu:gold') event.add('tfc:usable_in_bell_mold', 'gtceu:brass') - // event.add('tfc:usable_in_tool_head_mold', 'gtceu:copper') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze') - // event.add('tfc:usable_in_barrel', 'gtceu:creosote') event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') @@ -520,21 +508,14 @@ const registerTFCFluidTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_red_steel') event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_blue_steel') } -//#endregion -//#region BiomeTags const registerTFCBiomeTags = (event) => { event.add('tfc:kaolin_clay_spawns_in', 'tfc:rolling_hills') } -//#endregion -//#region PlacedFeatures const registerTFCPlacedFeatures = (event) => { - // Удаление - event.removeAll('tfc:in_biome/veins') - // Add back the non-ore ones event.add('tfc:in_biome/veins', 'tfc:vein/gravel') event.add('tfc:in_biome/veins', 'tfc:vein/kaolin_disc') @@ -542,56 +523,7 @@ const registerTFCPlacedFeatures = (event) => { event.add('tfc:in_biome/veins', 'tfc:vein/diorite_dike') event.add('tfc:in_biome/veins', 'tfc:vein/gabbro_dike') - // Добавление - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_amethyst') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_opal') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_gold') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_hematite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_limonite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_magnetite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_molybdenum') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_pitchblende') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sapphire') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_scheelite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sheldonite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_topaz') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_apatite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_basaltic_sands') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bauxite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_beryllium') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bismuthinite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_cassiterite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_coal') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_copper') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnet_tin') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnierite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_gold') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_graphite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_hematite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_oilsands') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lapis') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_limonite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lubricant') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_magnetite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_manganese') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_mica') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_monazite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_olivine') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_quartz') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_redstone') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_salt') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_saltpeter') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_silver') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_copper') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_sphalerite') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_tetrahedrite') - + // Geodes event.add('tfc:in_biome/veins', 'tfg:earth/geode/amethyst') event.add('tfc:in_biome/veins', 'tfg:earth/geode/barite') event.add('tfc:in_biome/veins', 'tfg:earth/geode/calcite') @@ -600,9 +532,9 @@ const registerTFCPlacedFeatures = (event) => { event.add('tfc:in_biome/veins', 'tfg:earth/geode/pyrite') event.add('tfc:in_biome/veins', 'tfg:earth/geode/quartzite') + // Other decoration event.add('tfc:in_biome/veins', 'tfg:earth/nether_hint_vein') event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen') event.add('tfc:in_biome/underground_decoration', 'tfg:earth/sulfur_patch') -} -//#endregion \ No newline at end of file +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index fa3d01af9..527f374f4 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -53,12 +53,12 @@ const registerTFGItemTags = (event) => { // #endregion //#region Cloth & String - event.add('forge:cloth', 'tfg:phantom_silk') - event.add('forge:cloth', 'tfg:polycaprolactam_fabric') - event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') - event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') - event.add('forge:string', 'tfg:phantom_thread') - event.add('forge:string', 'tfg:polycaprolactam_string') + event.add('forge:cloth', 'tfg:phantom_silk') + event.add('forge:cloth', 'tfg:polycaprolactam_fabric') + event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') + event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') + event.add('forge:string', 'tfg:phantom_thread') + event.add('forge:string', 'tfg:polycaprolactam_string') //#endregion // #region Medicines @@ -289,26 +289,27 @@ const registerTFGFluidTags = (event) => { event.add('tfc:usable_in_pot', 'tfg:latex') event.add('tfc:usable_in_barrel', 'tfg:latex') event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') - event.add('tfc:usable_in_red_steel_bucket', 'tfg:latex') - event.add('tfc:usable_in_blue_steel_bucket', 'tfg:latex') + event.add('tfc:usable_in_red_steel_bucket', 'tfg:latex') + event.add('tfc:usable_in_blue_steel_bucket', 'tfg:latex') event.add('tfc:usable_in_pot', 'tfg:vulcanized_latex') event.add('tfc:usable_in_barrel', 'tfg:vulcanized_latex') event.add('tfc:usable_in_wooden_bucket', 'tfg:vulcanized_latex') - event.add('tfc:usable_in_red_steel_bucket', 'tfg:vulcanized_latex') - event.add('tfc:usable_in_blue_steel_bucket', 'tfg:vulcanized_latex') + event.add('tfc:usable_in_red_steel_bucket', 'tfg:vulcanized_latex') + event.add('tfc:usable_in_blue_steel_bucket', 'tfg:vulcanized_latex') event.add('tfc:usable_in_pot', 'tfg:conifer_pitch') event.add('tfc:usable_in_barrel', 'tfg:conifer_pitch') event.add('tfc:usable_in_wooden_bucket', 'tfg:conifer_pitch') - event.add('tfc:usable_in_red_steel_bucket', 'tfg:conifer_pitch') - event.add('tfc:usable_in_blue_steel_bucket', 'tfg:conifer_pitch') + event.add('tfc:usable_in_red_steel_bucket', 'tfg:conifer_pitch') + event.add('tfc:usable_in_blue_steel_bucket', 'tfg:conifer_pitch') } const registerTFGBiomeTags = (event) => { - //#region TFG Structure Biomes + // #region TFG Structure Biomes + event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains') event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands') @@ -319,7 +320,8 @@ const registerTFGBiomeTags = (event) => { event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains') event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains') - //#endregion + + // #endregion // #region Nether biomes @@ -362,60 +364,15 @@ const registerTFGBiomeTags = (event) => { const registerTFGPlacedFeatures = (event) => { - // #region Nether ores + registerTFGOreVeinFeatures(event); + + // #region Nether event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe') - // Lower only - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_naquadah') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sylvite') - - // Full height - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnierite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_gold') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_graphite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_hematite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_limonite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_magnetite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_molybdenum') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_pitchblende') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_quartz') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sapphire') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_scheelite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sheldonite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_topaz') - - // Upper only - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_anthracite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_apatite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_basaltic_sands') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_bauxite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_beryllium') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_cassiterite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_copper') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet_tin') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lapis') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lubricant') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_manganese') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_monazite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_mica') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_olivine') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_redstone') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_saltpeter') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_silver') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sphalerite') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sulfur') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_tetrahedrite') - - // #endregion - - - // #region Nether decorations - event.add('tfg:nether_underground_decoration', 'minecraft:spring_open') - event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed') + event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') // #endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.veins.js b/kubejs/server_scripts/tfg/tags.veins.js new file mode 100644 index 000000000..611f42523 --- /dev/null +++ b/kubejs/server_scripts/tfg/tags.veins.js @@ -0,0 +1,129 @@ +// priority: 0 + +// This file was generated by OresToFieldGuide, do not manually edit + +const registerTFGOreVeinFeatures = (event) => { + + // #region earth ores + + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_amethyst') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_opal') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_gold') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_hematite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_limonite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_magnetite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_molybdenum') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_pitchblende') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sapphire') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_scheelite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sheldonite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_topaz') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_apatite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_basaltic_sands') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bauxite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_beryllium') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bismuthinite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_cassiterite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_coal') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_copper') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnet_tin') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnierite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_gold') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_graphite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_hematite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lapis') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_limonite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lubricant') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_magnetite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_manganese') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_mica') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_monazite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_oilsands') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_olivine') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_quartz') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_redstone') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_salt') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_saltpeter') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_silver') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_copper') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_sphalerite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_tetrahedrite') + + // #endregion + + + // #region moon ores + + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_apatite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_bauxite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_beryllium') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_desh') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_diopside') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_enstatite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_fayalite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_garnierite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_magnetite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_mica') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_molybdenum') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_monazite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_olivine') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_plutonium') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_quartz') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_redstone') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_saltpeter') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_sapphire') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_scheelite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_sheldonite') + event.add('tfg:moon_veins', 'tfg:moon/vein/moon_silver') + + // #endregion + + + // #region nether ores + + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_anthracite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_apatite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_basaltic_sands') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_bauxite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_beryllium') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_cassiterite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_copper') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnet_tin') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_garnierite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_goethite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_gold') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_graphite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_hematite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lapis') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_lubricant') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_magnetite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_manganese') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_mica') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_molybdenum') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_monazite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_naquadah') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_olivine') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_pitchblende') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_quartz') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_redstone') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_saltpeter') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sapphire') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_scheelite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sheldonite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_silver') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sphalerite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sulfur') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sylvite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_tetrahedrite') + event.add('tfg:nether_veins', 'tfg:nether/vein/nether_topaz') + + // #endregion + +} From df499fc8ff12ab3ac8e3360e2864026d60bd407f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 May 2025 00:36:40 +0100 Subject: [PATCH 02/62] changelog for #947 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e279eecaa..991342dda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## [Unreleased] ### Changes +- Create Steam Engine now also accepts river water and GregTech steam as valid inputs (#947) @Zeropol ## [0.9.9] - 30.05.2025 ### Changes From 2bf3746f335981d2d0cb4166fe0266ddc6771309 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Fri, 30 May 2025 02:24:11 -0500 Subject: [PATCH 03/62] - Changed the weird assembler piston recipe. (#1092) * - Changed the weird assembler piston recipe. * - Updated Changelog --- CHANGELOG.md | 1 + kubejs/server_scripts/minecraft/recipes.js | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 991342dda..39ad9084c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## [Unreleased] ### Changes - Create Steam Engine now also accepts river water and GregTech steam as valid inputs (#947) @Zeropol +- Changed weird assembler piston recipe (#1092) @Redeix ## [0.9.9] - 30.05.2025 ### Changes diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f4d96fd6b..bf44ab3f7 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -602,13 +602,13 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Выход: Поршень + //#region Выход: Поршень (Piston) event.recipes.gtceu.assembler('piston') - .itemInputs('#forge:plates/wrought_iron', '3x tfc:wood/planks/acacia', '4x #tfc:rock/raw') - .itemOutputs('4x minecraft:piston') + .itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1),ChemicalHelper.get(TagPrefix.gearSmall, GTMaterials.Brass, 1) , '3x #tfc:lumber', '4x #forge:cobblestone') + .itemOutputs('2x minecraft:piston') .duration(100) - .EUt(16) + .EUt(GTValues.VA[GTValues.LV]) //#endregion From 261a266450dd07efeea5baace596f64d03c4156e Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 30 May 2025 15:26:16 +0500 Subject: [PATCH 04/62] Update pakku.json --- pakku.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pakku.json b/pakku.json index 88adb5085..d0db97959 100644 --- a/pakku.json +++ b/pakku.json @@ -197,12 +197,24 @@ "fix-gpu-memory-leak": { "side": "CLIENT" }, + "tfc-support-indicator": { + "side": "CLIENT" + }, "immediatelyfast": { "side": "CLIENT" }, "unilib": { "side": "CLIENT" }, + "fast-ip-ping": { + "side": "CLIENT" + }, + "badoptimizations": { + "side": "CLIENT" + }, + "entityculling": { + "side": "CLIENT" + }, "resourceful-config": { "side": "BOTH" }, From c24ac801bd8eacfeb311b497116a54d315cdf463 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 30 May 2025 15:26:16 +0500 Subject: [PATCH 05/62] Update pakku.json --- pakku.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pakku.json b/pakku.json index 33066bf48..cf86ab129 100644 --- a/pakku.json +++ b/pakku.json @@ -1,6 +1,6 @@ { "name": "TerraFirmaGreg-Modern", - "version": "0.9.8", + "version": "0.9.9", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [ @@ -194,6 +194,27 @@ "rainboows": { "side": "CLIENT" }, + "fix-gpu-memory-leak": { + "side": "CLIENT" + }, + "tfc-support-indicator": { + "side": "CLIENT" + }, + "immediatelyfast": { + "side": "CLIENT" + }, + "unilib": { + "side": "CLIENT" + }, + "fast-ip-ping": { + "side": "CLIENT" + }, + "badoptimizations": { + "side": "CLIENT" + }, + "entityculling": { + "side": "CLIENT" + }, "resourceful-config": { "side": "BOTH" }, From 0828126688a082c009411ee3f54a466f776d6193 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 May 2025 14:55:21 +0100 Subject: [PATCH 06/62] removed spark because it makes macos crash (fixes #1096) --- pakku-lock.json | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 9baf07791..0ed0e8c16 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -8626,43 +8626,6 @@ "date_published": "2023-11-20T20:55:45.500Z" } ] - }, - { - "pakku_id": "3odYFxvo4asU0ho7", - "type": "MOD", - "slug": { - "curseforge": "spark" - }, - "name": { - "curseforge": "spark" - }, - "id": { - "curseforge": "361579" - }, - "files": [ - { - "type": "curseforge", - "file_name": "spark-1.10.53-forge.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4738/952/spark-1.10.53-forge.jar", - "id": "4738952", - "parent_id": "361579", - "hashes": { - "sha1": "231fb325368c0660954f47bfb03493f5246fa4d1", - "md5": "95dcd3b5400cc5eb5d0478a744e6ef98" - }, - "required_dependencies": [], - "size": 3114590, - "date_published": "2023-09-05T08:02:20.050Z" - } - ] } ], "lockfile_version": 1 From 6ad1717237887a7b3df4bae3c538930a9c2d7b6a Mon Sep 17 00:00:00 2001 From: TomPlop Date: Fri, 30 May 2025 14:58:37 -0400 Subject: [PATCH 07/62] Fix for Hopper conflict with Assembler (#1098) --- kubejs/server_scripts/gregtech/recipes.js | 10 ---------- kubejs/server_scripts/minecraft/recipes.js | 1 + 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 20c679511..03e212afa 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1078,16 +1078,6 @@ const registerGTCEURecipes = (event) => { //#endregion - //#region Hopper - - event.recipes.gtceu.assembler('gtceu:assembler/hopper_wrought_iron') - .itemInputs('#forge:chests', '5x #forge:plates/wrought_iron') - .itemOutputs('minecraft:hopper') - .circuit(8) - .duration(200) - .EUt(2) - - //#endregion //#region Credits diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index bf44ab3f7..493a84dcb 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -597,6 +597,7 @@ const registerMinecraftRecipes = (event) => { event.recipes.gtceu.assembler('hopper_wrought_iron') .itemInputs('#forge:chests', '5x #forge:plates/wrought_iron') .itemOutputs('minecraft:hopper') + .circuit(8) .duration(700) .EUt(2) From 3055a9a230bbfc20de2d365976362dea7e283571 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 May 2025 22:45:40 +0100 Subject: [PATCH 08/62] removed dogs and cats from the carryon whitelist because it was getting in the way of the keybind to assign commands to them --- config/carryon-common.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/carryon-common.toml b/config/carryon-common.toml index 32adb1159..e0832b465 100644 --- a/config/carryon-common.toml +++ b/config/carryon-common.toml @@ -57,7 +57,7 @@ [whitelist] #Whitelist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config #Entities that CAN be picked up (useWhitelistEntities must be true) - allowedEntities = ["tfc:turkey", "tfc:dog", "tfc:isopod", "tfc:lobster", "tfc:frog", "tfc:penguin", "tfc:turtle", "tfc:horseshoe_crab", "tfc:crayfish", "tfc:grouse", "tfc:pheasant", "tfc:peafowl", "tfc:rat", "tfc:cat", "tfc:chicken", "tfc:duck", "tfc:quail", "tfc:rabbit"] + allowedEntities = ["tfc:turkey", "tfc:isopod", "tfc:lobster", "tfc:frog", "tfc:penguin", "tfc:turtle", "tfc:horseshoe_crab", "tfc:crayfish", "tfc:grouse", "tfc:pheasant", "tfc:peafowl", "tfc:rat", "tfc:chicken", "tfc:duck", "tfc:quail", "tfc:rabbit"] #Blocks that CAN be picked up (useWhitelistBlocks must be true) allowedBlocks = ["framedblocks:framed_chest", "tfc:wood/chest/*", "tfc:wood/trapped_chest/*", "afc:wood/chest/*", "afc:wood/trapped_chest/*", "#forge:chests/wooden"] #Entities that CAN have other entities stacked on top of them (useWhitelistStacking must be true) From eb182e18b8f9dbad8a90d24e42e251856f592244 Mon Sep 17 00:00:00 2001 From: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> Date: Fri, 30 May 2025 20:22:34 -0300 Subject: [PATCH 09/62] Stick Bundling (#1101) Just packer recipes to make compacting sticks easier Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --- kubejs/server_scripts/gregtech/recipes.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 03e212afa..962e4185b 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1017,6 +1017,24 @@ const registerGTCEURecipes = (event) => { //#endregion + //#region Stick Packing + + event.recipes.gtceu.packer('tfg:stick_bunch') + .itemInputs('9x #forge:rods/wooden') + .circuit(5) + .itemOutputs('tfc:stick_bunch') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.packer('tfg:stick_bundle') + .itemInputs('18x #forge:rods/wooden') + .circuit(8) + .itemOutputs('tfc:stick_bundle') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + //#endregion + //#region Changing tiers of decomposition recipes event.recipes.gtceu.electrolyzer('gtceu:decomposition_electrolyzing_clay') From 5efc7a607deb607ff33dd4ad3c5655b3899c8061 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 00:28:26 +0100 Subject: [PATCH 10/62] removed the "nether hint vein" because it's just confusing people --- .../earth/nether_hint_vein.json | 81 ------------------- .../earth/nether_hint_vein.json | 4 - kubejs/server_scripts/tfc/tags.js | 2 - 3 files changed, 87 deletions(-) delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json b/kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json deleted file mode 100644 index ed35b0bf0..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/nether_hint_vein.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "type": "tfc:pipe_vein", - "config": { - "rarity": 40, - "density": 0.8, - "min_y": -64, - "max_y": -48, - "random_name": "nether_hint_vein", - "min_skew": 6, - "max_skew": 18, - "min_slant": 0, - "max_slant": 4, - "sign": 0.3, - "height": 30, - "radius": 5, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite", - "tfc:rock/raw/andesite", - "tfc:rock/raw/dacite", - "tfc:rock/raw/basalt", - "tfc:rock/raw/schist", - "tfc:rock/raw/gneiss", - "tfc:rock/raw/gabbro", - "tfc:rock/raw/granite", - "tfc:rock/raw/diorite", - "tfc:rock/raw/quartzite", - "tfc:rock/raw/slate", - "tfc:rock/raw/phyllite", - "tfc:rock/raw/marble", - "tfc:rock/raw/shale", - "tfc:rock/raw/claystone", - "tfc:rock/raw/limestone", - "tfc:rock/raw/conglomerate", - "tfc:rock/raw/dolomite", - "tfc:rock/raw/chert", - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "minecraft:deepslate", - "weight": 60 - }, - { - "block": "minecraft:blackstone", - "weight": 30 - }, - { - "block": "gtceu:deepslate_nether_quartz_ore", - "weight": 5 - }, - { - "block": "minecraft:glowstone", - "weight": 10 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 1, - "underground_rarity": 40, - "underground_count": 400, - "blocks": [ - { - "block": "tfg:loose/deepslate", - "weight": 60 - }, - { - "block": "beneath:blackstone_pebble", - "weight": 20 - }, - { - "block": "gtceu:nether_quartz_bud_indicator", - "weight": 10 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json b/kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json deleted file mode 100644 index 5220dda23..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/nether_hint_vein.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:earth/nether_hint_vein", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index f8f92c7ee..112706c76 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -533,8 +533,6 @@ const registerTFCPlacedFeatures = (event) => { event.add('tfc:in_biome/veins', 'tfg:earth/geode/quartzite') // Other decoration - event.add('tfc:in_biome/veins', 'tfg:earth/nether_hint_vein') - event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen') event.add('tfc:in_biome/underground_decoration', 'tfg:earth/sulfur_patch') } \ No newline at end of file From 43d37179006c2bc2c76a1750ab6f44360efede5d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 02:33:41 +0100 Subject: [PATCH 11/62] brazilian portuguese langs --- kubejs/assets/tfg/lang/pt_br.json | 512 ++++++++++++++++++++++++++++++ 1 file changed, 512 insertions(+) create mode 100644 kubejs/assets/tfg/lang/pt_br.json diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json new file mode 100644 index 000000000..f2baedcc4 --- /dev/null +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -0,0 +1,512 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "biome.tfg.nether/basalt_deltas": "Deltas de Basalto", + "biome.tfg.nether/decaying_caverns": "Cavernas em Decomposição", + "biome.tfg.nether/lush_hollow": "Vale Viçoso", + "biome.tfg.nether/webbed_lair": "Covil com Teias", + "biome.tfg.nether/ash_forest": "Floresta de Cinzas", + "biome.tfg.nether/lava_floes": "Placas de Lava", + "biome.tfg.nether/diorite_caves": "Cavernas Profundas", + "biome.tfg.nether/gabbro_caves": "Cavernas Profundas", + "biome.tfg.nether/gneiss_caves": "Cavernas Profundas", + "biome.tfg.nether/granite_caves": "Cavernas Profundas", + "biome.tfg.nether/schist_caves": "Cavernas Profundas", + "biome.tfg.moon/lunar_asurine_dense": "Campos de Certus", + "biome.tfg.moon/lunar_asurine_sparse": "Campos de Asurina", + "biome.tfg.moon/lunar_chorus_dense": "Bosque do Coro", + "biome.tfg.moon/lunar_chorus_sparse": "Florestas do Coro", + "biome.tfg.moon/lunar_corals_dense": "Recife Lunar", + "biome.tfg.moon/lunar_corals_sparse": "Mare Lunar", + "biome.tfg.moon/lunar_lights_dense": "Mirantes Estelares de Lightbloom", + "biome.tfg.moon/lunar_lights_sparse": "Arbustos de Lightbloom", + "biome.tfg.moon/lunar_plains": "Planícies Lunares", + "block.tfg.decorative_vase.black": "Vaso Decorativo Preto", + "block.tfg.decorative_vase.gray": "Vaso Decorativo Cinza", + "block.tfg.decorative_vase.light_gray": "Vaso Decorativo Cinza Claro", + "block.tfg.decorative_vase.white": "Vaso Decorativo Branco", + "block.tfg.decorative_vase.pink": "Vaso Decorativo Rosa", + "block.tfg.decorative_vase.magenta": "Vaso Decorativo Magenta", + "block.tfg.decorative_vase.purple": "Vaso Decorativo Roxo", + "block.tfg.decorative_vase.blue": "Vaso Decorativo Azul", + "block.tfg.decorative_vase.light_blue": "Vaso Decorativo Azul Claro", + "block.tfg.decorative_vase.cyan": "Vaso Decorativo Ciano", + "block.tfg.decorative_vase.green": "Vaso Decorativo Verde", + "block.tfg.decorative_vase.lime": "Vaso Decorativo Verde Limão", + "block.tfg.decorative_vase.yellow": "Vaso Decorativo Amarelo", + "block.tfg.decorative_vase.orange": "Vaso Decorativo Laranja", + "block.tfg.decorative_vase.red": "Vaso Decorativo Vermelho", + "block.tfg.decorative_vase.brown": "Vaso Decorativo Marrom", + "block.tfg.decorative_vase.unfired": "Vaso Decorativo Inacabado", + "block.tfg.decorative_vase.unfired.black": "Vaso Decorativo Preto Inacabado", + "block.tfg.decorative_vase.unfired.gray": "Vaso Decorativo Cinza Inacabado", + "block.tfg.decorative_vase.unfired.light_gray": "Vaso Decorativo Cinza Claro Inacabado", + "block.tfg.decorative_vase.unfired.white": "Vaso Decorativo Branco Inacabado", + "block.tfg.decorative_vase.unfired.pink": "Vaso Decorativo Rosa Inacabado", + "block.tfg.decorative_vase.unfired.magenta": "Vaso Decorativo Magenta Inacabado", + "block.tfg.decorative_vase.unfired.purple": "Vaso Decorativo Roxo Inacabado", + "block.tfg.decorative_vase.unfired.blue": "Vaso Decorativo Azul Inacabado", + "block.tfg.decorative_vase.unfired.light_blue": "Vaso Decorativo Azul Claro Inacabado", + "block.tfg.decorative_vase.unfired.cyan": "Vaso Decorativo Ciano Inacabado", + "block.tfg.decorative_vase.unfired.green": "Vaso Decorativo Verde Inacabado", + "block.tfg.decorative_vase.unfired.lime": "Vaso Decorativo Verde Limão Inacabado", + "block.tfg.decorative_vase.unfired.yellow": "Vaso Decorativo Amarelo Inacabado", + "block.tfg.decorative_vase.unfired.orange": "Vaso Decorativo Laranja Inacabado", + "block.tfg.decorative_vase.unfired.red": "Vaso Decorativo Vermelho Inacabado", + "block.tfg.decorative_vase.unfired.brown": "Vaso Decorativo Marrom Inacabado", + "block.tfg.decorative_vase.generated.black": "Vaso de Espólio Preto", + "block.tfg.decorative_vase.generated.gray": "Vaso de Espólio Cinza", + "block.tfg.decorative_vase.generated.light_gray": "Vaso de Espólio Cinza Claro", + "block.tfg.decorative_vase.generated.white": "Vaso de Espólio Branco", + "block.tfg.decorative_vase.generated.pink": "Vaso de Espólio Rosa", + "block.tfg.decorative_vase.generated.magenta": "Vaso de Espólio Magenta", + "block.tfg.decorative_vase.generated.purple": "Vaso de Espólio Roxo", + "block.tfg.decorative_vase.generated.blue": "Vaso de Espólio Azul", + "block.tfg.decorative_vase.generated.light_blue": "Vaso de Espólio Azul Claro", + "block.tfg.decorative_vase.generated.cyan": "Vaso de Espólio Ciano", + "block.tfg.decorative_vase.generated.green": "Vaso de Espólio Verde", + "block.tfg.decorative_vase.generated.lime": "Vaso de Espólio Verde Limão", + "block.tfg.decorative_vase.generated.yellow": "Vaso de Espólio Amarelo", + "block.tfg.decorative_vase.generated.orange": "Vaso de Espólio Laranja", + "block.tfg.decorative_vase.generated.red": "Vaso de Espólio Vermelho", + "block.tfg.decorative_vase.generated.brown": "Vaso de Espólio Marrom", + "block.tfg.light_concrete_support": "Suporte de Concreto Claro", + "block.tfg.light_concrete_support_horizontal": "Suporte Horizontal de Concreto Claro", + "block.tfg.dark_concrete_support": "Suporte de Concreto Escuro", + "block.tfg.dark_concrete_support_horizontal": "Suporte Horizontal de Concreto Escuro", + "block.tfg.reinforced_light_concrete_support": "Suporte de Concreto Claro Reforçado", + "block.tfg.reinforced_light_concrete_support_horizontal": "Suporte Horizontal de Concreto Claro Reforçado", + "block.tfg.reinforced_dark_concrete_support": "Suporte de Concreto Escuro Reforçado", + "block.tfg.reinforced_dark_concrete_support_horizontal": "Suporte Horizontal de Concreto Escuro Reforçado", + "block.tfg.rebar_support": "Suporte de Vergalhão", + "block.tfg.rebar_support_horizontal": "Suporte Horizontal de Vergalhão", + "block.tfg.steel_support": "Suporte de Aço", + "block.tfg.steel_support_horizontal": "Suporte Horizontal de Aço", + "block.tfg.gabbro_support_horizontal": "Suporte Horizontal de Gabro", + "block.tfg.gabbro_support": "Suporte de Gabro", + "block.tfg.shale_support_horizontal": "Suporte Horizontal de Shale", + "block.tfg.shale_support": "Suporte de Shale", + "block.tfg.claystone_support_horizontal": "Suporte Horizontal de Arenito", + "block.tfg.claystone_support": "Suporte de Arenito", + "block.tfg.limestone_support_horizontal": "Suporte Horizontal de Calcário", + "block.tfg.limestone_support": "Suporte de Calcário", + "block.tfg.conglomerate_support_horizontal": "Suporte Horizontal de Conglomerado", + "block.tfg.conglomerate_support": "Suporte de Conglomerado", + "block.tfg.dolomite_support_horizontal": "Suporte Horizontal de Dolomita", + "block.tfg.Dolomite_support": "Suporte de Dolomita", + "block.tfg.chert_support_horizontal": "Suporte Horizontal de Cherte", + "block.tfg.chert_support": "Suporte de Cherte", + "block.tfg.chalk_support_horizontal": "Suporte Horizontal de Calcário Branco", + "block.tfg.chalk_support": "Suporte de Calcário Branco", + "block.tfg.rhyolite_support_horizontal": "Suporte Horizontal de Riolito", + "block.tfg.rhyolite_support": "Suporte de Riolito", + "block.tfg.dacite_support_horizontal": "Suporte Horizontal de Dacito", + "block.tfg.dacite_support": "Suporte de Dacito", + "block.tfg.quartzite_support_horizontal": "Suporte Horizontal de Quartzito", + "block.tfg.quartzite_support": "Suporte de Quartzito", + "block.tfg.slate_support_horizontal": "Suporte Horizontal de Ardósia", + "block.tfg.slate_support": "Suporte de Ardósia", + "block.tfg.phyllite_support_horizontal": "Suporte Horizontal de Filito", + "block.tfg.phyllite_support": "Suporte de Filito", + "block.tfg.schist_support_horizontal": "Suporte Horizontal de Schisto", + "block.tfg.schist_support": "Suporte de Schisto", + "block.tfg.gneiss_support_horizontal": "Suporte Horizontal de Gneisse", + "block.tfg.gneiss_support": "Suporte de Gneisse", + "block.tfg.marble_support_horizontal": "Suporte Horizontal de Mármore", + "block.tfg.marble_support": "Suporte de Mármore", + "block.tfg.basalt_support_horizontal": "Suporte Horizontal de Basalto", + "block.tfg.basalt_support": "Suporte de Basalto", + "block.tfg.diorite_support_horizontal": "Suporte Horizontal de Diorito", + "block.tfg.diorite_support": "Suporte de Diorito", + "block.tfg.andesite_support_horizontal": "Suporte Horizontal de Andesito", + "block.tfg.andesite_support": "Suporte de Andesito", + "block.tfg.granite_support_horizontal": "Suporte Horizontal de Granito", + "block.tfg.granite_support": "Suporte de Granito", + "block.tfg.pyroxenite_support_horizontal": "Suporte Horizontal de Piroxenito", + "block.tfg.pyroxenite_support": "Suporte de Piroxenito", + "block.tfg.migmatite_support_horizontal": "Suporte Horizontal de Migmatito", + "block.tfg.migmatite_support": "Suporte de Migmatito", + "block.tfg.travertine_support_horizontal": "Suporte Horizontal de Travertino", + "block.tfg.travertine_support": "Suporte de Travertino", + "block.tfg.rock.hardened_deepslate": "Migmatito Endurecido", + "block.tfg.rock.hardened_blackstone": "Piroxenito Endurecido", + "block.tfg.rock.hardened_dripstone": "Travertino Endurecido", + "block.tfg.spike.deepslate_spike": "Espinho de Migmatito", + "block.tfg.spike.blackstone_spike": "Espinho de Piroxenito", + "block.tfg.spike.dripstone_spike": "Espinho de Travertino", + "block.tfg.loose.deepslate": "Rocha Solta de Migmatito", + "block.tfg.loose.dripstone": "Rocha Solta de Travertino", + "block.tfg.rock.hardened_moon_stone": "Anortosito Endurecido", + "block.tfg.spike.moon_stone_spike": "Espinho de Anortosito", + "block.tfg.loose.moon_stone": "Rocha Solta de Anortosito", + "block.tfg.rock.hardened_moon_deepslate": "Norito Endurecido", + "block.tfg.spike.moon_deepslate_spike": "Espinho de Norito", + "block.tfg.loose.moon_deepslate": "Rocha Solta de Norito", + "block.tfg.rock.hardened_mars_stone": "Argilito Endurecido", + "block.tfg.spike.mars_stone_spike": "Espinho de Argilito", + "block.tfg.loose.mars_stone": "Rocha Solta de Argilito", + "block.tfg.rock.hardened_venus_stone": "Traquito Endurecido", + "block.tfg.spike.venus_stone_spike": "Espinho de Traquito", + "block.tfg.loose.venus_stone": "Rocha Solta de Traquito", + "block.tfg.rock.hardened_mercury_stone": "Komatiito Endurecido", + "block.tfg.spike.mercury_stone_spike": "Espinho de Komatiito", + "block.tfg.loose.mercury_stone": "Rocha Solta de Komatiito", + "block.tfg.rock.hardened_glacio_stone": "Fonolito Endurecido", + "block.tfg.spike.glacio_stone_spike": "Espinho de Fonolito", + "block.tfg.loose.glacio_stone": "Rocha Solta de Fonolito", + "block.tfg.rock.hardened_permafrost": "Permafrost Endurecido", + "block.tfg.spike.permafrost_spike": "Espinho de Permafrost", + "block.tfg.loose.permafrost": "Pedaço de Permafrost", + "block.tfg.lunar_roots": "Lightblooms Lunares", + "block.tfg.lunar_sprouts": "Grama-luz Lunar", + "block.tfg.lunar_chorus_plant": "Planta do Coro", + "block.tfg.lunar_chorus_flower": "Flor do Coro", + "block.tfg.piglin_disguise_block": "Disfarce de Piglin", + "item.tfg.antipoison_pill": "Pílula Antiveneno", + "item.tfg.haste_pill": "Pílula de Pressa", + "item.tfg.night_vision_pill": "Pílula de Visão Noturna", + "item.tfg.poison_pill": "Pílula de Veneno", + "item.tfg.regeneration_pill": "Pílula de Regeneração", + "item.tfg.slowness_pill": "Pílula de Lentidão", + "item.tfg.speed_pill": "Pílula de Velocidade", + "item.tfg.water_breathing_pill": "Pílula de Respiração Aquática", + "item.tfg.weakness_pill": "Pílula de Fraqueza", + "item.tfg.antipoison_tablet": "Comprimido Antiveneno", + "item.tfg.haste_tablet": "Comprimido de Pressa", + "item.tfg.night_vision_tablet": "Comprimido de Visão Noturna", + "item.tfg.poison_tablet": "Comprimido de Veneno", + "item.tfg.regeneration_tablet": "Comprimido de Regeneração", + "item.tfg.slowness_tablet": "Comprimido de Lentidão", + "item.tfg.speed_tablet": "Comprimido de Velocidade", + "item.tfg.water_breathing_tablet": "Comprimido de Respiração Aquática", + "item.tfg.weakness_tablet": "Comprimido de Fraqueza", + "item.tfg.absorption_salvo": "Pomada de Absorção", + "item.tfg.fire_resistance_salvo": "Pomada de Resistência ao Fogo", + "item.tfg.instant_health_salvo": "Pomada de Cura Instantânea", + "item.tfg.invisibility_salvo": "Pomada de Invisibilidade", + "item.tfg.luck_salvo": "Pomada de Sorte", + "item.tfg.resistance_salvo": "Pomada de Resistência", + "item.tfg.paraffin_wax": "Cera de Parafina", + "item.tfg.flint_arrow_head": "Ponta de Flecha de Sílex", + "item.tfg.fletching": "Plumagem de Flecha", + "item.tfg.phantom_silk": "Seda Fastasma", + "item.tfg.phantom_thread": "Linha Fantasma", + "item.tfg.polycaprolactam_fabric": "Tecido de Policaprolactama", + "item.tfg.polycaprolactam_string": "Linha de Policaprolactama", + "item.tfg.fishing_net.wood": "Rede de Pesca de Madeira", + "item.tfg.fishing_net.brass": "Rede de Pesca de Latão", + "item.tfg.fishing_net.rose_gold": "Rede de Pesca de Ouro Rosé", + "item.tfg.fishing_net.sterling_silver": "Rede de Pesca de Prata Esterlina", + "item.tfg.fishing_net.invar": "Rede de Pesca de Invar", + "item.tfg.fishing_net.cupronickel": "Rede de Pesca de Cuproníquel", + "item.tfg.fishing_net.tin_alloy": "Rede de Pesca de Liga de Estanho", + "item.tfg.fishing_net.magnalium": "Rede de Pesca de Magnálio", + "item.tfg.conifer_rosin": "Resina de Conífera", + "item.tfg.hardwood_strip": "Tira de Hardwood", + "item.tfg.soaked_hardwood_strip": "Tira de Hardwood Encharcada", + "item.tfg.prepared_leather_gloves": "Luvas de Couro Preparadas", + "item.tfg.latex_soaked_gloves": "Luvas Encharcadas em Látex", + "item.tfg.spade_head_extruder_mold": "Molde de Extrusora (Cabeça de Pá de Jardim)", + "item.tfg.unfired_chalk": "Bastão de Giz Molhado", + "item.tfg.armor_stand_arms": "Suporte de Armadura com Braços", + "item.tfg.brick.deepslate": "Tijolo de Migmatito", + "item.tfg.loose.moon_stone": "Anortosito Solto", + "item.tfg.brick.moon_stone": "Tijolo de Anortosito", + "item.tfg.loose.moon_deepslate": "Norito Solto", + "item.tfg.loose.mars_stone": "Argilito Solto", + "item.tfg.brick.mars_stone": "Tijolo de Argilito", + "item.tfg.loose.venus_stone": "Traquito Solto", + "item.tfg.brick.venus_stone": "Tijolo de Traquito", + "item.tfg.loose.mercury_stone": "Komatiito Solto", + "item.tfg.brick.mercury_stone": "Tijolo de Komatiito", + "item.tfg.loose.glacio_stone": "Fonolito Solto", + "item.tfg.brick.glacio_stone": "Tijolo de Fonolito", + "item.tfg.loose.permafrost": "Pedaço de Permafrost", + "item.tfg.brick.permafrost": "Tijolo de Permafrost", + "item.tfg.terra_firma_greg": "TerraFirmaGreg", + "item.tfg.scaffolding_frame": "Estrutura de Andaime", + "item.tfg.airship_hull": "Casco de Dirigível", + "item.tfg.airship_balloon": "Balão de Dirigível", + "item.tfg.lv_aircraft_engine": "Motor Aeronáutico LV", + "item.tfg.hv_aircraft_engine": "Motor Aeronáutico HV", + "item.tfg.ev_aircraft_engine": "Motor Aeronáutico EV", + "item.tfg.black_steel_plated_airplane_propeller": "Hélice de Avião Revestida com Aço Negro", + "item.tfg.redblu_steel_plated_airplane_propeller": "Hélice de Avião Revestida com Aço Vermelho & Azul", + "item.tfg.stainless_steel_plated_airplane_propeller": "Hélice de Avião Revestida com Aço Inoxidável", + "item.tfg.titanium_plated_airplane_propeller": "Hélice de Avião Revestida com Titânio", + "item.tfg.redblu_steel_landing_gear": "Pouso de Aço Vermelho & Azul", + "item.tfg.aluminium_landing_gear": "Pouso de Alumínio", + "item.tfg.stainless_steel_landing_gear": "Pouso de Aço Inoxidável", + "item.tfg.titanium_landing_gear": "Pouso de Titânio", + "item.tfg.redblu_steel_hull_reinforcement": "Reforço de Casco de Aço Vermelho & Azul", + "item.tfg.aluminium_hull_reinforcement": "Reforço de Casco de Alumínio", + "item.tfg.stainless_steel_hull_reinforcement": "Reforço de Casco de Aço Inoxidável", + "item.tfg.titanium_hull_reinforcement": "Reforço de Casco de Titânio", + "item.tfg.ulv_universal_circuit": "Circuito Universal ULV", + "item.tfg.lv_universal_circuit": "Circuito Universal LV", + "item.tfg.mv_universal_circuit": "Circuito Universal MV", + "item.tfg.hv_universal_circuit": "Circuito Universal HV", + "item.tfg.ev_universal_circuit": "Circuito Universal EV", + "item.tfg.iv_universal_circuit": "Circuito Universal IV", + "item.tfg.luv_universal_circuit": "Circuito Universal LuV", + "item.tfg.zpm_universal_circuit": "Circuito Universal ZPM", + "item.tfg.uv_universal_circuit": "Circuito Universal UV", + "item.tfg.uhv_universal_circuit": "Circuito Universal UHV", + "item.tfg.piglin_disguise": "Disfarce de Piglin", + "material.tfg.latex": "Látex", + "material.tfg.vulcanized_latex": "Látex Vulcanizado", + "material.tfg.fluix": "Fluix", + "material.tfg.conifer_pitch": "Piche de Conífera", + "material.gtceu.lactose": "Lactose", + "material.tfg.gabbro": "Gabro", + "material.tfg.shale": "Shale", + "material.tfg.claystone": "Arenito", + "material.tfg.limestone": "Calcário", + "material.tfg.conglomerate": "Conglomerado", + "material.tfg.dolomite": "Dolomita", + "material.tfg.chert": "Cherte", + "material.tfg.rhyolite": "Riolito", + "material.tfg.dacite": "Dacito", + "material.tfg.slate": "Slate", + "material.tfg.phyllite": "Filito", + "material.tfg.schist": "Schisto", + "material.tfg.gneiss": "Gneisse", + "material.tfg.chalk": "Calcário Branco", + "material.tfg.moon_stone": "Anortosito", + "material.tfg.moon_deepslate": "Norito", + "material.tfg.mars_stone": "Argilito", + "material.tfg.venus_stone": "Traquito", + "material.tfg.mercury_stone": "Komatiito", + "material.tfg.glacio_stone": "Fonolito", + "material.gtceu.thermochemically_treated_hardwood": "Hardwood Termicamente Tratado", + "material.gtceu.hardwood": "Hardwood", + "tfg.disabled_portal": "A magia do portal parece estar bloqueada por uma força desconhecida, tente alcançar outra dimensão descendo ou subindo", + "item.treetap.tap": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.zinc_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.brass_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.vanadium_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.black_steel_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.red_steel_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.blue_steel_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.iron_double_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.black_steel_double_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.red_steel_double_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.blue_steel_double_ingot": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.zinc_nugget": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.brass_nugget": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.copper_nugget": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.vanadium_nugget": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.copper_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.brass_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.gold_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.iron_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.cobalt_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.rose_gold_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.aluminium_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.invar_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.lead_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.nickel_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.osmium_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.palladium_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.platinum_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.rhodium_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.silver_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.vanadium_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.zinc_plate": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.vanadium_block": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.zinc_block": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.brass_block": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.gold_purified_ore": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.copper_purified_ore": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.zinc_purified_ore": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.silver_purified_ore": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.tin_purified_ore": "Item Descontinuado, Crie para Atualizar", + "item.gtceu.lead_purified_ore": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_copper": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_copper": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_gold": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_gold": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_tetrahedrite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_tetrahedrite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_tetrahedrite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_malachite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_malachite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_malachite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_hematite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_hematite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_hematite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_cassiterite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_cassiterite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_cassiterite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_bismuth": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_bismuth": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_bismuth": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_magnetite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_magnetite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_magnetite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_yellow_limonite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_yellow_limonite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_yellow_limonite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_silver": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_silver": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_silver": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_garnierite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_garnierite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_garnierite": "Item Descontinuado, Crie para Atualizar", + "gtceu:rich_raw_sphalerite": "Item Descontinuado, Crie para Atualizar", + "gtceu:raw_sphalerite": "Item Descontinuado, Crie para Atualizar", + "gtceu:poor_raw_sphalerite": "Item Descontinuado, Crie para Atualizar", + "trim_material.tfc.almandine_tfc": "Almandina", + "trim_material.tfc.andradite_tfc": "Andradita", + "trim_material.tfc.blue_topaz_tfc": "Topázio Azul", + "trim_material.tfc.cinnabar_tfc": "Cinábrio", + "trim_material.tfc.coal_tfc": "Carvão", + "trim_material.tfc.diamond_tfc": "Diamante", + "trim_material.tfc.emerald_tfc": "Esmeralda", + "trim_material.tfc.green_sapphire_tfc": "Safira Verde", + "trim_material.tfc.grossular_tfc": "Grossulária", + "trim_material.tfc.rutile_tfc": "Rutilo", + "trim_material.tfc.lazurite_tfc": "Lazurita", + "trim_material.tfc.pyrope_tfc": "Piropo", + "trim_material.tfc.rock_salt_tfc": "Sal-gema", + "trim_material.tfc.ruby_tfc": "Rubi", + "trim_material.tfc.salt_tfc": "Sal", + "trim_material.tfc.sapphire_tfc": "Safira", + "trim_material.tfc.sodalite_tfc": "Sodalita", + "trim_material.tfc.coke_tfc": "Coke", + "trim_material.tfc.spessartine_tfc": "Espessartita", + "trim_material.tfc.topaz_tfc": "Topázio", + "trim_material.tfc.uvarovite_tfc": "Uvarovita", + "trim_material.tfc.nether_quartz_tfc": "Quartzo do Nether", + "trim_material.tfc.certus_quartz_tfc": "Quartzo Certus", + "trim_material.tfc.quartzite_tfc": "Quartzito", + "trim_material.tfc.realgar_tfc": "Réalgar", + "trim_material.tfc.malachite_tfc": "Malaquita", + "trim_material.tfc.glass_tfc": "Vidro", + "trim_material.tfc.olivine_tfc": "Olivina", + "trim_material.tfc.opal_tfc": "Opala", + "trim_material.tfc.amethyst_tfc": "Ametista", + "trim_material.tfc.lapis_tfc": "Lápis-lazúli", + "trim_material.tfc.apatite_tfc": "Apatita", + "trim_material.tfc.red_garnet_tfc": "Granada Vermelha", + "trim_material.tfc.yellow_garnet_tfc": "Granada Amarela", + "trim_material.tfc.monazite_tfc": "Monazita", + "trim_material.tfc.rose_quartz_tfc": "Quartzo Rosa", + "trim_material.tfc.fluix_tfc": "Fluix", + "trim_material.tfc.silver_tfc": "Prata", + "trim_material.tfc.sterling_silver_tfc": "Prata Esterlina", + "trim_material.tfc.gold_tfc": "Ouro", + "trim_material.tfc.rose_gold_tfc": "Ouro Rosé", + "trim_material.tfc.nickel_tfc": "Níquel", + "trim_material.tfc.platinum_tfc": "Platina", + "trim_material.tfc.titanium_tfc": "Titânio", + "trim_material.tfc.bismuth_tfc": "Bismuto", + "trim_material.tfc.neutronium_tfc": "Neutrônio", + "trim_material.tfc.pyrite_tfc": "Pirita", + "trim_material.tfc.redx_tfc": "RedX", + "tfc.jei.flint_knapping": "Talhar Sílex", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.white": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.pink": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.magenta": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.purple": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.blue": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_blue": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.cyan": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.green": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.lime": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.yellow": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.orange": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.red": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.brown": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block_on": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Tingimento", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Tingimento", + "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Preparação de Tiras de Hardwood", + "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "Tratar Tábuas de Madeira", + "tfc.recipe.barrel.tfg.barrel.packed_ice": "Congelar Gelo Compactado", + "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Resfriamento de Água", + "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Resfriamento de Água", + "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Resfriamento de Água", + "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Resfriamento de Água", + "tfc.recipe.barrel.tfg.sealed_barrel.prepared_leather_gloves": "Preparação de Luvas de Couro", + "tfg.grapplemod.repair": "Receita de reparo, mantém seus aprimoramentos. §lNUNCA combine dois ganchos ou você perderá TODOS os seus aprimoramentos!§r", + "tfg.grapplemod.upgrades.maxlen": "Aumenta o §lComprimento Máximo§r em 20, até 200.", + "tfg.grapplemod.downgrades.maxlen": "Diminui o §lComprimento Máximo§r em 20, até 20. (Corda de Juta é Retornada).", + "tfg.grapplemod.upgrades.motor.lv": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1\n§lAceleraçãoDoMotor§r definida para 0.125", + "tfg.grapplemod.upgrades.motor.mv": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1.14\n§lAceleraçãoDoMotor§r definida para 0.25", + "tfg.grapplemod.upgrades.motor.hv": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1.28\n§lAceleraçãoDoMotor§r definida para 0.375", + "tfg.grapplemod.upgrades.motor.ev": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1.42\n§lAceleraçãoDoMotor§r definida para 0.5", + "tfg.grapplemod.upgrades.motor.iv": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1.56\n§lAceleraçãoDoMotor§r definida para 0.625", + "tfg.grapplemod.upgrades.motor.luv": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1.7\n§lAceleraçãoDoMotor§r definida para 0.75", + "tfg.grapplemod.upgrades.motor.zpm": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 1.84\n§lAceleraçãoDoMotor§r definida para 0.875", + "tfg.grapplemod.upgrades.motor.uv": "Ativa a melhoria do §lMotor§r, enrolando automaticamente.\n§lVelocidadeMáximaDoMotor§r definida para 2\n§lAceleraçãoDoMotor§r definida para 1", + "tfg.grapplemod.downgrades.motor": "Desativa a melhoria do §lMotor§r, retornando o motor original.\nFunciona apenas se você usar o mesmo tipo de Motor de antes.", + "tfg.grapplemod.upgrades.smart_motor": "Ativa a melhoria do §lMotor Inteligente§r, requer um Motor instalado.", + "tfg.grapplemod.downgrades.smart_motor": "Desativa a melhoria do §lMotor Inteligente§r, pode ser removido com o Motor já desinstalado. Retorna o Circuito Eletrônico Básico.", + "tfg.grapplemod.upgrades.sticky": "Ativa a melhoria §lPegajosa§r, fazendo com que o gancho grude em qualquer bloco que a corda toque.", + "tfg.grapplemod.downgrades.sticky": "Desativa a melhoria §lPegajosa§r, retornando a Resina Pegajosa.", + "tfg.grapplemod.upgrades.forcefield.lv": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 0.625", + "tfg.grapplemod.upgrades.forcefield.mv": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 1.25", + "tfg.grapplemod.upgrades.forcefield.hv": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 1.875", + "tfg.grapplemod.upgrades.forcefield.ev": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 2.5", + "tfg.grapplemod.upgrades.forcefield.iv": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 3.125", + "tfg.grapplemod.upgrades.forcefield.luv": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 3.75", + "tfg.grapplemod.upgrades.forcefield.zpm": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 4.375", + "tfg.grapplemod.upgrades.forcefield.uv": "Ativa a melhoria do §lCampo de Força§r, repelindo você de blocos próximos enquanto usa o Gancho.\n§lForça de Repulsão§r definida para 5", + "tfg.grapplemod.downgrades.forcefield": "Desativa a melhoria do §lCampo de Força§r, retornando o Gerador de Campo original.\nFunciona apenas se você usar o mesmo tipo de Gerador de Campo de antes.", + "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Ativa a melhoria do §lÍmã§r, fazendo com que o gancho se prenda a blocos próximos.\n§lRaio de Atração§r definido para 1.25", + "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Ativa a melhoria do §lÍmã§r, fazendo com que o gancho se prenda a blocos próximos.\n§lRaio de Atração§r definido para 2.5", + "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Ativa a melhoria do §lÍmã§r, fazendo com que o gancho se prenda a blocos próximos.\n§lRaio de Atração§r definido para 3.75", + "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Ativa a melhoria do §lÍmã§r, fazendo com que o gancho se prenda a blocos próximos.\n§lRaio de Atração§r definido para 5", + "tfg.grapplemod.downgrades.magnet": "Desativa a melhoria do §lÍmã§r, retornando o Lingote Magnético original.\nFunciona apenas se você usar o mesmo tipo de Lingote Magnético de antes.", + "tfg.grapplemod.upgrades.gravity.0.5": "Reduz a §lGravidade§r do Gancho para 50% (1 -> 0.5)", + "tfg.grapplemod.downgrades.gravity.0.5": "Retorna a §lGravidade§r do Gancho para 100% (0.5 -> 1).\nO balde vazio será preenchido com o Hélio que você usou", + "tfg.grapplemod.upgrades.gravity.0": "Reduz a §lGravidade§r do Gancho para 0% (1 -> 0)", + "tfg.grapplemod.downgrades.gravity.0": "Retorna a §lGravidade§r do Gancho para 100% (0 -> 1).\nA Unidade do Motor de Gravitação será retornada.", + "tfg.grapplemod.upgrades.throwspeed.lv": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 2.25", + "tfg.grapplemod.upgrades.throwspeed.mv": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 2.5", + "tfg.grapplemod.upgrades.throwspeed.hv": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 2.75", + "tfg.grapplemod.upgrades.throwspeed.ev": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 3", + "tfg.grapplemod.upgrades.throwspeed.iv": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 3.25", + "tfg.grapplemod.upgrades.throwspeed.luv": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 3.5", + "tfg.grapplemod.upgrades.throwspeed.zpm": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 3.75", + "tfg.grapplemod.upgrades.throwspeed.uv": "Aumenta a §lVelocidade de Lançamento§r do Gancho, permitindo que ele viaje mais longe.\n§lVelocidade de Lançamento§r definida para 4", + "tfg.grapplemod.downgrades.throwspeed": "Redefine a §lVelocidade de Lançamento§r do Gancho para o normal, retornando o Pistão original.\nFunciona apenas se você usar o mesmo tipo de Pistão de antes.", + "tfg.grapplemod.upgrades.doublehook": "Adiciona um §lGancho Secundário§r ao seu Gancho de Escalada", + "tfg.grapplemod.downgrades.doublehook": "Remove o §lGancho Secundário§r do seu Gancho de Escalada", + "tfg.grapplemod.upgrades.vertical_throwing_angle": "Aumenta o §lÂngulo de Lançamento Vertical§r do gancho em 5°, até 90°.", + "tfg.grapplemod.downgrades.vertical_throwing_angle": "Diminui o §lÂngulo de Lançamento Vertical§r do gancho em 5°, até 0°.", + "tfg.grapplemod.upgrades.angle": "Aumenta o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 90°.\nApenas acessível com um §lGancho Duplo§r instalado.", + "tfg.grapplemod.downgrades.angle": "Diminui o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 5°.\nApenas acessível com um §lGancho Duplo§r instalado." +} \ No newline at end of file From d5d395f9c71808a26d1350a7587a559f02dcee3f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 02:36:53 +0100 Subject: [PATCH 12/62] langs for aqueous accumulator --- kubejs/assets/tfg/lang/en_us.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 20cac13c6..6f8b45469 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -21,6 +21,7 @@ "biome.tfg.moon/lunar_lights_sparse": "Lightbloom Scrubland", "biome.tfg.moon/lunar_plains": "Lunar Plains", "block.tfg.piglin_disguise": "Piglin Disguise", + "block.tfg.piglin_disguise_block": "Piglin Disguise", "block.tfg.decorative_vase.black": "Black Decorative Vase", "block.tfg.decorative_vase.gray": "Gray Decorative Vase", "block.tfg.decorative_vase.light_gray": "Light Gray Decorative Vase", @@ -161,7 +162,10 @@ "block.tfg.lunar_sprouts": "Lunar Lightgrass", "block.tfg.lunar_chorus_plant": "Chorus Plant", "block.tfg.lunar_chorus_flower": "Chorus Flower", - "block.tfg.piglin_disguise_block": "Piglin Disguise", + "block.tfg.lv_aqueous_accumulator": "Basic Aqueous Accumulator", + "block.tfg.mv_aqueous_accumulator": "Advanced Aqueous Accumulator", + "block.tfg.hv_aqueous_accumulator": "Advanced Aqueous Accumulator II", + "block.tfg.ev_aqueous_accumulator": "Advanced Aqueous Accumulator III", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", "item.tfg.night_vision_pill": "Night Vision Pill", @@ -461,6 +465,7 @@ "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Cooling Water", "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Cooling Water", "tfc.recipe.barrel.tfg.sealed_barrel.prepared_leather_gloves": "Soaking Leather Gloves", + "gtceu.aqueous_accumulator": "Aqueous Accumulator", "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll lose ALL your upgrades!§r", "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", "tfg.grapplemod.downgrades.maxlen": "Decreases §lMax Length§r by 20, down to 20. (Jute Rope is Returned).", From 6f5ce5e6d740bfc844c2ce8540162766899da199 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 03:15:12 +0100 Subject: [PATCH 13/62] langs --- kubejs/assets/gtceu/lang/en_us.json | 2 ++ kubejs/assets/tfg/lang/en_us.json | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 811a4df3a..2aea9b95e 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -75,6 +75,8 @@ "metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust", "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", "item.gtceu.tool.behavior.silk_ice": "Silk Harvests Packed Ice", + "block.gtceu.overworld_marker": "Earth", + "block.gtceu.the_nether_marker": "The Beneath", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 6f8b45469..a10ac33b3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -163,9 +163,9 @@ "block.tfg.lunar_chorus_plant": "Chorus Plant", "block.tfg.lunar_chorus_flower": "Chorus Flower", "block.tfg.lv_aqueous_accumulator": "Basic Aqueous Accumulator", - "block.tfg.mv_aqueous_accumulator": "Advanced Aqueous Accumulator", - "block.tfg.hv_aqueous_accumulator": "Advanced Aqueous Accumulator II", - "block.tfg.ev_aqueous_accumulator": "Advanced Aqueous Accumulator III", + "block.tfg.mv_aqueous_accumulator": "§bAdvanced Aqueous Accumulator§r", + "block.tfg.hv_aqueous_accumulator": "§6Advanced Aqueous Accumulator II§r", + "block.tfg.ev_aqueous_accumulator": "§5Advanced Aqueous Accumulator III§r", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", "item.tfg.night_vision_pill": "Night Vision Pill", From e0cbe907f41b9f0a9682213ae182edea312fae3f Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Sat, 31 May 2025 05:35:36 -0500 Subject: [PATCH 14/62] Trowel item (#1106) * - Changed the weird assembler piston recipe. * - Updated Changelog * - Added Trowel tool. - Increased size of piglin disguise to prevent texture clipping. * - Updated Changelog --- CHANGELOG.md | 2 + .../quests/chapters/queststfc_tips.snbt | 28 ++++++++++++-- .../en_us/entries/mechanics/trowel.json | 18 +++++++++ kubejs/assets/tfg/lang/en_us.json | 6 ++- .../tfg/models/block/piglin_disguise.json | 6 +-- .../models/block/piglin_disguise_block.json | 6 +-- kubejs/assets/tfg/models/item/trowel.json | 36 ++++++++++++++++++ kubejs/assets/tfg/textures/item/trowel.png | Bin 0 -> 524 bytes .../tfg/recipes.miscellaneous.js | 19 +++++++++ kubejs/server_scripts/tfg/tags.js | 3 ++ 10 files changed, 113 insertions(+), 11 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json create mode 100644 kubejs/assets/tfg/models/item/trowel.json create mode 100644 kubejs/assets/tfg/textures/item/trowel.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 39ad9084c..e08e014ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ### Changes - Create Steam Engine now also accepts river water and GregTech steam as valid inputs (#947) @Zeropol - Changed weird assembler piston recipe (#1092) @Redeix +- Added Trowel tool to randomly place blocks from hotbar (#1106) @Redeix +- Fixed texture clipping on piglin disguise (#1106) @Redeix ## [0.9.9] - 30.05.2025 ### Changes diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index ac3824b1f..4ee385d49 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -3265,8 +3265,8 @@ type: "item" }] title: "{quests.tfg_tips.cane.title}" - x: -1.5d - y: 5.0d + x: -1.0d + y: 4.5d } { dependencies: ["150B7C5CD152E1BA"] @@ -3286,8 +3286,8 @@ type: "item" }] title: "{quests.tfg_tips.fishing_net.title}" - x: -1.5d - y: 6.0d + x: -2.0d + y: 5.0d } { dependencies: ["5C01BDDA66249D7B"] @@ -5205,6 +5205,26 @@ x: 9.5d y: -4.5d } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.trowel.desc}"] + id: "26DFC32AD5DED4E9" + subtitle: "{quests.tfg_tips.trowel.subtitle}" + tasks: [{ + id: "694BF83F489646D6" + item: { + Count: 1 + id: "tfg:trowel" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.tfg_tips.trowel.title}" + x: -2.5d + y: 6.0d + } ] subtitle: ["{quests.tfg_tips.subtitle}"] title: "{quests.tfg_tips}" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json new file mode 100644 index 000000000..0ae5da5ba --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json @@ -0,0 +1,18 @@ +{ + "name": "Trowel", + "icon": "tfg:trowel", + "category": "tfc:mechanics", + "priority": true, + "pages": [ + { + "type": "patchouli:crafting", + "title": "Trowel", + "recipe": "tfg:shaped/trowel", + "text": "A $(item)Trowel$() allows a builder to place random blocks from their hotbar when right-clicking a surface.$(br2)Trowels also have built-in functionality with the $(item)Roads and Roofs$() mod--Meaning that they can place filler items like bricks or flagstones randomly as well." + }, + { + "type": "patchouli:text", + "text": "Inspired by the trowel tool from $(item)Quark$()--A mod by Vazkii" + } + ] +} diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index a10ac33b3..282e38d2b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -257,6 +257,7 @@ "item.tfg.uv_universal_circuit": "UV Universal Circuit", "item.tfg.uhv_universal_circuit": "UHV Universal Circuit", "item.tfg.piglin_disguise": "Piglin Disguise", + "item.tfg.trowel": "Trowel", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -2294,5 +2295,8 @@ "quests.tfg_tips.piglin_bartering.subtitle": "We are not alone apparently", "quests.tfg_tips.piglin_bartering.desc": "The curious inhabitants of &4The Beneath&r have items to offer... Trade gold with them to get some useful resource, such as small amounts of &aMetals&r or &aLeather.&r\nCheck out the &2Field Guide&r for details about barter trades.", "quests.tfg_tips.piglin_disguise.subtitle": "They'll never know...", - "quests.tfg_tips.piglin_disguise.desc": "Do you feel like you don't belong?\n Do the &4Piglin&r attack you at your school because of your appearance?\n Try wearing a &aPiglin Disguise&r to ward off unwanted attention and blend right in." + "quests.tfg_tips.piglin_disguise.desc": "Do you feel like you don't belong?\n Do the &4Piglin&r attack you at your school because of your appearance?\n Try wearing a &aPiglin Disguise&r to ward off unwanted attention and blend right in.", + "quests.tfg_tips.trowel.title": "Trowel", + "quests.tfg_tips.trowel.subtitle": "Inspired by Quark!", + "quests.tfg_tips.trowel.desc": "A &4Trowel&r is a tool for builders that can &brandomly place blocks&r located in the hotbar. Trowels can also use bricks and other useable items to randomize tiles for &5RNR Roads&r." } \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/piglin_disguise.json b/kubejs/assets/tfg/models/block/piglin_disguise.json index 8dd0e8521..d2e01cb21 100644 --- a/kubejs/assets/tfg/models/block/piglin_disguise.json +++ b/kubejs/assets/tfg/models/block/piglin_disguise.json @@ -3,7 +3,7 @@ "texture_size": [64, 64], "textures": { "1": "tfg:block/piglin_disguise", - "particle": "minecraft:block/soul_sand" + "particle": "block/soul_sand" }, "elements": [ { @@ -193,8 +193,8 @@ "translation": [0, 3.5, 0] }, "head": { - "translation": [0, 7, 0], - "scale": [1.75, 1.75, 2.25] + "translation": [0, 8.5, 0], + "scale": [1.75, 2, 2.25] }, "fixed": { "translation": [0, 4, 0] diff --git a/kubejs/assets/tfg/models/block/piglin_disguise_block.json b/kubejs/assets/tfg/models/block/piglin_disguise_block.json index 8dd0e8521..d2e01cb21 100644 --- a/kubejs/assets/tfg/models/block/piglin_disguise_block.json +++ b/kubejs/assets/tfg/models/block/piglin_disguise_block.json @@ -3,7 +3,7 @@ "texture_size": [64, 64], "textures": { "1": "tfg:block/piglin_disguise", - "particle": "minecraft:block/soul_sand" + "particle": "block/soul_sand" }, "elements": [ { @@ -193,8 +193,8 @@ "translation": [0, 3.5, 0] }, "head": { - "translation": [0, 7, 0], - "scale": [1.75, 1.75, 2.25] + "translation": [0, 8.5, 0], + "scale": [1.75, 2, 2.25] }, "fixed": { "translation": [0, 4, 0] diff --git a/kubejs/assets/tfg/models/item/trowel.json b/kubejs/assets/tfg/models/item/trowel.json new file mode 100644 index 000000000..3674f67c3 --- /dev/null +++ b/kubejs/assets/tfg/models/item/trowel.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/trowel" + }, + "display": { + "thirdperson_righthand": { + "rotation": [-58, -90, -147], + "translation": [0, 1, -1.25], + "scale": [0.55, 0.55, 0.55] + }, + "thirdperson_lefthand": { + "rotation": [-123, 90, -147], + "translation": [0, 1, -1.25], + "scale": [0.55, 0.55, 0.55] + }, + "firstperson_righthand": { + "rotation": [95, -90, 25], + "translation": [1.13, 3.2, 1.13], + "scale": [0.68, 0.68, 0.68] + }, + "firstperson_lefthand": { + "rotation": [66, 90, 41], + "translation": [1.13, 3.2, 1.13], + "scale": [0.68, 0.68, 0.68] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [0, 180, 0] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/trowel.png b/kubejs/assets/tfg/textures/item/trowel.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e3d8c64bb96d79963c7b53a980adcb9ace0a3f GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7`o-U3d7QII&+h+#{O0>@}&NGmdS#sf?*-pXM2MT)6)SN%3uU)5VQYv`S@vhDz z@q$mmJ0i5N++FKrZL-kZJkVg5nAGGgTdz6DoLYj^VSjGn;vZyB@x`Op8_zH10R zRJtg>sPRJO;pzQ(JolegxhG8)jH|y9`2Ws=nD-~%tkpKD|6{rL;5Wa=IX_+-#;hwp zAvVuA(LZo)2;+`A)4ICmv-}w1-f(`U35g2UC=Sxb@Npf{r^b=7Z5G3ixYP=E=YuV_NAKLV7TPDGHvfDg)8T2)6MGhZ+{>tu zwXgnB!!Z_ylObM@`keRQfBxV(qmonVX=!G6R>g*_rCqbjR{q>~De7c`!Gq$rmuEi6 gxKjVWx1RB_)yYoZ=gjjM7#J8lUHx3vIVCg!00(04q5uE@ literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index c0118ce26..625ea49ce 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -413,4 +413,23 @@ function registerTFGMiscellaneousRecipes(event) { 1, -1, 0, 0, 0, 0, -1, 1 ] ).id('tfg:sewing/piglin_disguise') + + //trowel + event.shaped('tfg:trowel', [ + 'DBC', + 'AA ', + ' ' + ], { + A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Invar, 1), + B: '#forge:screws', + C: '#tfc:lumber', + D: '#forge:tools/screwdrivers' + }).id('tfg:shaped/trowel') + + event.recipes.gtceu.assembler('tfg:assembler/trowel') + .itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Invar, 2), '1x #forge:screws', '1x #tfc:lumber') + .itemOutputs('1x tfg:trowel') + .duration(40) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 527f374f4..bc59f145b 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -33,6 +33,9 @@ const registerTFGItemTags = (event) => { event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') + event.add('forge:tools/trowels', 'tfg:trowel') + event.add('tfc:usable_on_tool_rack', 'tfg:trowel') + // #region Paper from wood event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') From 2ceba8b259887c229f7fd2f7b36c377c312e6041 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 13:21:37 +0100 Subject: [PATCH 15/62] aqueous accumulator recipes --- .../tfg/recipes.miscellaneous.js | 199 +++++++++++------- 1 file changed, 127 insertions(+), 72 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index c0118ce26..0d102c5cd 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -6,7 +6,7 @@ */ function registerTFGMiscellaneousRecipes(event) { - event.remove({ id: 'gtceu:wiremill/string_from_polycaprolactam'}) + event.remove({ id: 'gtceu:wiremill/string_from_polycaprolactam' }) //tfc:moss event.replaceInput({}, 'minecraft:vine', '#tfc:moss') @@ -233,15 +233,15 @@ function registerTFGMiscellaneousRecipes(event) { ' A ', ' B ', ' C ' - ],{ + ], { A: 'tfg:flint_arrow_head', B: '#forge:rods/wooden', C: 'tfg:fletching' }).id('tfg:shaped/arrow') // Ice - event.remove({id: 'gtceu:compressor/ice_from_dust' }) - event.remove({id: 'gtceu:compressor/ice_from_snow' }) + event.remove({ id: 'gtceu:compressor/ice_from_dust' }) + event.remove({ id: 'gtceu:compressor/ice_from_snow' }) event.shapeless('#forge:dusts/ice', ['#forge:tools/mortars', '4x firmalife:ice_shavings']) .id('tfg:shaped/ice_shavings') @@ -319,67 +319,67 @@ function registerTFGMiscellaneousRecipes(event) { event.shapeless('8x minecraft:snow', ['minecraft:snow_block', '#forge:tools/saws']) .id('tfg:shapeless/snow') - //Cloth & String - event.recipes.gtceu.wiremill('tfg:wiremill/phantom_thread') - .itemInputs('1x minecraft:phantom_membrane') - .itemOutputs('16x tfg:phantom_thread') - .duration(100) - .circuit(0) - .EUt(GTValues.VA[GTValues.ULV]) + //Cloth & String + event.recipes.gtceu.wiremill('tfg:wiremill/phantom_thread') + .itemInputs('1x minecraft:phantom_membrane') + .itemOutputs('16x tfg:phantom_thread') + .duration(100) + .circuit(0) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.wiremill('tfg:wiremill/polycaprolactam_string') - .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)) - .itemOutputs('32x tfg:polycaprolactam_string') - .duration(100) - .circuit(0) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.wiremill('tfg:wiremill/polycaprolactam_string') + .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)) + .itemOutputs('32x tfg:polycaprolactam_string') + .duration(100) + .circuit(0) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.assembler('tfg:assembler/phantom_silk') - .itemInputs('16x tfg:phantom_thread') - .itemOutputs('1x tfg:phantom_silk') - .duration(100) - .circuit(0) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.assembler('tfg:assembler/phantom_silk') + .itemInputs('16x tfg:phantom_thread') + .itemOutputs('1x tfg:phantom_silk') + .duration(100) + .circuit(0) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.assembler('tfg:assembler/polycaprolactam_fabric') - .itemInputs('16x tfg:polycaprolactam_string') - .itemOutputs('1x tfg:polycaprolactam_fabric') - .duration(100) - .circuit(0) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.assembler('tfg:assembler/polycaprolactam_fabric') + .itemInputs('16x tfg:polycaprolactam_string') + .itemOutputs('1x tfg:polycaprolactam_fabric') + .duration(100) + .circuit(0) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.chemical_bath('tfg:chemical_bath/bleaching/polycaprolactam_string') - .itemInputs('tfg:polycaprolactam_string') - .inputFluids(Fluid.of('gtceu:chlorine', 16)) - .itemOutputs('minecraft:string') - .duration(80) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath('tfg:chemical_bath/bleaching/polycaprolactam_string') + .itemInputs('tfg:polycaprolactam_string') + .inputFluids(Fluid.of('gtceu:chlorine', 16)) + .itemOutputs('minecraft:string') + .duration(80) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.CHEM_DYES) - event.recipes.tfc.loom( - '1x tfg:phantom_silk', - '16x tfg:phantom_thread', - 8, - 'tfg:block/phantom_silk_block' - ) + event.recipes.tfc.loom( + '1x tfg:phantom_silk', + '16x tfg:phantom_thread', + 8, + 'tfg:block/phantom_silk_block' + ) - event.recipes.tfc.loom( - '1x tfg:polycaprolactam_fabric', - '16x tfg:polycaprolactam_string', - 8, - 'tfg:block/polycaprolactam_fabric_block' - ) + event.recipes.tfc.loom( + '1x tfg:polycaprolactam_fabric', + '16x tfg:polycaprolactam_string', + 8, + 'tfg:block/polycaprolactam_fabric_block' + ) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('16x tfg:phantom_thread', [ + 'minecraft:phantom_membrane', + 'tfc:spindle' + ]).id('tfg:shapeless/phantom_thread')) - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('16x tfg:phantom_thread', [ - 'minecraft:phantom_membrane', - 'tfc:spindle' - ]).id('tfg:shapeless/phantom_thread')) - // Universal Circuit global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { - event.shapeless(Item.of(`tfg:${tier}_universal_circuit`, 1), [Ingredient.of([`#gtceu:circuits/${tier}`]).subtract([`tfg:${tier}_universal_circuit`])] - ).id(`universal_circuits_${tier}`); + event.shapeless(Item.of(`tfg:${tier}_universal_circuit`, 1), [Ingredient.of([`#gtceu:circuits/${tier}`]).subtract([`tfg:${tier}_universal_circuit`])] + ).id(`universal_circuits_${tier}`); }); // Air collector (move this to space stuff later) @@ -389,28 +389,83 @@ function registerTFGMiscellaneousRecipes(event) { .dimension('minecraft:the_nether') .duration(200) .EUt(16) + + event.recipes.gtceu.aqueous_accumulator('water_overworld') + .circuit(1) + .dimension('minecraft:overworld') + .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_nether') + .circuit(2) + .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('sea_water_overworld') + .circuit(3) + .dimension('minecraft:overworld') + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + .addDataString("fluidA", "tfc:salt_water") + .addDataString("fluidB", "tfc:salt_water") + .outputFluids(Fluid.of("tfc:salt_water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('sea_water_nether') + .circuit(4) + .dimension('minecraft:the_nether') + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + .addDataString("fluidA", "tfc:salt_water") + .addDataString("fluidB", "tfc:salt_water") + .outputFluids(Fluid.of("tfc:salt_water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('lava_overworld') + .circuit(5) + .dimension('minecraft:overworld') + .duration(20) + .EUt(GTValues.VHA[GTValues.HV]) + .addDataString("fluidA", "minecraft:lava") + .addDataString("fluidB", "minecraft:lava") + .outputFluids(Fluid.of("minecraft:lava", 1000)) + + event.recipes.gtceu.aqueous_accumulator('lava_nether') + .circuit(6) + .dimension('minecraft:the_nether') + .duration(20) + .EUt(GTValues.VHA[GTValues.HV]) + .addDataString("fluidA", "minecraft:lava") + .addDataString("fluidB", "minecraft:lava") + .outputFluids(Fluid.of("minecraft:lava", 1000)) + + event.shapeless('1x tfg:armor_stand_arms', [ 'minecraft:armor_stand' ]).id(`tfg:shapeless/armor_stand_arms`) - + event.shapeless('1x minecraft:armor_stand', [ 'tfg:armor_stand_arms' ]).id(`tfg:shapeless/armor_stand`) - + event.recipes.tfc.sewing( - '1x tfg:piglin_disguise', - [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 0, 0, 0, 1, 1, 0, - 0, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 0, 1, 1, 0, 1, 1, 0, 0, - 0, 0, 1, 1, 0, 1, 1, 0, 0 - ], [ - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 0, 0, 1, 0, 1, - 1, -1, 0, 0, 0, 0, -1, 1, - 1, -1, 0, 0, 0, 0, -1, 1 - ] - ).id('tfg:sewing/piglin_disguise') + '1x tfg:piglin_disguise', + [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 0, 0, 0, 1, 1, 0, + 0, 1, 1, 1, 0, 1, 1, 1, 0, + 0, 0, 1, 1, 0, 1, 1, 0, 0, + 0, 0, 1, 1, 0, 1, 1, 0, 0 + ], [ + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 1, 0, 0, 1, 0, 1, + 1, -1, 0, 0, 0, 0, -1, 1, + 1, -1, 0, 0, 0, 0, -1, 1 + ] + ).id('tfg:sewing/piglin_disguise') } \ No newline at end of file From 0b47224d98cf54b6518176a6aee5025f03eb322d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 15:14:03 +0100 Subject: [PATCH 16/62] added better aqueous accumulator machine textures, added a quest for it, rearranged LV a bit because it was getting cramped --- .../quests/chapters/lv__low_voltage.snbt | 129 +++++++++++------- .../aqueous_accumulator/overlay_front.png | Bin 0 -> 607 bytes .../aqueous_accumulator/overlay_side.png | Bin 0 -> 368 bytes .../overlay_side_active.png | Bin 0 -> 570 bytes .../overlay_side_active.png.mcmeta | 5 + kubejs/assets/tfg/lang/en_us.json | 18 +-- 6 files changed, 90 insertions(+), 62 deletions(-) create mode 100644 kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front.png create mode 100644 kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side.png create mode 100644 kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side_active.png create mode 100644 kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side_active.png.mcmeta diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 1a2f4635e..2ae4ff714 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -109,8 +109,8 @@ type: "item" }] title: "{quests.low_voltage.lv_steam_turbine.title}" - x: 5.5d - y: 4.5d + x: 4.5d + y: 7.5d } { dependencies: ["6431381FBE07D6EF"] @@ -127,7 +127,7 @@ type: "item" }] title: "{quests.low_voltage.lv_amp_explanation.title}" - x: 5.5d + x: 7.0d y: 2.5d } { @@ -144,7 +144,7 @@ type: "item" }] title: "{quests.low_voltage.aluminium_ingot.title}" - x: -9.0d + x: -10.0d y: 9.75d } { @@ -174,7 +174,7 @@ } ] title: "{quests.low_voltage.lv_battery_preparation.title}" - x: 5.5d + x: 7.0d y: -0.5d } { @@ -322,7 +322,7 @@ type: "item" }] title: "{quests.low_voltage.lv_polariser.title}" - x: 3.0d + x: 4.5d y: 1.5d } { @@ -345,8 +345,8 @@ type: "item" }] title: "{quests.low_voltage.lbb.title}" - x: 7.0d - y: 4.5d + x: 5.5d + y: 7.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -366,7 +366,7 @@ type: "item" }] title: "{quests.low_voltage.lv_superconductor.title}" - x: -11.0d + x: -12.0d y: 6.5d } { @@ -386,8 +386,8 @@ type: "item" }] title: "{quests.low_voltage.lv_chemical_bath.title}" - x: 5.5d - y: 8.0d + x: -5.5d + y: 7.5d } { dependencies: ["64E1E87B8AF72968"] @@ -428,7 +428,7 @@ type: "item" }] title: "{quests.low_voltage.lv_canner.title}" - x: 3.0d + x: 4.5d y: 0.5d } { @@ -457,7 +457,7 @@ type: "item" }] title: "{quests.low_voltage.lv_battery.title}" - x: 5.5d + x: 7.0d y: 0.5d } { @@ -487,7 +487,7 @@ type: "item" }] title: "{quests.low_voltage.lv_battery_buffer_4x.title}" - x: 5.5d + x: 7.0d y: 1.5d } { @@ -507,7 +507,7 @@ type: "item" }] title: "{quests.low_voltage.lv_ebf.title}" - x: -9.0d + x: -10.0d y: 6.5d } { @@ -524,8 +524,8 @@ type: "checkmark" }] title: "{quests.low_voltage.other_machines.title}" - x: 5.5d - y: 7.0d + x: -4.5d + y: 6.5d } { description: ["{quests.low_voltage.lv_age_progression.desc}"] @@ -559,7 +559,7 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_solidifier.title}" - x: -6.5d + x: -7.5d y: 4.5d } { @@ -585,7 +585,7 @@ type: "item" }] title: "{quests.low_voltage.lv_ore_prospector.title}" - x: 6.5d + x: 8.0d y: 0.5d } { @@ -611,7 +611,7 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_coil.title}" - x: -6.5d + x: -7.5d y: 6.5d } { @@ -628,7 +628,7 @@ }] title: "{quests.low_voltage.lv_gas_collector.title}" x: -4.0d - y: 6.5d + y: 8.5d } { dependencies: ["22510C5F2386B453"] @@ -639,7 +639,8 @@ ] icon: "gtceu:lv_chemical_reactor" id: "3D98819A799D2E64" - size: 1.0d + shape: "octagon" + size: 2.0d subtitle: "{quests.low_voltage.lv_chemical_reactor.subtitle}" tasks: [ { @@ -654,7 +655,7 @@ } ] title: "{quests.low_voltage.lv_chemical_reactor.title}" - x: -6.5d + x: -7.5d y: 2.5d } { @@ -684,7 +685,6 @@ icon: "gtceu:rotor_casting_mold" id: "115C4226F6473F0C" optional: true - shape: "rsquare" size: 1.0d subtitle: "{quests.low_voltage.mold_rotor.subtitle}" tasks: [ @@ -700,7 +700,7 @@ } ] title: "{quests.low_voltage.mold_rotor.title}" - x: -7.5d + x: -8.5d y: 4.5d } { @@ -719,7 +719,7 @@ }] title: "{quests.low_voltage.soldering_alloy.title}" x: 4.0d - y: 9.0d + y: 10.5d } { dependencies: ["701BCADAE5CF6CA5"] @@ -741,8 +741,8 @@ type: "item" }] title: "{quests.low_voltage.lv_electroliser.title}" - x: 6.5d - y: 7.0d + x: -5.5d + y: 6.5d } { dependencies: ["22510C5F2386B453"] @@ -789,7 +789,7 @@ }] title: "{quests.low_voltage.lv_centrifuge.title}" x: -2.0d - y: 7.0d + y: 8.5d } { dependencies: ["37307A46E70011D3"] @@ -806,7 +806,7 @@ type: "item" }] title: "{quests.low_voltage.lv_sprayer.title}" - x: 4.25d + x: 5.75d y: -0.5d } { @@ -827,7 +827,7 @@ }] title: "{quests.low_voltage.lv_assembler.title}" x: 0.0d - y: 7.0d + y: 8.5d } { dependencies: ["22510C5F2386B453"] @@ -846,7 +846,7 @@ type: "item" }] title: "{quests.low_voltage.lv_extractor.title}" - x: -4.0d + x: -5.5d y: 4.5d } { @@ -867,7 +867,7 @@ }] title: "{quests.low_voltage.lv_circuit_assembler.title}" x: 0.0d - y: 14.0d + y: 15.5d } { dependencies: ["1A77CA35F054F988"] @@ -887,7 +887,7 @@ }] title: "{quests.low_voltage.lv_arc_furnace.title}" x: -4.0d - y: 11.0d + y: 12.5d } { dependencies: ["15928F50AE80A5CF"] @@ -917,7 +917,7 @@ }] title: "{quests.low_voltage.lv_oxygen.title}" x: -4.0d - y: 9.0d + y: 10.5d } { dependencies: ["5263F866638D875C"] @@ -939,7 +939,7 @@ }] title: "{quests.low_voltage.lv_glue.title}" x: -2.0d - y: 9.0d + y: 10.5d } { dependencies: ["5B891BA4897FD73C"] @@ -955,7 +955,7 @@ }] title: "{quests.low_voltage.gallium_arsenide.title}" x: 2.0d - y: 9.0d + y: 10.5d } { dependencies: [ @@ -976,7 +976,7 @@ type: "item" }] x: -0.5d - y: 9.0d + y: 10.5d } { dependencies: [ @@ -994,7 +994,7 @@ }] title: "{quests.low_voltage.lv_diode.title}" x: 0.5d - y: 9.0d + y: 10.5d } { dependencies: [ @@ -1013,7 +1013,7 @@ }] title: "{quests.low_voltage.1_mv_circuit.title}" x: 0.0d - y: 11.0d + y: 12.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1027,7 +1027,7 @@ type: "item" }] title: "{quests.low_voltage.aluminium_dust.title}" - x: -9.0d + x: -10.0d y: 8.0d } { @@ -1093,7 +1093,7 @@ } ] title: "{quests.low_voltage.multiblock_tech.title}" - x: -9.0d + x: -10.0d y: 4.5d } { @@ -1124,7 +1124,7 @@ type: "item" }] title: "{quests.low_voltage.lv_rock_crusher.title}" - x: 3.0d + x: 4.5d y: 3.5d } { @@ -1151,7 +1151,7 @@ type: "item" }] title: "{quests.low_voltage.lv_turbo_charge.title}" - x: 3.0d + x: 4.5d y: 2.5d } { @@ -1178,7 +1178,7 @@ type: "item" }] title: "{quests.low_voltage.lv_fisher.title}" - x: 3.0d + x: 4.5d y: -0.5d } { @@ -1205,7 +1205,7 @@ }] title: "{quests.low_voltage.lv_mixer.title}" x: 2.0d - y: 7.0d + y: 8.5d } { dependencies: ["12565AB92A2BF976"] @@ -1246,7 +1246,7 @@ }] title: "{quests.low_voltage.lv_nitrogen.title}" x: -6.0d - y: 9.0d + y: 10.5d } { dependencies: ["648BCF486E16CCB2"] @@ -1286,7 +1286,7 @@ } ] title: "{quests.low_voltage.mold_plate.title}" - x: -6.5d + x: -7.5d y: 5.5d } { @@ -1303,7 +1303,7 @@ } type: "item" }] - x: 6.5d + x: 8.0d y: 1.5d } { @@ -1334,8 +1334,8 @@ } ] title: "{quests.steam_age.alternator.title}" - x: 5.5d - y: 5.5d + x: 4.5d + y: 6.5d } { dependencies: ["7567E885B7166603"] @@ -1354,7 +1354,7 @@ type: "item" }] title: "{quests.low_voltage.mv_hull.title}" - x: -9.0d + x: -10.0d y: 14.0d } { @@ -1395,7 +1395,30 @@ }] title: "{quests.low_voltage.lv_greenhouse.title}" x: 3.0d - y: 11.0d + y: 12.5d + } + { + dependencies: ["22510C5F2386B453"] + description: ["{quests.low_voltage.lv_aqueous_accumulator.desc}"] + icon: "tfg:lv_aqueous_accumulator" + id: "47E6F8AC20D51814" + optional: true + subtitle: "{quests.low_voltage.lv_aqueous_accumulator.subtitle}" + tasks: [{ + id: "685FCAE71ECE04BC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:lv_aqueous_accumulator)item(tfg:mv_aqueous_accumulator)item(tfg:hv_aqueous_accumulator)item(tfg:ev_aqueous_accumulator))" + } + } + title: "{quests.low_voltage.lv_aqueous_accumulator.task}" + type: "item" + }] + title: "{quests.low_voltage.lv_aqueous_accumulator.title}" + x: 4.5d + y: 4.5d } ] subtitle: ["{quests.low_voltage.subtitle}"] diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front.png new file mode 100644 index 0000000000000000000000000000000000000000..0f45a3e2d6fa758fd5770b91f92a7a8a4640aaa5 GIT binary patch literal 607 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7n=_rA13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(LE#k|?`%hegT?KQWi37FpUN3!PSoMwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqNuvu8_QD5?I_*WA+a@xc!H_wQ`q-D7mxe9B~Xy3mD^+h>*t zCF$+gYKs$WYEW=FlA0#@dD4`&_dj;IH>@u=ocFZ;-Fd?WVmfRrE{`nJW|)0sE3CO} zX7OIwJt8u!^L(ee&n|_J%GX8v?^{fd5vxc$awcuk5y7O5SB`p#Z{D<0@VtO~sPFO` z#pfGORd#O}x!a4nh3R}3hNcDZLePgj!Sm6gx%uCt& zwVY?_Cf$3HaZx#;KzhfHcNwST3U)H{*h_BG+#NJwS%41H`}8lql?gAzUc`T{%6|X& z3*(8P@R!mL9tcS22Y%aie)sQP)xW>{?A|Y*C{VN@Mf9dQ0|NtFlDE4HgDwbejkw9f zz`(#+;1OBOz@VoL!i*J5?aLS#7}!fZeO=j~vNJKO8fwZ%^)WCoNS3%plsM<-=BDPA zFgO>bCYGe8D3oWGWGJ|M`UZqI@`*DrFj#oHIEGl9PEL?8QBcr$vVX^pAN7TWAOG|4 z@I)B;*ePf{vHuz?ASvp+g;D)`YD4$-uzC;OXk;vd$@? F2>=@n^I`x1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side.png b/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side.png new file mode 100644 index 0000000000000000000000000000000000000000..106e8da2401f1388c763633659c1e59ea55315a3 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7%{^TlLn`9dPWC+%IOmAtw=TwFAjgaTb$Ty}@){@U~T$MKoVqqkq(+n(Gv({jIY{`0TDj(SaM zd1SFnqf3LwnX9Rx=Dzy*&nHS_H|5UOIjwZrJ!3&+;FQ^NLb_=V_rK@6 zO>x|dR`E;x5x zVK{WdIALCT8Oz_AmoIzvA8tsEEakt5%+dl;PNI% zfwtemvE|q8J46JRc6+$EXetQ>9&vXmxgIM1_uffq$-M6J%Mi86oju2sC41eBWcX4IBs})tpB}efeXgJTt+(5@MCoRl%??_BeQDV0 zPDZir)(|bxmu0*CXMf7yKKo~bM8eLPQ+eB~{mwoAtkJ-pWYNhOwtDKt+C@z7zVFU$ zYJ4q`us7~Di@Fhm;T*rmD>@m?X7{Qdid%pEfyuutjWvwhZofUfrE4!zie){~wbw|EmM;IcfNiuW?ySg-rHl-OK_*k)p zbN-6vgB3+3YZ(2OPk#HPe^p_`UMYu+YUVlT)4f^diZ89Hv1Z#5qsPSI*YtXUnubms zyMK?J_4tIn^y^ZzL+3${wnjg Date: Sat, 31 May 2025 15:14:16 +0100 Subject: [PATCH 17/62] Fixes #1103 --- kubejs/server_scripts/create/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 35a63e41b..cb703f278 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -232,7 +232,7 @@ const registerCreateRecipes = (event) => { event.recipes.gtceu.assembler('create:fluid_tank') .itemInputs('2x #forge:screws/copper', '2x #forge:plates/copper', '#forge:glass_panes') .itemOutputs('create:fluid_tank') - .circuit(3) + .circuit(4) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) @@ -613,7 +613,7 @@ const registerCreateRecipes = (event) => { event.recipes.gtceu.assembler('tfg:create/copper_casing') .itemInputs('#minecraft:logs', '#forge:plates/copper') - .circuit(10) + .circuit(11) .itemOutputs('create:copper_casing') .duration(50) .EUt(4) From 58a4c3ee55ed9ac6f796c1c397c20966274a9306 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 15:14:53 +0100 Subject: [PATCH 18/62] Changed materials of steam grinder/oven, HS greate things, HV cutter --- CHANGELOG.md | 8 ++++ kubejs/server_scripts/greate/recipes.js | 6 +-- .../greate/recipes.recycling.js | 20 ++++---- kubejs/server_scripts/gregtech/recipes.js | 7 +++ .../gregtech/recipes.machines.js | 46 ++++++++++++++---- .../gregtech/recipes.recycling.js | 48 +++++++++++++++---- .../gregtech/recipes.removes.js | 2 + 7 files changed, 106 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e08e014ca..a4c1287ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ - Changed weird assembler piston recipe (#1092) @Redeix - Added Trowel tool to randomly place blocks from hotbar (#1106) @Redeix - Fixed texture clipping on piglin disguise (#1106) @Redeix +- Added Aqueous Accumulator machine, basically a rock breaker but for fluids (#1030) @Pyritie +- Added Packer recipe for stick bundling (#1101) @JeanRdSz +- Started work on Brazilian Portuguese translations @gifpxto +- Fixed assembler recipe conflict with Hoppers and Item Vaults (#1098) @TomPlop +- Fixed assembler recipe conflict with Create Pipes and Fluid Tanks (#1103) @Pyritie +- Steam grinder and oven are now cheaper and use more steam-age appropriate materials (#1091) @Pyritie +- Changed HS Greate machines to use blue alloy instead of red steel (#1091) @Pyritie +- Changed HV Cutter to use diamond buzzsaw instead of red steel (#1091) @Pyritie ## [0.9.9] - 30.05.2025 ### Changes diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 63be68f74..c7ecafb29 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -219,7 +219,7 @@ function registerGreateRecipes(event) { 'FGF', 'AAA' ], { - A: '#forge:double_plates/red_steel', + A: '#forge:double_plates/blue_alloy', B: '#gtceu:circuits/hv', C: '#forge:gears/aluminium', F: 'gtceu:diamond_grinding_head', @@ -273,7 +273,7 @@ function registerGreateRecipes(event) { 'AABAA', ' AAA ' ], { - A: '#forge:plates/red_steel', + A: '#forge:plates/blue_alloy', B: '#forge:storage_blocks/aluminium', C: 'greate:stainless_steel_shaft', }).id('greate:mechanical_crafting/stainless_steel_crushing_wheel') @@ -402,7 +402,7 @@ function registerGreateRecipes(event) { // 'FE ' // ], { // A: '#gtceu:circuits/hv', - // B: 'gtceu:red_steel_buzz_saw_blade', + // B: 'gtceu:diamond_buzz_saw_blade', // C: 'gtceu:hv_electric_motor', // D: 'gtceu:hv_machine_hull', // E: 'greate:stainless_steel_shaft', diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js index 733fcbf73..2d07fee96 100644 --- a/kubejs/server_scripts/greate/recipes.recycling.js +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -145,7 +145,7 @@ function registerGreateRecyclingRecipes(event) { .itemOutputs( ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 8), - ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 6), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueAlloy, 6), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 5)) .duration(GTMaterials.StainlessSteel.getMass() * (8+8+6+4+5)) @@ -157,7 +157,7 @@ function registerGreateRecyclingRecipes(event) { .itemOutputs( ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8), ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 8), - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 6), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueAlloy, 6), ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4)) .duration(GTMaterials.StainlessSteel.getMass() * (8+8+6+4)) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) @@ -234,9 +234,9 @@ function registerGreateRecyclingRecipes(event) { .itemInputs('greate:stainless_steel_crushing_wheel') .itemOutputs( ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 18), - ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 8), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueAlloy, 8), ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.StainlessSteel, 1)) - .duration(GTMaterials.RedSteel.getMass() * 26) + .duration(GTMaterials.BlueAlloy.getMass() * 26) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) @@ -244,9 +244,9 @@ function registerGreateRecyclingRecipes(event) { .itemInputs('greate:stainless_steel_crushing_wheel') .itemOutputs( ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 18), - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 8), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueAlloy, 8), ChemicalHelper.get(TagPrefix.nugget, GTMaterials.StainlessSteel, 1)) - .duration(GTMaterials.RedSteel.getMass() * 26) + .duration(GTMaterials.BlueAlloy.getMass() * 26) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) @@ -420,9 +420,9 @@ function registerGreateRecyclingRecipes(event) { .itemOutputs( ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 8), - ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 4), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 4)) - .duration(GTMaterials.RedSteel.getMass() * 22) + .duration(GTMaterials.Diamond.getMass() * 22) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) @@ -431,9 +431,9 @@ function registerGreateRecyclingRecipes(event) { .itemOutputs( ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10), ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 8), - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Diamond, 4), ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 4)) - .duration(GTMaterials.RedSteel.getMass() * 22) + .duration(GTMaterials.Diamond.getMass() * 22) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 962e4185b..09cec2dc8 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1133,6 +1133,13 @@ const registerGTCEURecipes = (event) => { //#endregion + event.recipes.gtceu.laser_engraver('tfg:diamond_gear') + .itemInputs('4x #forge:plates/diamond') + .itemOutputs('#forge:gears/diamond') + .notConsumable('gtceu:glass_lens') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + // TODO: Greate again... event.shapeless('gtceu:programmed_circuit', ['minecraft:stick', '#forge:tools/wrenches']) .id('tfg:shapeless/programmed_circuit_from_stick') diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index cf172f383..303a3e827 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -411,7 +411,7 @@ function registerGTCEuMachineRecipes(event) { //#endregion - //#region passthrough hatches + //#region passthrough hatches event.recipes.shaped('gtceu:lv_item_passthrough_hatch', [ ' A ', 'BCB', @@ -685,7 +685,7 @@ function registerGTCEuMachineRecipes(event) { DRUMS_AND_CRATES.forEach(material => { event.shapeless(`gtceu:${material}_drum`, [`gtceu:${material}_drum`]).id(`tfg:shapeless/drum_nbt_${material}`) - + event.shaped(`gtceu:${material}_drum`, [ ' A ', 'BCB', @@ -788,14 +788,40 @@ function registerGTCEuMachineRecipes(event) { C: '#forge:small_fluid_pipes/steel' }).id('gtceu:shaped/steam_hatch') - event.replaceOutput({ id: 'gtceu:macerator/macerate_steel_machine_casing'}, 'gtceu:steel_dust', '4x gtceu:steel_dust') - event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steel_machine_casing'}, 'gtceu:steel_ingot', '4x gtceu:steel_ingot') + event.shaped('gtceu:steam_grinder', [ + 'ABA', + 'ACA', + 'ABA' + ], { + A: 'gtceu:steam_machine_casing', + B: '#forge:gears/invar', + C: 'gtceu:hp_steam_macerator' + }).id('gtceu:shaped/steam_grinder') - event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_bus'}, 'gtceu:steel_dust', '4x gtceu:steel_dust') - event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_bus'}, 'gtceu:steel_ingot', '4x gtceu:steel_ingot') - event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_output_bus'}, 'gtceu:steel_dust', '4x gtceu:steel_dust') - event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_output_bus'}, 'gtceu:steel_ingot', '4x gtceu:steel_ingot') + event.shaped('gtceu:steam_oven', [ + 'ABA', + 'ACA', + 'ABA' + ], { + A: 'gtceu:steam_machine_casing', + B: 'gtceu:heatproof_machine_casing', + C: 'gtceu:hp_steam_furnace' + }).id('gtceu:shaped/steam_oven') - event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch'}, 'gtceu:steel_dust', '6x gtceu:steel_dust') - event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch'}, 'gtceu:steel_block', '6x gtceu:steel_ingot') + event.replaceInput({ id: 'gtceu:shaped/hv_cutter' }, 'gtceu:red_steel_buzz_saw_blade', 'gtceu:diamond_buzz_saw_blade') + + + event.replaceOutput({ id: 'gtceu:macerator/macerate_steel_machine_casing' }, 'gtceu:steel_dust', '4x gtceu:steel_dust') + event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steel_machine_casing' }, 'gtceu:steel_ingot', '4x gtceu:steel_ingot') + + event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_bus' }, 'gtceu:steel_dust', '4x gtceu:steel_dust') + event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_bus' }, 'gtceu:steel_ingot', '4x gtceu:steel_ingot') + event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_output_bus' }, 'gtceu:steel_dust', '4x gtceu:steel_dust') + event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_output_bus' }, 'gtceu:steel_ingot', '4x gtceu:steel_ingot') + + event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch' }, 'gtceu:steel_dust', '6x gtceu:steel_dust') + event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch' }, 'gtceu:steel_block', '6x gtceu:steel_ingot') + + event.replaceOutput({ id: 'gtceu:macerator/macerate_hv_cutter' }, 'gtceu:red_steel_dust', '4x gtceu:diamond_dust') + event.replaceOutput({ id: 'gtceu:arc_furnace/arc_hv_cutter' }, '#forge:ingots/red_steel', '4x gtceu:chipped_diamond_gem') } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 2edbb8e23..11aea9140 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -122,14 +122,14 @@ function registerGTCEURecyclingRecipes(event) { // Iron Door - event.recipes.gtceu.macerator('gtceu:macerator/macerate_iron_door') + event.recipes.gtceu.macerator('gtceu:macerate_iron_door') .itemInputs('minecraft:iron_door') .itemOutputs('2x #forge:dusts/wrought_iron') .duration(GTMaterials.WroughtIron.getMass() * 2) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_iron_door') + event.recipes.gtceu.arc_furnace('gtceu:arc_iron_door') .itemInputs('minecraft:iron_door') .itemOutputs('2x #forge:ingots/wrought_iron') .duration(GTMaterials.WroughtIron.getMass() * 2) @@ -138,14 +138,14 @@ function registerGTCEURecyclingRecipes(event) { // Redstone lamp - event.recipes.gtceu.macerator('gtceu:macerator/macerate_redstone_lamp') + event.recipes.gtceu.macerator('gtceu:macerate_redstone_lamp') .itemInputs('minecraft:redstone_lamp') .itemOutputs('2x #forge:small_dusts/red_alloy', '21x #forge:tiny_dusts/glass', '4x #forge:dusts/glowstone') .duration(GTMaterials.RedAlloy.getMass() * 2) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_redstone_lamp') + event.recipes.gtceu.arc_furnace('gtceu:arc_redstone_lamp') .itemInputs('minecraft:redstone_lamp') .itemOutputs('4x #forge:nuggets/red_alloy') .duration(GTMaterials.RedAlloy.getMass() * 2) @@ -154,14 +154,14 @@ function registerGTCEURecyclingRecipes(event) { // Dispenser - event.recipes.gtceu.macerator('gtceu:macerator/macerate_dispenser') + event.recipes.gtceu.macerator('gtceu:macerate_dispenser') .itemInputs('minecraft:dispenser') .itemOutputs('6x #forge:dusts/stone', '1x #forge:dusts/redstone', '1x #forge:dusts/brass') .duration(GTMaterials.Brass.getMass() * 2) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_dispenser') + event.recipes.gtceu.arc_furnace('gtceu:arc_dispenser') .itemInputs('minecraft:dispenser') .itemOutputs('1x #forge:ingots/brass') .duration(GTMaterials.Brass.getMass() * 2) @@ -170,17 +170,49 @@ function registerGTCEURecyclingRecipes(event) { // Dropper - event.recipes.gtceu.macerator('gtceu:macerator/macerate_dropper') + event.recipes.gtceu.macerator('gtceu:macerate_dropper') .itemInputs('minecraft:dropper') .itemOutputs('7x #forge:dusts/stone', '1x #forge:dusts/redstone', '1x #forge:dusts/brass') .duration(GTMaterials.Brass.getMass() * 2) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_dropper') + event.recipes.gtceu.arc_furnace('gtceu:arc_dropper') .itemInputs('minecraft:dropper') .itemOutputs('1x #forge:ingots/brass') .duration(GTMaterials.Brass.getMass() * 2) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) + + // Steam oven + + event.recipes.gtceu.macerator('gtceu:macerate_steam_oven') + .itemInputs('gtceu:steam_oven') + .itemOutputs('18x #forge:dusts/bronze', '8x #forge:dusts/invar', '7x #forge:dusts/wrought_iron', '2x #forge:dusts/steel') + .duration(1972) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_steam_oven') + .itemInputs('gtceu:steam_oven') + .itemOutputs('18x #forge:ingots/bronze', '8x #forge:ingots/invar', '7x #forge:ingots/wrought_iron', '2x #forge:ingots/steel') + .duration(1792) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Steam grinder + + event.recipes.gtceu.macerator('gtceu:macerate_steam_grinder') + .itemInputs('gtceu:steam_grinder') + .itemOutputs('18x #forge:dusts/bronze', '8x #forge:dusts/invar', '7x #forge:dusts/wrought_iron', '2x #forge:dusts/steel') + .duration(1972) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_steam_grinder') + .itemInputs('gtceu:steam_grinder') + .itemOutputs('18x #forge:ingots/bronze', '8x #forge:ingots/invar', '7x #forge:ingots/wrought_iron', '2x #forge:ingots/steel') + .duration(1792) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 3d5fefae8..c9687fc62 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -602,6 +602,8 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:shaped/activator_rail' }) event.remove({ id: 'gtceu:shaped/shield' }) event.remove({ id: 'gtceu:shaped/pickaxe_iron' }) + event.remove({ id: 'gtceu:shaped/gear_diamond' }) + event.remove({ id: 'gtceu:shaped/buzzsaw_blade_diamond' }) event.remove({ id: 'gtceu:shapeless/glass_full_dust_flint' }) From 9bea38834ba013361ced8a7f21248a14ccf827a8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 19:34:26 +0100 Subject: [PATCH 19/62] fixes #1108 --- .../gregtech/recipes.machines.js | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 303a3e827..3e5403c92 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -665,6 +665,61 @@ function registerGTCEuMachineRecipes(event) { //#endregion + // #region Assembly line stack size problems + + event.remove({ id: 'gtceu:assembly_line/high_performance_computing_array' }) + event.recipes.gtceu.assembly_line('high_performace_computing_array') + .itemInputs('gtceu:data_bank', + '4x #gtceu:circuits/zpm', + '8x gtceu:luv_field_generator', + 'gtceu:data_orb', + 'gtceu:computer_monitor_cover', + '32x #forge:double_wires/uranium_rhodium_dinaquadide', + '32x #forge:double_wires/uranium_rhodium_dinaquadide', + '16x gtceu:normal_optical_pipe') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 1152), + Fluid.of('gtceu:vanadium_gallium', 1152), + Fluid.of('gtceu:pcb_coolant', 4000)) + .itemOutputs('gtceu:high_performance_computation_array') + .duration(60 * 20) + .EUt(100000) + ["scannerResearch(java.util.function.UnaryOperator)"](b => + b.researchStack(Item.of('gtceu:computer_monitor_cover')).EUt(GTValues.VA[GTValues.IV]).duration(120*20)) + + event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer' }) + event.recipes.gtceu.assembly_line('me_pattern_buffer') + .itemInputs('gtceu:luv_dual_input_hatch', + 'gtceu:luv_emitter', + '4x #gtceu:circuits/luv', + '3x ae2:pattern_provider', + '3x ae2:interface', + '4x ae2:speed_card', + '2x ae2:capacity_card', + '64x #forge:fine_wires/europium', + '32x #forge:fine_wires/europium') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 576), Fluid.of('gtceu:lubricant', 500)) + .itemOutputs('gtceu:me_pattern_buffer') + .duration(30 * 20) + .EUt(GTValues.VA[GTValues.LuV]) + ["scannerResearch(java.util.function.UnaryOperator)"](b => + b.researchStack(Item.of('gtceu:luv_dual_input_hatch')).EUt(GTValues.VA[GTValues.LuV]).duration(60*20)) + + event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer_proxy' }) + event.recipes.gtceu.assembly_line('me_pattern_buffer_proxy') + .itemInputs('gtceu:luv_machine_hull', + '2x gtceu:luv_sensor', + '#gtceu:circuits/luv', + 'ae2:quantum_link', + '2x ae2:quantum_ring', + '64x #forge:fine_wires/europium') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 576), Fluid.of('gtceu:lubricant', 500)) + .itemOutputs('gtceu:me_pattern_buffer_proxy') + .duration(30 * 20) + .EUt(GTValues.VA[GTValues.ZPM]) + .stationResearch(b => b.researchStack(Item.of('gtceu:me_pattern_buffer')).EUt(GTValues.VA[GTValues.LuV]).CWUt(32)) + + // #endregion + // Контроллер теплицы event.shaped('gtceu:greenhouse', [ 'ABA', From 3f0206f35cd508d52bba4dd5e3b9aadbf7b58448 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 19:34:49 +0100 Subject: [PATCH 20/62] ore processing chapter tweaks --- .../quests/chapters/ore_processing.snbt | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index aff277eb7..75f89f6bc 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -19,20 +19,23 @@ quests: [ { description: ["{quests.ore_proc.native_ore.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:ore/rich_native_copper" + } id: "5D09BEE61210DF02" size: 1.5d subtitle: "{quests.ore_proc.native_ore.subtitle}" tasks: [{ - id: "047DA2872D107BA0" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item_tag(tfc:ore_pieces))" - } - } + id: "1F5D8018334CFB8F" title: "{quests.ore_proc.native_ore.task}" - type: "item" + type: "checkmark" }] title: "{quests.ore_proc.native_ore.title}" x: 0.5d @@ -246,6 +249,20 @@ item: "gtceu:crushed_cooperite_ore" type: "item" } + { + id: "074FD2C736818A95" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:crushed_gold_ore" + } + type: "item" + } ] title: "{quests.ore_proc.mercury.title}" x: 3.5d @@ -273,20 +290,6 @@ item: "gtceu:crushed_cobalt_ore" type: "item" } - { - id: "46B6DEFD1A7BEA60" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:crushed_tetrahedrite_ore" - } - type: "item" - } ] title: "{quests.ore_proc.sodium_ores.title}" x: -2.5d From 050c90ae35b56930ddd1ce1f8ce7243d50afa105 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 19:35:02 +0100 Subject: [PATCH 21/62] I finally found that pesky "combatting lag" quest --- config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index f04db707a..6ad2cc047 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -868,6 +868,10 @@ id: "63F9531F391040B2" shape: "circle" size: 0.66d + tasks: [{ + id: "186D6246579FB0EF" + type: "checkmark" + }] title: "Combatting Lag" x: 2.25d y: 3.375d From a9d35c95d1a799d332c176cccc28f0621d14ab49 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 19:35:52 +0100 Subject: [PATCH 22/62] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4c1287ad..0b9e9dae9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Steam grinder and oven are now cheaper and use more steam-age appropriate materials (#1091) @Pyritie - Changed HS Greate machines to use blue alloy instead of red steel (#1091) @Pyritie - Changed HV Cutter to use diamond buzzsaw instead of red steel (#1091) @Pyritie +- Fixed some assembly line recipes that had incorrect stack sizes (#1108) @Pyritie ## [0.9.9] - 30.05.2025 ### Changes From 3908a5cf06a05fc3df6e3be134f02c4b3a5a34bf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 19:43:53 +0100 Subject: [PATCH 23/62] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b9e9dae9..027efe295 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Changed HS Greate machines to use blue alloy instead of red steel (#1091) @Pyritie - Changed HV Cutter to use diamond buzzsaw instead of red steel (#1091) @Pyritie - Fixed some assembly line recipes that had incorrect stack sizes (#1108) @Pyritie +- Fixed being able to dupe materials by crafting tools and then recycling them (#1100) @Pyritie ## [0.9.9] - 30.05.2025 ### Changes From 1d2a9125da5e0cf142a881eaf02573ecc46085e9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 May 2025 23:55:55 +0100 Subject: [PATCH 24/62] remove betterfoliage (it is not, in fact, better) --- pakku-lock.json | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 0ed0e8c16..8f7e17ef6 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -837,45 +837,6 @@ } ] }, - { - "pakku_id": "hhShqXRGFVCt6MeX", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "better-foliage-renewed" - }, - "name": { - "curseforge": "Better Foliage Renewed" - }, - "id": { - "curseforge": "470013" - }, - "files": [ - { - "type": "curseforge", - "file_name": "betterfoliage-5.0.2.jar", - "mc_versions": [ - "1.20.2", - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4923/669/betterfoliage-5.0.2.jar", - "id": "4923669", - "parent_id": "470013", - "hashes": { - "sha1": "4163772d08837daf22034e5333ddefc8532cdb69", - "md5": "22f5753234b465c44688f9555acb4713" - }, - "required_dependencies": [], - "size": 396130, - "date_published": "2023-12-03T18:03:18.697Z" - } - ] - }, { "pakku_id": "hn4E1S13hPaLVPSH", "type": "MOD", From 6f550a8daa0bce251dbe8a9e4534405c367b9e8c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 May 2025 22:32:02 +0100 Subject: [PATCH 25/62] pakku updates --- pakku-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pakku-lock.json b/pakku-lock.json index 8f7e17ef6..cc17a0619 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2454,7 +2454,7 @@ { "pakku_id": "SG15bUHPcW2KqNGd", "type": "MOD", - "side": "BOTH", + "side": "CLIENT", "slug": { "curseforge": "detected-setblock-be-gone" }, From 996d3cccd4a47afea8f5315ee7a4f9947a873cd3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 00:05:20 +0100 Subject: [PATCH 26/62] Revert "pakku updates" This reverts commit 6f550a8daa0bce251dbe8a9e4534405c367b9e8c. --- pakku-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pakku-lock.json b/pakku-lock.json index cc17a0619..8f7e17ef6 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2454,7 +2454,7 @@ { "pakku_id": "SG15bUHPcW2KqNGd", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "detected-setblock-be-gone" }, From 7b5e3ab2041d0b2083b164dd08c5ee74a165ffb2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 15:32:53 +0100 Subject: [PATCH 27/62] changed modernfix back to an older version because it was removing tooltips and jade information. Also added back better-foliage --- pakku-lock.json | 86 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 75 insertions(+), 11 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 8f7e17ef6..31d85ceca 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -837,6 +837,45 @@ } ] }, + { + "pakku_id": "LVF7UEBiNQpjRDSW", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "better-foliage-renewed" + }, + "name": { + "curseforge": "Better Foliage Renewed" + }, + "id": { + "curseforge": "470013" + }, + "files": [ + { + "type": "curseforge", + "file_name": "betterfoliage-5.0.2.jar", + "mc_versions": [ + "1.20.2", + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4923/669/betterfoliage-5.0.2.jar", + "id": "4923669", + "parent_id": "470013", + "hashes": { + "sha1": "4163772d08837daf22034e5333ddefc8532cdb69", + "md5": "22f5753234b465c44688f9555acb4713" + }, + "required_dependencies": [], + "size": 396130, + "date_published": "2023-12-03T18:03:18.697Z" + } + ] + }, { "pakku_id": "hn4E1S13hPaLVPSH", "type": "MOD", @@ -5575,21 +5614,25 @@ ] }, { - "pakku_id": "GqxmrhfyICTk70Mg", + "pakku_id": "vLkSeib1zFzTMcPF", "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "modernfix" + "curseforge": "modernfix", + "modrinth": "modernfix" }, "name": { - "curseforge": "ModernFix" + "curseforge": "ModernFix", + "modrinth": "ModernFix" }, "id": { - "curseforge": "790626" + "curseforge": "790626", + "modrinth": "nmDcB62a" }, "files": [ { "type": "curseforge", - "file_name": "modernfix-forge-5.23.0+mc1.20.1.jar", + "file_name": "modernfix-forge-5.21.0+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5597,16 +5640,37 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6548/605/modernfix-forge-5.23.0+mc1.20.1.jar", - "id": "6548605", + "url": "https://edge.forgecdn.net/files/6392/741/modernfix-forge-5.21.0+mc1.20.1.jar", + "id": "6392741", "parent_id": "790626", "hashes": { - "sha1": "901b9adb31fe489c5d6db76dd08b9ed29a4d5395", - "md5": "457fdf4d9c521890ac697485d70e7d37" + "sha1": "95eb1238db9d8229d57ee19999ff5478f092602e", + "md5": "3231eb6ba18ea27d8dd3a66fc4fc952e" }, "required_dependencies": [], - "size": 870142, - "date_published": "2025-05-19T20:50:26.350Z" + "size": 824640, + "date_published": "2025-04-06T19:29:07.607Z" + }, + { + "type": "modrinth", + "file_name": "modernfix-forge-5.21.0+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/5m06ltZw/modernfix-forge-5.21.0+mc1.20.1.jar", + "id": "5m06ltZw", + "parent_id": "nmDcB62a", + "hashes": { + "sha512": "892bcd98869df037db9fa8bbefe62f48e9b0ae6ee65d5768a9a931a3fc3a8aaa436f35f5c643b36dd45545534f26b87a536ec955b8f474d79409ab9193ac6f70", + "sha1": "95eb1238db9d8229d57ee19999ff5478f092602e" + }, + "required_dependencies": [], + "size": 824640, + "date_published": "2025-04-06T19:29:11.851601Z" } ] }, From cec84cef50dd26fcfc4fd48b2fbfe923fc22652a Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sun, 1 Jun 2025 19:54:53 +0500 Subject: [PATCH 28/62] fix #1102 --- config/modernfix-mixins.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/config/modernfix-mixins.properties b/config/modernfix-mixins.properties index d1ab3e7a7..e4ddb82e0 100644 --- a/config/modernfix-mixins.properties +++ b/config/modernfix-mixins.properties @@ -106,3 +106,4 @@ # mixin.safety=true # (default) # # User overrides go here. +mixin.perf.smart_ingredient_sync=false From 76064bd8d2d50c39c7acfc2f2f039f581c8a86dd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 15:58:21 +0100 Subject: [PATCH 29/62] reverted the modernfix revert, added changelog #1102 --- CHANGELOG.md | 1 + pakku-lock.json | 59 ++++++++++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 027efe295..25a3c11f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Changed HV Cutter to use diamond buzzsaw instead of red steel (#1091) @Pyritie - Fixed some assembly line recipes that had incorrect stack sizes (#1108) @Pyritie - Fixed being able to dupe materials by crafting tools and then recycling them (#1100) @Pyritie +- Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro ## [0.9.9] - 30.05.2025 ### Changes diff --git a/pakku-lock.json b/pakku-lock.json index 31d85ceca..a3eee7d4b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2493,7 +2493,7 @@ { "pakku_id": "SG15bUHPcW2KqNGd", "type": "MOD", - "side": "BOTH", + "side": "CLIENT", "slug": { "curseforge": "detected-setblock-be-gone" }, @@ -5630,30 +5630,9 @@ "modrinth": "nmDcB62a" }, "files": [ - { - "type": "curseforge", - "file_name": "modernfix-forge-5.21.0+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6392/741/modernfix-forge-5.21.0+mc1.20.1.jar", - "id": "6392741", - "parent_id": "790626", - "hashes": { - "sha1": "95eb1238db9d8229d57ee19999ff5478f092602e", - "md5": "3231eb6ba18ea27d8dd3a66fc4fc952e" - }, - "required_dependencies": [], - "size": 824640, - "date_published": "2025-04-06T19:29:07.607Z" - }, { "type": "modrinth", - "file_name": "modernfix-forge-5.21.0+mc1.20.1.jar", + "file_name": "modernfix-forge-5.23.0+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5661,16 +5640,37 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/5m06ltZw/modernfix-forge-5.21.0+mc1.20.1.jar", - "id": "5m06ltZw", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/OLk2pIh9/modernfix-forge-5.23.0+mc1.20.1.jar", + "id": "OLk2pIh9", "parent_id": "nmDcB62a", "hashes": { - "sha512": "892bcd98869df037db9fa8bbefe62f48e9b0ae6ee65d5768a9a931a3fc3a8aaa436f35f5c643b36dd45545534f26b87a536ec955b8f474d79409ab9193ac6f70", - "sha1": "95eb1238db9d8229d57ee19999ff5478f092602e" + "sha512": "484f579d0ae8f14a21cfbc462662fe1f4374dd72c1628652b90c48bb67e981028247009f5c2dec44d3c7c728a7c60e0bba01df94746b6b74b08715023bfb46b8", + "sha1": "901b9adb31fe489c5d6db76dd08b9ed29a4d5395" }, "required_dependencies": [], - "size": 824640, - "date_published": "2025-04-06T19:29:11.851601Z" + "size": 870142, + "date_published": "2025-05-19T20:50:30.391293Z" + }, + { + "type": "curseforge", + "file_name": "modernfix-forge-5.23.0+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6548/605/modernfix-forge-5.23.0+mc1.20.1.jar", + "id": "6548605", + "parent_id": "790626", + "hashes": { + "sha1": "901b9adb31fe489c5d6db76dd08b9ed29a4d5395", + "md5": "457fdf4d9c521890ac697485d70e7d37" + }, + "required_dependencies": [], + "size": 870142, + "date_published": "2025-05-19T20:50:26.350Z" } ] }, @@ -6592,7 +6592,6 @@ "id": { "curseforge": "585406" }, - "export": false, "files": [ { "type": "curseforge", From dcd975a430506665b106545e085a17c387b3154c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 16:47:29 +0100 Subject: [PATCH 30/62] added tfc anvil helper resource pack --- pakku-lock.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/pakku-lock.json b/pakku-lock.json index a3eee7d4b..0352e7891 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7498,6 +7498,39 @@ } ] }, + { + "pakku_id": "XZwi3JnDyzH7acsj", + "type": "RESOURCE_PACK", + "slug": { + "curseforge": "tfc-anvil-helper" + }, + "name": { + "curseforge": "TFC Anvil Helper" + }, + "id": { + "curseforge": "836902" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Perfected Anvil Helper.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4862/357/Perfected Anvil Helper.zip", + "id": "4862357", + "parent_id": "836902", + "hashes": { + "sha1": "67ce571b82410f62b776cd20b6a026802033217d", + "md5": "87a9cf1bb3533bbfbea4ff774d584be9" + }, + "required_dependencies": [], + "size": 20640, + "date_published": "2023-11-12T16:56:04.330Z" + } + ] + }, { "pakku_id": "4WwQ11qPky8VtFcw", "pakku_links": [ From a85f4dafe35c5c07786aa89efbbd6962fd8eda0e Mon Sep 17 00:00:00 2001 From: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> Date: Sun, 1 Jun 2025 14:06:03 -0300 Subject: [PATCH 31/62] Winemaking Recipes (#1111) * Winemaking recipes Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --------- Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --- CHANGELOG.md | 1 + kubejs/server_scripts/firmalife/recipes.js | 45 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25a3c11f0..bff52d7a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Fixed some assembly line recipes that had incorrect stack sizes (#1108) @Pyritie - Fixed being able to dupe materials by crafting tools and then recycling them (#1100) @Pyritie - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro +- Added Wine utensils recipes for GT (#1111) @JeanRdS ## [0.9.9] - 30.05.2025 ### Changes diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 257b3c329..9aa3f1a0c 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -119,6 +119,51 @@ const registerFirmaLifeRecipes = (event) => { .duration(50) .EUt(7) + //#region Wine Working + + event.recipes.gtceu.alloy_smelter('firmalife:empty_olivine_wine_bottle') + .itemInputs('tfc:olivine_glass_batch') + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('firmalife:empty_olivine_wine_bottle') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter('firmalife:empty_volcanic_wine_bottle') + .itemInputs('tfc:volcanic_glass_batch') + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('firmalife:empty_volcanic_wine_bottle') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter('firmalife:empty_hematitic_wine_bottle') + .itemInputs('tfc:hematitic_glass_batch') + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('firmalife:empty_hematitic_wine_bottle') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter('firmalife:wine_glass') + .itemInputs('tfc:silica_glass_batch') + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('2x firmalife:wine_glass') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('firmalife:cork') + .itemInputs('firmalife:treated_lumber') + .inputFluids(Fluid.of('tfc:limewater',1000)) + .itemOutputs('8x firmalife:cork') + .duration(300) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('firmalife:bottle_label') + .itemInputs('#forge:wax','minecraft:paper') + .itemOutputs('16x firmalife:bottle_label') + .duration(30) + .EUt(GTValues.VA[GTValues.ULV]) + + //#endregion + // TODO: Не работает потому что грегтех // Доставание меда из сот /* From e4d943eab4f7baa03624dbfbb1029c802cfd8f1f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 18:14:01 +0100 Subject: [PATCH 32/62] langs --- kubejs/assets/tfg/lang/en_us.json | 6 +- kubejs/assets/tfg/lang/pt_br.json | 193 +++++++++++++++++++++++++++++- 2 files changed, 197 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index bb5675abf..e221360df 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -257,6 +257,7 @@ "item.tfg.uv_universal_circuit": "UV Universal Circuit", "item.tfg.uhv_universal_circuit": "UHV Universal Circuit", "item.tfg.piglin_disguise": "Piglin Disguise", + "item.tfg.trowel": "Trowel", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -2298,5 +2299,8 @@ "quests.tfg_tips.piglin_bartering.subtitle": "We are not alone apparently", "quests.tfg_tips.piglin_bartering.desc": "The curious inhabitants of &4The Beneath&r have items to offer... Trade gold with them to get some useful resource, such as small amounts of &aMetals&r or &aLeather.&r\nCheck out the &2Field Guide&r for details about barter trades.", "quests.tfg_tips.piglin_disguise.subtitle": "They'll never know...", - "quests.tfg_tips.piglin_disguise.desc": "Do you feel like you don't belong?\n Do the &4Piglin&r attack you at your school because of your appearance?\n Try wearing a &aPiglin Disguise&r to ward off unwanted attention and blend right in." + "quests.tfg_tips.piglin_disguise.desc": "Do you feel like you don't belong?\n Do the &4Piglin&r attack you at your school because of your appearance?\n Try wearing a &aPiglin Disguise&r to ward off unwanted attention and blend right in.", + "quests.tfg_tips.trowel.title": "Trowel", + "quests.tfg_tips.trowel.subtitle": "Inspired by Quark!", + "quests.tfg_tips.trowel.desc": "A &4Trowel&r is a tool for builders that can &brandomly place blocks&r located in the hotbar. Trowels can also use bricks and other useable items to randomize tiles for &5RNR Roads&r." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index f2baedcc4..9f530198f 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -508,5 +508,196 @@ "tfg.grapplemod.upgrades.vertical_throwing_angle": "Aumenta o §lÂngulo de Lançamento Vertical§r do gancho em 5°, até 90°.", "tfg.grapplemod.downgrades.vertical_throwing_angle": "Diminui o §lÂngulo de Lançamento Vertical§r do gancho em 5°, até 0°.", "tfg.grapplemod.upgrades.angle": "Aumenta o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 90°.\nApenas acessível com um §lGancho Duplo§r instalado.", - "tfg.grapplemod.downgrades.angle": "Diminui o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 5°.\nApenas acessível com um §lGancho Duplo§r instalado." + "tfg.grapplemod.downgrades.angle": "Diminui o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 5°.\nApenas acessível com um §lGancho Duplo§r instalado.", + "quests.stone_age": "Idade da Pedra", + "quests.stone_age.subtitle": "Começos Humildes", + "quests.stone_age.foods.title": "Com Fome?", + "quests.stone_age.foods.subtitle": "Cadê minha comidinha fácil?", + "quests.stone_age.foods.desc": "Em TerraFirmaGreg, o mundo é implacável, e um dos aspectos mais importantes da sobrevivência é conseguir comida. A maioria dos alimentos por si só tem pouco valor nutricional, enquanto outros podem ser letais se não forem cozidos. Sua fome é representada pela barra verde ao lado da sua vida.\n\nComece obtendo qualquer tipo de alimento.", + "quests.stone_age.nutrition.title": "Mecânica: Nutrição", + "quests.stone_age.nutrition.subtitle": "Como assim eu não posso viver só de bife?", + "quests.stone_age.nutrition.desc": "Cada alimento básico em TerraFirmaGreg possui um valor nutricional, dividido em 5 categorias: &lGrãos&r, &lFrutas&r, &lVegetais&r, &lProteínas&r e &lLaticínios&r.\n\nVocê até pode comer só um tipo de nutriente, como Proteína, mas sua vida máxima será reduzida. Já manter uma dieta balanceada permite alcançar uma vida máxima bem maior. Cada 100 de vida equivale a um coração.\n\nConfira a seção \"Comida e Água\" no guia de campo para mais detalhes.", + "quests.stone_age.cook_meat.title": "Cozinha Básica", + "quests.stone_age.cook_meat.subtitle": "Você não quer morrer comendo carne crua, né?", + "quests.stone_age.cook_meat.desc": "Cozinhar carne crua é essencial para obter proteína, além de aumentar o tempo de conservação, também libera mais nutrientes para seu corpo exigente.\n\nA maneira mais simples de cozinhar carne é usando uma Fogueira. Veja a missão abaixo para aprender a fazer uma.", + "quests.stone_age.soup_time.title": "Sopas", + "quests.stone_age.soup_time.subtitle": "Você estava em qual mercado?", + "quests.stone_age.soup_time.desc": "Ao criar um pote e algumas tigelas de argila, você poderá preparar sopas!\n\nAs sopas são uma das primeiras e mais simples formas de criar refeições mais complexas. Diferente de comer os ingredientes crus, elas têm muito mais saturação e permitem consumir vários nutrientes de uma vez só!", + "quests.stone_age.meals.title": "Refeições", + "quests.stone_age.meals.subtitle": "ENTRA NO MEU BUCHO!", + "quests.stone_age.meals.desc": "Estas são apenas algumas das refeições básicas que você pode preparar. Sopas, saladas e sanduíches são boas opções para refeições combinadas com alta saturação, enquanto pizzas são o único alimento que pode conter todos os tipos de nutrientes ao mesmo tempo.", + "quests.stone_age.meals.tasks.1": "Qualquer Sanduíche comum", + "quests.stone_age.meals.tasks.2": "Qualquer Sanduíche com Geleia", + "quests.stone_age.garlic_bread.title": "Pão de Alho...?", + "quests.stone_age.garlic_bread.subtitle": "Tá tentando espantar um vampiro ou o quê?", + "quests.stone_age.garlic_bread.desc": "Dica: A missão aceita QUALQUER pão de alho, não precisa estar fresco.", + "quests.stone_age.garlic_bread.task": "1024 fatias de Pão de Alho", + "quests.stone_age.find_potable_water.title": "Com Sede?", + "quests.stone_age.find_potable_water.subtitle": "Não esquece de tomar água!", + "quests.stone_age.find_potable_water.desc": "A sede é representada pela barra azul acima da fome. Você pode (e vai) morrer de desidratação se não mantiver a barra cheia! A forma mais simples de beber água é clicando com o botão direito com a mão vazia em lagoas na natureza.\nPara completar esta missão, é necessário beber de uma fonte potável de água, seja comum ou de rio. Pode ser necessário beber várias vezes para que a missão seja registrada corretamente.\n\nVocê não precisa se preocupar em purificar a água aqui, mas Água Salgada só vai te deixar com mais sede.", + "quests.stone_age.find_potable_water.task": "Beba de uma Fonte de Água com a Mão. (Não salgada nem quente)", + "quests.stone_age.hydration.title": "Mecânica: Hidratação", + "quests.stone_age.hydration.subtitle": "Mais uma barra pra manter cheia...", + "quests.stone_age.hydration.desc": "A água é um recurso importante, e não apenas para matar a sede! Estabelecer uma base próxima a um lago ou rio de água doce é recomendado, para facilitar o acesso. Outros itens também podem saciar a sede, como certos alimentos ou bebidas.\n\nPorém, água nem sempre estará disponível durante suas explorações, então aqui estão algumas formas de levar bebida com você. Beber consome 100mB do recipiente.", + "quests.stone_age.leather_flask.title": "Cantil de Couro", + "quests.stone_age.leather_flask.subtitle": "Fiel Companheiro", + "quests.stone_age.leather_flask.desc": "Um Cantil de Couro é provavelmente a segunda solução portátil mais fácil para armazenar água, logo após a Jarra de Cerâmica. Ele pode armazenar 500mB, o suficiente para cinco goles.\n\nO cantil de couro se desgasta com o uso, mas pode ser consertado se você tiver couro à mão. Bexigas podem ser obtidas de animais selvagens maiores.", + "quests.stone_age.iron_flask.title": "Cantil de Ferro", + "quests.stone_age.iron_flask.subtitle": "Esse vai durar bastante", + "quests.stone_age.iron_flask.desc": "O Cantil de Ferro é uma melhoria em relação ao de couro. Ele tem muito mais durabilidade e pode armazenar líquido suficiente para 20 goles.", + "quests.stone_age.water_bucket.title": "Balde de Água", + "quests.stone_age.water_bucket.subtitle": "Não é tão fácil de conseguir quanto parece", + "quests.stone_age.water_bucket.desc": "Carregar uma fonte de água é uma forma fácil de nunca ficar sem, mas pode ser um pouco incômodo.\n\nInfelizmente, baldes de madeira não servem para beber água, pois não movimentam blocos-fonte. Ao tentar colocá-la no mundo, apenas uma poça pequena será criada.", + "quests.stone_age.glass_bottles.title": "Garrafas de Vidro", + "quests.stone_age.glass_bottles.subtitle": "Não são tão estilosas quanto um cantil de couro", + "quests.stone_age.glass_bottles.desc": "Garrafas de vidro são tão eficazes quanto um cantil de couro, armazenando 500mB de água. No entanto, soprar garrafas de vidro só será possível mais tarde, quando você puder moldar Latão.", + "quests.stone_age.water_jug.title": "Jarra de Cerâmica", + "quests.stone_age.water_jug.subtitle": "Água relativamente fácil", + "quests.stone_age.water_jug.desc": "A Jarra de Cerâmica é o primeiro recipiente de líquidos que você pode fabricar, mas só armazena 100mB, ou seja, precisa ser recarregada a cada gole.\n\nA jarra é relativamente frágil e tem uma chance aleatória de quebrar ao ser usada para beber!", + "quests.stone_age.temperature.title": "Clima", + "quests.stone_age.temperature.subtitle": "A previsão de hoje? Sofrimento.", + "quests.stone_age.temperature.desc": "Um novo mundo começa no início do verão, com cada mês durando 8 dias. As estações mudam, e com elas, a temperatura, o que afeta plantações, árvores frutíferas, arbustos... e você!\n\nA temperatura corporal precisa ser mantida estável. O pequeno triângulo entre sua vida e fome mostra a temperatura atual e para qual está indo. Segure Agachar para ver os números exatos — o número da esquerda é o quão molhado você está, o da direita é sua temperatura.", + "quests.stone_age.temperature.task": "Existir", + "quests.stone_age.insulation.title": "Mecânica: Temperatura Corporal", + "quests.stone_age.insulation.subtitle": "Cuidado com a hipo- e hipertermia.", + "quests.stone_age.insulation.desc": "Muitos fatores afetam sua temperatura corporal — desde exposição ao sol direto, estar molhado, até ficar perto do fogo. Você precisa manter a temperatura entre 0 e 30\u202F°C, ou sofrerá dano, indicado por um efeito visual colorido.\n\nExistem várias formas de reduzir o impacto da temperatura ambiente e manter seu corpo estável, sendo que usar &lRoupas&r é uma das mais eficazes. Elas podem ser vestidas nos slots normais ou nos slots de curiosidades.", + "quests.stone_age.primitive_insulation.title": "Isolamento Primitivo", + "quests.stone_age.primitive_insulation.subtitle": "Homem das Cavernas Chique", + "quests.stone_age.primitive_insulation.desc": "Pelado e congelando? Essa é a roupa mais fácil que você pode fabricar. Embora tenha durabilidade baixa, deve durar até você conseguir algo melhor.", + "quests.stone_age.furs.title": "Pelagens de Predadores", + "quests.stone_age.furs.subtitle": "Furries hardcore", + "quests.stone_age.furs.desc": "Animais predadores de grande porte deixam cair suas pelagens em vez de peles brutas, que você pode transformar em roupas isolantes ou raspar para obter pele bruta e então transformá-lo em couro normalmente.", + "quests.stone_age.wool_clothes.title": "Roupas de Lã", + "quests.stone_age.wool_clothes.subtitle": "Para o frio de lascar!", + "quests.stone_age.wool_clothes.desc": "Roupas de lã são perfeitas para climas frios e invernos rigorosos. Um conjunto completo de roupas de lã é ideal para sobreviver à maioria dos invernos.\n\nVocê terá que fazer amizade (ou matar) algum mamífero produtor de lã, como uma ovelha, alpaca ou boi-almiscarado. A seção de Fauna do Guia de Campo lista onde encontrar cada animal, e a seção de Criação Animal explica como tosquiá-los.", + "quests.stone_age.insulated_leather_clothes.title": "Roupas de Couro Isoladas", + "quests.stone_age.insulated_leather_clothes.subtitle": "Quando começa a esfriar lá fora", + "quests.stone_age.insulated_leather_clothes.desc": "Roupas de couro isoladas são mais fáceis de fazer do que um conjunto completo de roupas de lã, mas fornecem menos isolamento e calor. Ainda assim, são muito eficazes para viver em regiões mais temperadas.\n\nVocê precisará matar animais para obter o couro e também fazer amizade (ou matar) algum mamífero produtor de lã para fabricar cordões de lã, como uma ovelha, alpaca ou boi-almiscarado. A seção de Fauna do Guia de Campo mostra onde encontrar cada animal, e a seção de Criação Animal explica como tosquiá-los.", + "quests.stone_age.burlap_clothes.title": "Roupas de Estopa", + "quests.stone_age.burlap_clothes.subtitle": "Para quando o calor estiver demais", + "quests.stone_age.burlap_clothes.desc": "Estopa é feita de fibra de juta. A juta pode crescer na maioria dos climas mais quentes, desde que suas necessidades de temperatura e hidratação sejam atendidas.\n\nRoupas de estopa são ótimas para verões quentes ou certos outros ambientes quentes, mas falaremos mais sobre isso depois.", + "quests.stone_age.silk_clothes.title": "Roupas de Seda", + "quests.stone_age.silk_clothes.subtitle": "Sem bichos-da-seda, infelizmente!", + "quests.stone_age.silk_clothes.desc": "Seda é feita de fios de aranha, que podem ser difíceis de obter em grandes quantidades sem se aventurar em locais bem profundos.\n\nRoupas de seda são excelentes para ambientes extremamente quentes, como desertos ou as partes mais profundas do Subterrâneo.", + "quests.stone_age.clothes.title": "Roupas", + "quests.stone_age.clothes.subtitle": "Estiloso!", + "quests.stone_age.clothes.desc": "Usar roupas é uma forma fácil de lidar com temperaturas extremas. Roupas quentes como lã ou couro isolado são ótimas para ambientes frios, enquanto seda ou estopa são ideais para ambientes quentes.", + "quests.stone_age.find_rock.title": "Encontre Algumas Pedras", + "quests.stone_age.find_rock.subtitle": "Grug. Quebra. Pedra", + "quests.stone_age.find_rock.desc": "Ao começar sua jornada, a primeira coisa que você notará é um mundo completamente diferente. Você não pode mais quebrar árvores com as mãos, mas não se preocupe — nenhum homem das cavernas de verdade sobrevive sem suas ferramentas de pedra!\n\nEm vez de fabricar uma picareta de madeira, você pode simplesmente pegar pedras do chão. Comece coletando pelo menos 4 pedras. Você pode coletá-las quebrando ou clicando com o botão direito em pedras com a mão vazia.", + "quests.stone_age.rock_knapping.title": "Talhando Pedras", + "quests.stone_age.rock_knapping.subtitle": "Como nos velhos tempos do Paleolítico", + "quests.stone_age.rock_knapping.desc": "Pedras podem ser 'talhadas', o que é o processo de moldar um material bruto em uma forma utilizável batendo uma pedra contra a outra. A talha de pedra requer pelo menos duas pedras, e ao segurá-las e clicar com o botão direito no ar, você abrirá a interface de talha. Então, você pode 'lascar' uma das pedras para criar uma cabeça de ferramenta de pedra. Todos os formatos de ferramentas estão no EMI e no Guia de Campo.\n\nAs duas ferramentas mais importantes para o início da sua jornada são a faca de pedra e o machado de pedra, então tente talhar essas cabeças de ferramentas.", + "quests.stone_age.find_stick.title": "Encontre Alguns Gravetos", + "quests.stone_age.find_stick.subtitle": "Você precisa segurar essa ferramenta de algum jeito", + "quests.stone_age.find_stick.desc": "Outro item abundante no chão são gravetos, que têm muitos usos! Eles podem ser usados para criar ferramentas, tochas, acendedores e mais.\n\nPara evitar que seu inventário fique lotado com diferentes tipos de gravetos, você pode convertê-los em gravetos 'regulares' para empilhá-los juntos. Mais tarde, você poderá juntar nove gravetos em um Feixe, e o Feixe em um Fardo, que poderá ser usado como substituto da madeira em toras.", + "quests.stone_age.first_stone_tools.title": "Suas Primeiras Ferramentas", + "quests.stone_age.first_stone_tools.subtitle": "Agora você é um macaco esperto", + "quests.stone_age.first_stone_tools.desc": "Ao talhar pedras em formas utilizáveis, você pode combiná-las com um graveto para criar suas primeiras ferramentas básicas. Você oficialmente entrou na Idade da Pedra!\n\nPedras são suficientes para a sobrevivência básica, mas eventualmente você vai querer criar ferramentas de metal para ter mais velocidade, durabilidade e opções. As próximas duas missões vão te ajudar a coletar os itens necessários.", + "quests.stone_age.stone_tools.title": "Ferramentas de Pedra", + "quests.stone_age.stone_tools.subtitle": "Aparentemente bater as pedras é útil", + "quests.stone_age.stone_tools.desc": "Embora pedra seja um material simples e primitivo, é o que você tem até aprender a trabalhar com metais. Algumas outras ferramentas úteis incluem o Dardo, que pode ser lançado como um Tridente do Minecraft, e a Enxada, que permite arar a terra.", + "quests.stone_age.gather_straw.title": "Coletar Palha", + "quests.stone_age.gather_straw.subtitle": "Você também pode usar uma Enxada se quiser", + "quests.stone_Age.gather_straw.desc": "A maioria das gramas que você encontrar no mundo pode ser colhida para obter palha, ao serem quebradas com uma Faca ou Enxada. A Palha tem diversos usos na fabricação, mas você vai querer pelo menos 8 para criar um Forno de Cova.\n\nA palha também pode ser usada para criar um Chapéu de Palha para alguma proteção solar básica, ou Cobertura de Palha, um bloco simples de construção sem colisão.", + "quests.stone_age.gather_logs.title": "Coletar Toras", + "quests.stone_age.gather_logs.subtitle": "Madeiraaa!!", + "quests.stone_age.gather_logs.desc": "Com seu novo Machado de Pedra, você poderá derrubar árvores. Quebrar a base de uma árvore faz com que ela caia inteira, gerando toras, gravetos e mudas.\n\nRecolha pelo menos 10 toras — 8 serão usadas no Forno de Cova e as outras 2 em uma Fogueira.", + "quests.stone_age.firepit.title": "Fogueira", + "quests.stone_age.firepit.subtitle": "A noite está chegando", + "quests.stone_age.firepit.desc.1": "Agora que você tem algumas toras, é hora de construir sua primeira Fogueira! Embora monstros não apareçam na superfície à noite, predadores noturnos estarão acordados e à espreita.\n\nPrimeiro, será necessário criar um Acendedor, uma ferramenta que permite iniciar fogueiras.", + "quests.stone_age.firepit.desc.2": "Para criar sua Fogueira, jogue pelo menos uma Tora e até 3 gravetos no chão, depois acenda o bloco de baixo clicando com o botão direito e segurando com seu Acendedor. Você também pode adicionar Palha para facilitar.\n\nA fogueira não é apenas uma fonte de luz e calor, mas pode ser usada para acender tochas e cozinhar carne crua. Você pode manter sua fogueira acesa interagindo com ela e adicionando toras na interface. Se o fogo se apagar, basta adicionar mais toras e reacendê-la com o Acendedor.", + "quests.stone_age.find_clay.title": "Fontes de Argila", + "quests.stone_age.find_clay.subtitle": "Você vai precisar de muita", + "quests.stone_age.find_clay.desc": "Argila é uma parte essencial da tecnologia da Idade da Pedra! Semelhante à talha de pedras, a argila pode ser moldada em diferentes formas e então queimada em um Forno de Cova para criar uma variedade de itens. Ferramentas de pedra e cerâmica de argila serão a base da sua sobrevivência até que você aprenda a trabalhar com metais.\n\nA argila é encontrada em blocos no solo, geralmente cobertos por grama. No entanto, certos tipos de plantas conhecidas como \"Indicadores de Argila\" crescem exclusivamente sobre argila. Consulte o Guia de Campo para saber quais indicadores crescem no seu clima.", + "quests.stone_age.clay.title": "Argila", + "quests.stone_age.clay.subtitle": "É Argila!", + "quests.stone_age.clay.desc": "Recolha pelo menos 25 unidades de argila. Você precisará fazer pelo menos 5 itens diferentes para progredir (veja as próximas missões). Após moldar a argila, coloque os itens em um Forno de Cova para transformá-los em cerâmica. A moldagem funciona como a talha de pedras, mas usa 5 argilas por item e a argila não é perdida caso você clique errado.", + "quests.stone_age.pit_kiln.title": "Forno de Cova", + "quests.stone_age.pit_kiln.subtitle": "Está esquentando", + "quests.stone_age.pit_kiln.desc": "O Forno de Cova é um método inicial de aquecer itens. Vamos usá-lo tanto para queimar os itens de argila quanto, mais importante, derreter minérios básicos e criar nossa primeira ferramenta de metal, uma Serra.\n\nPara criar um forno de cova, você vai precisar de oito unidades de palha, oito toras, algo que queira aquecer e um Acendedor. Leia a seção do Guia de Campo sobre Fornos de Cova para saber como construí-lo — ele não funciona como a fogueira!", + "quests.stone_age.clay_products.title": "Produtos de Argila", + "quests.stone_age.clay_products.subtitle": "Eu disse que a Argila era versátil.", + "quests.stone_age.clay_products.desc": "Estes são todos os produtos que você pode criar com argila. Os moldes são usados na metalurgia, os Vasos servem para armazenar itens, e os demais têm usos explicados no Guia de Campo. Acha que consegue moldar todos eles?", + "quests.stone_age.make_jug.title": "Cântaro de Cerâmica", + "quests.stone_age.make_jug.subtitle": "Recipiente de fluido do início do jogo", + "quests.stone_age.make_jug.desc": "Um cântaro, ou jarro, é o recipiente de fluido mais fácil de criar, mas só pode armazenar 100 mB. Você também pode beber dele — e até assoprar para fazer sons!", + "quests.stone_age.make_saw_mold.title": "Molde de Serra", + "quests.stone_age.make_saw_mold.subtitle": "Hora da sua primeira ferramenta de metal", + "quests.stone_age.make_saw_mold.desc": "O primeiro molde que você deve fazer de argila é o Molde de Serra. Com ele e uma pequena quantidade de metal, você pode criar uma Serra. A Serra é uma ferramenta importante, pois é necessária para criar &lTábuas&r, e com elas, você poderá criar sua primeira &l&oBancada de Trabalho.&r", + "quests.stone_age.make_vessel.title": "Vasos", + "quests.stone_age.make_vessel.subtitle": "Pequenos potes úteis.", + "quests.stone_age.make_vessel.desc": "O Vaso pode ser usado como uma Trouxa, para carregar vários itens em um único espaço, mas mais importante, é sua primeira ferramenta para começar a trabalhar com Metais.\n\nAo interagir com o Vaso, você abrirá seu pequeno inventário, onde pode colocar minérios. A dica de ferramenta do Vaso também mostra no que seus minérios irão derreter, o que é especialmente útil ao criar ligas!\n\nColocar o Vaso em um Forno de Cova e aquecê-lo permite &lderreter&r o metal dentro.\n\nSe estiver se sentindo como Dr. Stone, você pode misturar diferentes tipos de metal para criar Ligas. As ligas exigem misturas com porcentagens específicas de metais. Embora o Cobre seja ótimo de imediato, você pode fazer suas primeiras ferramentas de metal com Bronze.", + "quests.stone_age.native_ores.title": "Pedrinhas com minério?", + "quests.stone_age.native_ores.subtitle": "Seu primeiro metal já está disponível, basta você procurar.", + "quests.stone_age.native_ores.desc.1": "Veios de minério geram de forma diferente do que você pode estar acostumado — você não pode simplesmente entrar em uma caverna aleatória, em vez disso, será necessário encontrar \"Indicadores\" na superfície. Eles podem parecer pequenas pedras, montes de poeira ou até mesmo pequenos brotos de cristal.\n\nNão consegue encontrar nada que derreta em Cobre? Tente procurar por outro tipo de pedra -- minérios diferentes surgem em rochas diferentes. Verifique a categoria Minérios do TFG no seu Guia de Campo para uma lista completa.", + "quests.stone_age.native_ores.desc.2": "Por que são chamados de Indicadores? Significa que diretamente abaixo existe um veio grande, ENORME, com o mesmo minério que você encontrou na superfície. Você ainda não tem uma picareta, então anote o local onde encontrou o Minério! Será muito útil mais tarde.\n\nCada um vale aproximadamente o mesmo que um pepita, então colete o máximo que puder, mas não se esqueça de anotar onde os encontrou!", + "quests.stone_age.first_saw.title": "Serra Metálica", + "quests.stone_age.first_saw.subtitle": "Hora da sua primeira ferramenta de metal", + "quests.stone_age.first_saw.desc.1": "Para começar a fazer sua Serra, adicione pelo menos 144mb de minério do metal desejado a um Vaso. Depois, coloque o Vaso em um Forno de Cova e acenda-o.\n\nAssim que o forno apagar, rapidamente pegue seu vaso enquanto ele ainda estiver quente, segurando algumas Pinças de Madeira na mão secundária, e interaja com ele para abrir a interface de Derramamento. Basta colocar o Molde de Serra no slot da interface e assistir enquanto ele se enche com sua primeira Cabeça de Serra. Depois, combine a Cabeça de Serra com um Graveto e você criará sua Serra!", + "quests.stone_age.first_saw.desc.2": "Embora o metal mais fácil de trabalhar seja o Cobre, você pode tentar fazer uma liga. As tarefas dessa missão aceitarão tanto um item feito de Cobre quanto de Bronze.\n\n&lBronze de Bismuto&r: Cobre, Bismuto e Zinco. O mais fraco dos bronzes, mas também o mais fácil de fazer.\n\n&Bronze&r: Cobre e Estanho. O mais equilibrado dos bronzes.\n\n&Bronze Negro&r: Cobre, Ouro e Prata: O melhor bronze no início do jogo, mas é consideravelmente mais caro.", + "quests.stone_age.first_saw.tasks.1": "Uma Cabeça de Serra de Cobre ou Bronze.", + "quests.stone_age.first_saw.tasks.2": "Uma Serra de Cobre ou Bronze.", + "quests.stone_age.craft_lumber.title": "Hora da Bancada de Trabalho", + "quests.stone_age.craft_lumber.subtitle": "A criação 3x3 está ao seu alcance", + "quests.stone_age.craft_lumber.desc": "Combine sua nova Serra com um Tronco na grade de criação para criar Tábuas. 4 Tábuas podem então ser transformadas em Pranchas...\n\ne quando você tiver 4 pranchas, é hora de fazer sua primeira Bancada de Trabalho.", + "quests.stone_age.workbench.title": "Bancada de Trabalho", + "quests.stone_age.workbench.subtitle": "Esta... é uma Mesa de Criação", + "quests.stone_age.workbench.desc": "Parabéns! Com sua Bancada de Trabalho, você entrou oficialmente no auge da Idade da Pedra. Com ela, poderá criar uma infinidade de coisas novas com os itens que reuniu até agora.\n\nAgora vem seu principal objetivo na Idade Primitiva: metalurgia adequada com a Bigorna de Cobre.\n\nObservação: embora você possa reunir materiais suficientes para fazer 14 lingotes de bronze agora, não poderá transformá-los em uma bigorna de bronze sem antes criar a de cobre, foi mal aí! Pelo menos as bigornas são recicláveis, então nada será desperdiçado.", + "quests.stone_age.inventory.title": "Opções de Armazenamento Inicial", + "quests.stone_age.inventory.subtitle": "Hora de parar de carregar tralhas em vasos", + "quests.stone_age.inventory.desc": "No início do jogo, você tem 4 soluções simples de armazenamento:\n\n&lBaú&r: Barato e fácil de criar, mas com apenas 18 espaços e não pode armazenar itens Grandes ou maiores.\n\n&lCaixote&r: Inventário de um bloco só, o mais barato tem 27 espaços, mas é mais caro de fazer.\n\n&lCarrinho de Suprimentos&r: Tem um tamanho enorme de 54 espaços e pode ser carregado com você, mas ocupa muito espaço.\n\n&lVasos Grandes&r: Os mais baratos de fazer, exigem apenas argila e são ideais para conservar alimentos. Estão disponíveis em várias cores!", + "quests.stone_age.portable_storage.title": "Armazenamento Portátil?", + "quests.stone_age.portable_storage.subtitle": "Porque carregar tralhas demais é um saco", + "quests.stone_age.portable_storage.desc": "No capítulo &lDicas TerraFirmaGreg&r, há uma seção que cobre todas as suas opções diferentes de Armazenamento Portátil, para expandir o número de itens que você pode carregar ao explorar o mundo. Se estiver com dificuldade de encontrar as missões, elas estão no ramo mais à direita da árvore.", + "quests.stone_age.barrels.title": "Barris", + "quests.stone_age.barrels.subtitle": "Carregar isso aqui é barril dobrado!", + "quests.stone_age.barrels.desc": "Diferente de seus equivalentes da versão vanilla, os Barris aqui são usados para Armazenamento de Líquidos. Eles podem armazenar até 10 Baldes de fluido, permitindo um armazenamento relativamente simples de líquidos.\n\nVocê também pode combinar esses líquidos com outros itens para criar coisas como Couro, Cola, Argamassa e muito mais.", + "quests.stone_age.leather.title": "Couro", + "quests.stone_age.leather.subtitle": "É óbvio que é mais complicado! AQUI É O TFG!!", + "quests.stone_age.leather.desc": "Ao serem mortos, animais selvagens deixam Couros Brutos. A pele bruta não pode ser usada diretamente como couro e precisa ser processado primeiro.\n\nO Couro, assim como Argila e Pedra, pode ser Talhado. Talhar couro permite criar coisas como Armaduras de Couro, Frascos e muito mais.\nSe você não quiser matar animais por couro, e viver em uma região tropical, pode transformar Abacaxi em Couro de Abacaxi, que é um substituto do couro.", + "quests.stone_age.leather_armor.title": "Armadura de Couro", + "quests.stone_age.leather_armor.subtitle": "Proteção bem básica", + "quests.stone_age.leather_armor.desc": "A Armadura de Couro, assim como sua contraparte do Minecraft, é usada como um conjunto de armadura bem básico. Pode não proteger muito, mas te defende um pouco contra os elementos e oferece resistência OK contra dano de Corte.", + "quests.stone_age.mining_prep.title": "Preparações para Mineração", + "quests.stone_age.mining_prep.subtitle": "Espero que você tenha anotado onde encontrou os indicadores de minério!", + "quests.stone_age.mining_prep.desc.1": "Progredir além da Idade da Pedra exigirá muito metal, e pegar minérios pequenos na superfície não será suficiente. Você terá que cavar e começar a minerar.\nAssumindo que você &oanotou&r o local onde encontrou o cobre, encontre o meio aproximado dos indicadores e comece a cavar! Pode ser bem fundo, mas eventualmente você ficará rico. A próxima página mostra os equipamentos que você deve levar na sua primeira escavação!", + "quests.stone_age.mining_prep.desc.2": "&lPicareta&r: Bem óbvio que é necessária para quebrar pedra e extrair minério. Martelos não funcionam!\n\n&lEscadas e Tochas&r: Você precisará de uma maneira de subir e descer do buraco, e de luz para enxergar!\n\n&lVigas de Apoio e Pranchas&r: Minerar em TFG é bem mais perigoso — monstros aparecem no subsolo, e cavar sem cuidado pode causar desabamentos! A missão acima desta explica como mitigar esses perigos.\n\nAgora vá cavar seu buraco, sua topeira!", + "quests.stone_age.hazards.title": "Perigos da Mineração", + "quests.stone_age.hazards.subtitle": "Achou que a superfície era difícil? Achou errado, otário!", + "quests.stone_age.hazards.desc.1": "Além dos monstros, o maior desafio ao minerar são os desabamentos. Se um bloco de pedra bruta ou minério tiver ar abaixo dele, é considerado 'sem suporte' e pode desmoronar sempre que um bloco próximo for quebrado. Tetos de cavernas são cobertos por pedra Endurecida, que não colapsa. Para evitar isso, o mais seguro é minerar o chão, mas se quiser minerar outras áreas, será necessário aprender a usar vigas de apoio! Elas são feitas com troncos e uma serra.", + "quests.stone_age.hazards.desc.2": "O Guia de Campo tem mais detalhes e diagramas sobre como exatamente as vigas funcionam, mas a versão resumida é: coloque-as com no máximo quatro blocos de distância entre si. Apenas as vigas verticais superiores realmente dão suporte, e elas têm um pequeno raio de ação.", + "quests.stone_age.copper_for_anvil.title": "Cobre para a Bigorna", + "quests.stone_age.copper_for_anvil.subtitle": "É melhor se acostumar a conseguir 14 lingotes de algo.", + "quests.stone_age.copper_for_anvil.desc": "Bigornas não são baratas! Cada bigorna exigirá 14 lingotes, que depois são soldados em 7 lingotes duplos.\n\nVocê pode querer começar a minerar neste ponto se ainda não começou — juntar 126 pedaços de cobre pequeno não é fácil.", + "quests.stone_age.get_raw_rock.title": "Rocha Bruta", + "quests.stone_age.get_raw_rock.subtitle": "Não, não é só \"Pedra\"", + "quests.stone_age.get_raw_rock.desc": "Para criar sua Bigorna de Cobre, você precisará tanto de uma Bigorna de Pedra básica quanto de uma Forja de Carvão. Para fazer uma Bigorna de Pedra, será necessário um bloco de rocha Ígnea Bruta.\n\nPara obter Rocha Bruta, quebre com cuidado os blocos &lao redor&r da Rocha Bruta que deseja minerar. Quando os 6 lados da Rocha Bruta estiverem expostos ao ar, ela se soltará em forma de item. Por fim, clique com o botão direito em um bloco de rocha ígnea bruta com um martelo para transformá-lo em sua Bigorna de Pedra.", + "quests.stone_age.create_forge.title": "A Forja", + "quests.stone_age.create_forge.subtitle": "O Fabric nem existe, aliás.", + "quests.stone_age.create_forge.desc": "A Forja é uma estação de criação de última geração usada para aquecer materiais a altas temperaturas. O tempo necessário para aquecer coisas na forja é consideravelmente menor do que no Forno de Cova, além de ser muito mais fácil de controlar.\n\nPara fazer a forja, você precisará de pelo menos 7 carvões e 5 blocos rochosos, como rocha bruta ou pedregulhos (cobblestone).\nA Forja não usa toras, e sim Carvão, Carvão Mineral ou Coque.\n\nConsulte o guia de campo para instruções sobre como fazer um Forno de Carvão e uma Forja de Carvão.", + "quests.stone_age.rock_anvil.title": "Bigorna de Pedra", + "quests.stone_age.rock_anvil.subtitle": "Isso não vai durar muito", + "quests.stone_age.rock_anvil.desc": "Bigornas são a base de todo o trabalho com metais no início do jogo. Para criar uma bigorna metálica adequada, será necessário soldar lingotes usando a bigorna do nível anterior. Como o Cobre é o primeiro nível, você terá que usar uma Bigorna de Pedra para soldá-los. Você pode criar uma Bigorna de Pedra clicando com o botão direito em um bloco de rocha ígnea bruta com um martelo. Infelizmente, soldar lingotes é a única coisa que ela pode fazer — será necessário a bigorna metálica apropriada para moldar os lingotes em qualquer outra coisa.", + "quests.stone_age.quern.title": "Moenda e Pedra Manual", + "quests.stone_age.quern.subtitle": "Seu primeiro passo no processamento de minério", + "quests.stone_age.quern.desc": "A Moenda e a Pedra Manual são duas grandes rochas que giram uma contra a outra para moer materiais. A peça de baixo é chamada de Moenda e a de cima, Pedra Manual. A Moenda pode ser usada para triturar seus minérios brutos em minério esmagado, rendendo uma quantidade ligeiramente maior em mB quando fundido.\n\nVocê também pode usar a Moenda para criar outros pós como Fluxo, Farinha e Farinha de Ossos.", + "quests.stone_age.crush_ore.title": "Processamento Inicial de Minérios - Parte 1", + "quests.stone_age.crush_ore.subtitle": "Aproveitando mais dos seus minérios", + "quests.stone_age.crush_ore.desc": "A Moenda é apenas o primeiro passo no processamento de minérios! O processamento adequado de minérios é um sistema grande e complexo que você aprenderá com o tempo, e que pode ser usado para extrair muito mais metal utilizável e subprodutos de cada minério minerado. Por ora, vamos transformar os minérios brutos que você minerou em Minério Esmagado usando a Moenda. Só esse primeiro passo já aumenta a quantidade de mB que o minério renderá ao fundir.", + "quests.stone_age.crush_crushed_ore.title": "Processamento Inicial de Minérios - Parte 2", + "quests.stone_age.crush_crushed_ore.subtitle": "Esmague com um martelo", + "quests.stone_age.crush_crushed_ore.desc": "Combine o Minério Esmagado com um martelo em uma grade de criação para transformá-lo em Pó Impuro, aumentando ainda mais sua produção em mB.\n\nPode parecer lento e tedioso por enquanto, mas logo você desbloqueará formas mais rápidas e automáticas de fazer isso!", + "quests.stone_age.clean_dust.title": "Processamento Inicial de Minérios - Parte 3", + "quests.stone_age.clean_dust.subtitle": "Lave esse pó sujo", + "quests.stone_age.clean_dust.desc": "Por fim, jogue Pó Impuro na água e deixe-o lá por alguns segundos para lavá-lo. Isso resultará em pó limpo — a forma final do seu minério. Ele pode até valer o equivalente a um lingote inteiro!", + "quests.stone_age.flux.title": "Pedras de Fluxo", + "quests.stone_age.flux.subtitle": "É basicamente cola para metais", + "quests.stone_age.flux.desc": "Fluxo é um item usado principalmente no trabalho com metais para soldar itens, embora também tenha outros usos.\nCertos tipos de rochas, como Calcário Branco, Calcário e Mármore, podem ser triturados para virar Fluxo, assim como conchas de diversos animais marinhos.", + "quests.stone_age.weld_copper_ingots.title": "Soldando Cobre", + "quests.stone_age.weld_copper_ingots.subtitle": "Tão perto da Bigorna de Cobre", + "quests.stone_age.weld_copper_ingots.desc": "Acenda sua Forja e coloque nela pelo menos 2 Lingotes de Cobre. Observe o texto de dica enquanto eles esquentam — quando estiverem prontos para uso, aparecerá \"Pode Trabalhar\", mas precisamos esperar até que diga \"Pode Soldar\", que é logo antes do ponto de fusão.\n\nAssim que atingirem esse ponto, rapidamente retire eles da forja (enquanto segura uma pinça de madeira na mão secundária!) e os coloque na interface da Bigorna de Pedra, junto com um pouco de fluxo. Por fim, clique com o botão direito na bigorna enquanto agacha (ou apenas clique no botão de soldar dentro da interface da bigorna) para soldar os dois lingotes ainda quentes. Você pode usar água ou neve para resfriar seu novo lingote duplo mais rápido.", + "quests.metal_age.copper_anvil.title": "Bigorna Nível 1: Cobre", + "quests.metal_age.copper_anvil.subtitle": "E tudo isso para chegarmos até aqui!", + "quests.metal_age.copper_anvil.desc": "Parabéns! Você oficialmente terminou a Idade da Pedra e entrou na Era da Metalurgia! Com sua Bigorna de Cobre, o próximo passo é subir os Níveis de Bigorna. A cada novo nível desbloqueado, novas ferramentas e possibilidades se abrirão para tornar sua vida progressivamente mais fácil. Agora vá e torne-se um mestre ferreiro!" } \ No newline at end of file From d83a774a63c258b5de9f09d49b26a8644963bec9 Mon Sep 17 00:00:00 2001 From: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> Date: Sun, 1 Jun 2025 18:21:31 +0100 Subject: [PATCH 33/62] TFC sugar recipes use tfg:sugars tag and kaolin dupe fix (#1099) --- kubejs/server_scripts/tfc/recipes.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index f37e3832f..055ff1e06 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -190,8 +190,8 @@ const registerTFCRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.alloy_smelter('tfg:oops_i_smelted_all_my_kaolin') - .itemInputs('5x minecraft:clay_ball', 'tfc:powder/kaolinite') - .itemOutputs('5x tfc:kaolin_clay') + .itemInputs('minecraft:clay_ball', 'tfc:powder/kaolinite') + .itemOutputs('tfc:kaolin_clay') .duration(600) .EUt(GTValues.VA[GTValues.ULV]) @@ -333,4 +333,5 @@ const registerTFCRecipes = (event) => { '#forge:tools/saws' ]).id('tfc:shapeless/jar_lid') + event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars') } From 08b8cf7f1cb4f5055e0fd218fd7c8c8ae9fb5b30 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 18:24:11 +0100 Subject: [PATCH 34/62] changed the sugars recipe to just work for everything --- CHANGELOG.md | 2 ++ kubejs/server_scripts/gregtech/recipes.js | 1 - kubejs/server_scripts/gregtech/recipes.removes.js | 2 ++ kubejs/server_scripts/tfc/recipes.js | 2 -- kubejs/server_scripts/tfg/recipes.miscellaneous.js | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bff52d7a7..9a23a4760 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ - Fixed being able to dupe materials by crafting tools and then recycling them (#1100) @Pyritie - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Added Wine utensils recipes for GT (#1111) @JeanRdS +- Fixed kaolin clay duping (#1099) @SpicyNoodle5 +- Fixed TFC sugar recipes so they can now use any sugar (#1099) @SpicyNoodle5 ## [0.9.9] - 30.05.2025 ### Changes diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 09cec2dc8..eea41f3cf 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -946,7 +946,6 @@ const registerGTCEURecipes = (event) => { event.replaceInput({ id: 'gtceu:shaped/note_block' }, 'minecraft:iron_bars', '#tfg:metal_bars') event.replaceInput({ id: 'gtceu:shaped/note_block' }, 'gtceu:wood_plate', '#tfc:lumber') - event.replaceInput({ mod: 'gtceu' }, 'minecraft:sugar', '#tfg:sugars') event.replaceInput({ mod: 'gtceu' }, 'minecraft:string', '#forge:string') event.recipes.gtceu.fluid_solidifier('tfg:solidify_glue') diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index c9687fc62..f0f6f6d77 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -642,4 +642,6 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__fireclay' }) event.remove({ id: 'gtceu:smelting/sticky_resin_from_slime' }) + + event.remove({ id: 'gtceu:wiremill/string_from_polycaprolactam' }) } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 055ff1e06..20d78df61 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -332,6 +332,4 @@ const registerTFCRecipes = (event) => { '#forge:tools/hammers', '#forge:tools/saws' ]).id('tfc:shapeless/jar_lid') - - event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars') } diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index b2c942971..4d4f00119 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -6,7 +6,7 @@ */ function registerTFGMiscellaneousRecipes(event) { - event.remove({ id: 'gtceu:wiremill/string_from_polycaprolactam' }) + event.replaceInput({}, 'minecraft:sugar', '#tfg:sugars') //tfc:moss event.replaceInput({}, 'minecraft:vine', '#tfc:moss') From 2027047130edb77cd2cb07ccfae380a306387c71 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 18:26:42 +0100 Subject: [PATCH 35/62] reverted the sugars change --- kubejs/server_scripts/gregtech/recipes.js | 1 + kubejs/server_scripts/tfc/recipes.js | 2 ++ kubejs/server_scripts/tfg/recipes.miscellaneous.js | 2 -- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index eea41f3cf..09cec2dc8 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -946,6 +946,7 @@ const registerGTCEURecipes = (event) => { event.replaceInput({ id: 'gtceu:shaped/note_block' }, 'minecraft:iron_bars', '#tfg:metal_bars') event.replaceInput({ id: 'gtceu:shaped/note_block' }, 'gtceu:wood_plate', '#tfc:lumber') + event.replaceInput({ mod: 'gtceu' }, 'minecraft:sugar', '#tfg:sugars') event.replaceInput({ mod: 'gtceu' }, 'minecraft:string', '#forge:string') event.recipes.gtceu.fluid_solidifier('tfg:solidify_glue') diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 20d78df61..055ff1e06 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -332,4 +332,6 @@ const registerTFCRecipes = (event) => { '#forge:tools/hammers', '#forge:tools/saws' ]).id('tfc:shapeless/jar_lid') + + event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars') } diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 4d4f00119..c9f7e2374 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -6,8 +6,6 @@ */ function registerTFGMiscellaneousRecipes(event) { - event.replaceInput({}, 'minecraft:sugar', '#tfg:sugars') - //tfc:moss event.replaceInput({}, 'minecraft:vine', '#tfc:moss') From 7a3c5647b3d48a96f0e352f7c99deb2bfe1ba6f7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Jun 2025 21:32:45 +0100 Subject: [PATCH 36/62] removed sparks_on_sulfur tag --- kubejs/server_scripts/beneath/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 6c21cc8e4..958e2f1b1 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -30,4 +30,6 @@ const registerBeneathItemTags = (event) => { event.add('forge:ores', 'beneath:ore/nether_cursecoal') event.add('forge:ores', 'beneath:ore/blackstone_sylvite') + + event.remove('beneath:sparks_on_sulfur') } \ No newline at end of file From b1187d43ef426fa93732fd0c29958dd2e2021520 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Jun 2025 10:30:47 +0100 Subject: [PATCH 37/62] removed ftb-quests-optimizer because it's causing problems with quests not completing --- pakku-lock.json | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 0352e7891..baa265558 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3385,42 +3385,6 @@ } ] }, - { - "pakku_id": "oMcIAiCt9qNIFN4G", - "type": "MOD", - "slug": { - "curseforge": "ftb-quests-optimizer" - }, - "name": { - "curseforge": "FTB Quests Optimizer" - }, - "id": { - "curseforge": "912469" - }, - "files": [ - { - "type": "curseforge", - "file_name": "FTBQuestsOptimizer-forge-2.0.5-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6083/498/FTBQuestsOptimizer-forge-2.0.5-1.20.1.jar", - "id": "6083498", - "parent_id": "912469", - "hashes": { - "sha1": "18458645cbc3436142332eeab910e679f13a76b9", - "md5": "f6decadcb493728713782fe4d95bed8f" - }, - "required_dependencies": [], - "size": 14007, - "date_published": "2025-01-13T14:18:12.917Z" - } - ] - }, { "pakku_id": "f6XvOldUCm8jt51o", "pakku_links": [ From 043e1655d0ad315e3611e55243f45ee94dbdb2b4 Mon Sep 17 00:00:00 2001 From: eso Date: Mon, 2 Jun 2025 09:05:15 -0700 Subject: [PATCH 38/62] add the create toolbox to the list of unsortable inventories (#1120) * add the create toolbox to the list of unsortable inventories * changelog update --- CHANGELOG.md | 1 + config/invtweaks-client.toml | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a23a4760..255d22fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Added Wine utensils recipes for GT (#1111) @JeanRdS - Fixed kaolin clay duping (#1099) @SpicyNoodle5 - Fixed TFC sugar recipes so they can now use any sugar (#1099) @SpicyNoodle5 +- add the create toolbox to the list of unsortable inventories (#1120) @esotericist ## [0.9.9] - 30.05.2025 ### Changes diff --git a/config/invtweaks-client.toml b/config/invtweaks-client.toml index bfe04c8fc..8244f443e 100644 --- a/config/invtweaks-client.toml +++ b/config/invtweaks-client.toml @@ -133,6 +133,10 @@ containerClass = "net.dries007.tfc.client.screen.*" sortRange = "" + [[sorting.containerOverrides]] + containerClass = "com.simibubi.create.content.equipment.toolbox.ToolboxMenu" + sortRange = "" + #Tweaks [tweaks] #Enable auto-refill From c87af7bf1628b23a8ab3f7231763c5f7e571be61 Mon Sep 17 00:00:00 2001 From: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com> Date: Tue, 3 Jun 2025 02:07:24 +1000 Subject: [PATCH 39/62] Change lv chem reactor quest to require any container with rubber instead of a rubber bucket (#1116) Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com> --- config/ftbquests/quests/chapters/lv__low_voltage.snbt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 2ae4ff714..bed75d265 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -650,7 +650,13 @@ } { id: "7DA8B08CC879617F" - item: "gtceu:rubber_bucket" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:rubber\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:rubber\"}})item(gtceu:rubber_bucket))" + } + } type: "item" } ] From da452c88e31b4f0e574995f5bf3790ac9017725e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Jun 2025 21:15:32 +0100 Subject: [PATCH 40/62] fixed some field guide pages --- .../field_guide/en_us/entries/mechanics/fishing_nets.json | 2 +- .../field_guide/en_us/entries/tfg_tips/anvil_working_guide.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json index 22ef09b61..197b7da73 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/fishing_nets.json @@ -2,7 +2,7 @@ "name": "Fishing Nets", "icon": "tfg:fishing_net/brass", "category": "tfc:mechanics", - "priority": true, + "read_by_default": true, "pages": [ { "type": "patchouli:spotlight", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json index bf5a7b468..118aad884 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json @@ -2,7 +2,7 @@ "name": "Anvil Working Guide", "icon": "gtceu:red_steel_hammer", "category": "tfc:tfg_tips", - "read_by_default": false, + "read_by_default": true, "priority": false, "pages": [ From e8938115ca7a289253876d2f67a63eb1c5d0028f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Jun 2025 21:15:40 +0100 Subject: [PATCH 41/62] fixed assembler crafting recipe for item silos --- kubejs/server_scripts/create_connected/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/create_connected/recipes.js b/kubejs/server_scripts/create_connected/recipes.js index eb1860fea..c0eaa78a8 100644 --- a/kubejs/server_scripts/create_connected/recipes.js +++ b/kubejs/server_scripts/create_connected/recipes.js @@ -47,7 +47,7 @@ const registerCreateConnectedRecipes = (event) => { }).id('create_connected:crafting/kinetics/item_silo') event.recipes.gtceu.assembler('tfg:create_connected/item_silo') - .itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/wrought_iron') + .itemInputs('#forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/wrought_iron') .circuit(10) .itemOutputs('create_connected:item_silo') .duration(200) From 52dcc540891afbb6790eab0a7ff446d1ab8f17ae Mon Sep 17 00:00:00 2001 From: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:45:47 +0100 Subject: [PATCH 42/62] Add Optional Bacon Quest (#1122) * Add bacon quest * Fix merging issue * Changelog --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- CHANGELOG.md | 3 +- .../quests/chapters/queststfc_tips.snbt | 108 +++++++++++++++--- kubejs/assets/tfg/lang/en_us.json | 4 + 3 files changed, 99 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 255d22fc6..89f2e7ca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,8 @@ - Added Wine utensils recipes for GT (#1111) @JeanRdS - Fixed kaolin clay duping (#1099) @SpicyNoodle5 - Fixed TFC sugar recipes so they can now use any sugar (#1099) @SpicyNoodle5 -- add the create toolbox to the list of unsortable inventories (#1120) @esotericist +- Added optional quest for bacon (#1122) @SpicyNoodle5 +- Add the create toolbox to the list of unsortable inventories (#1120) @esotericist ## [0.9.9] - 30.05.2025 ### Changes diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 4ee385d49..219a9f019 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -1236,7 +1236,7 @@ type: "item" }] title: "{quests.tfg_tips.refrigerator.title}" - x: 8.0d + x: 9.0d y: -17.0d } { @@ -1606,7 +1606,7 @@ type: "checkmark" }] title: "{quests.tfg_tips.passive_preservation.title}" - x: 6.0d + x: 6.5d y: -15.5d } { @@ -1627,7 +1627,7 @@ type: "item" }] title: "{quests.tfg_tips.get_milk.title}" - x: 4.0d + x: 4.5d y: -8.5d } { @@ -1648,7 +1648,7 @@ type: "item" }] title: "{quests.tfg_tips.get_meat.title}" - x: 5.0d + x: 5.5d y: -8.5d } { @@ -1669,7 +1669,7 @@ type: "item" }] title: "{quests.tfg_tips.get_fruit.title}" - x: 7.0d + x: 7.5d y: -8.5d } { @@ -1690,7 +1690,7 @@ type: "item" }] title: "{quests.tfg_tips.get_grain.title}" - x: 8.0d + x: 8.5d y: -8.5d } { @@ -1711,7 +1711,7 @@ type: "item" }] title: "{quests.tfg_tips.get_veggie.title}" - x: 6.0d + x: 6.5d y: -8.5d } { @@ -1746,7 +1746,7 @@ } ] title: "{quests.tfg_tips.process_grain.title}" - x: 8.0d + x: 8.5d y: -12.5d } { @@ -1809,7 +1809,7 @@ } ] title: "{quests.tfg_tips.brine_something.title}" - x: 6.0d + x: 6.5d y: -9.5d } { @@ -1873,7 +1873,7 @@ } ] title: "{quests.tfg_tips.pickle_something.title}" - x: 6.0d + x: 6.5d y: -12.5d } { @@ -1918,7 +1918,7 @@ } ] title: "{quests.tfg_tips.dry_fruit.title}" - x: 7.0d + x: 7.5d y: -11.0d } { @@ -1960,7 +1960,7 @@ } ] title: "{quests.tfg_tips.salt_meat.title}" - x: 5.0d + x: 5.5d y: -10.5d } { @@ -2009,7 +2009,7 @@ } ] title: "{quests.tfg_tips.smoke_meat.title}" - x: 5.0d + x: 5.5d y: -11.5d } { @@ -2049,7 +2049,7 @@ } ] title: "{quests.tfg_tips.cook_meat.title}" - x: 5.0d + x: 5.5d y: -13.5d } { @@ -3626,7 +3626,7 @@ type: "item" }] title: "{quests.tfg_tips.vessel_preservation.title}" - x: 6.0d + x: 6.5d y: -16.5d } { @@ -5225,6 +5225,84 @@ x: -2.5d y: 6.0d } + { + dependencies: ["1FC019B45383695E"] + description: ["{quests.tfg_tips.bacon.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -2L + traits: [ ] + } + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmalife:food/bacon" + } + id: "27FD6D86233B3C8D" + shape: "heart" + subtitle: "{quests.tfg_tips.bacon.subtitle}" + tasks: [ + { + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -9223372036854775808L + traits: [ + "tfc:brined" + "firmalife:smoked" + ] + } + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:food/pork" + } + id: "450B578B4B128D69" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "custom(HasPreservation/firmaciv:smoked)item(tfc:food/pork)" + } + } + title: "{quests.tfg_tips.bacon.task}" + type: "item" + } + { + id: "7B835DA2FEF500F1" + item: "tfc:powder/salt" + type: "item" + } + { + id: "267439967946EA29" + item: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -2L + traits: [ ] + } + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "firmalife:food/bacon" + } + type: "item" + } + ] + title: "{quests.tfg_tips.bacon.title}" + x: 4.75d + y: -12.5d + } ] subtitle: ["{quests.tfg_tips.subtitle}"] title: "{quests.tfg_tips}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index e221360df..58c2c5d49 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2226,6 +2226,10 @@ "quests.tfg_tips.smoke_meat.subtitle": "Smokey", "quests.tfg_tips.smoke_meat.desc": "You can hang up to 8 slices of &aRaw Meat&r on a &bString&r that's placed over a &cLit Campfire&r to smoke it. Keep in mind that the meat &lmust be brined first.&r \nIt may also be &dsalted&r before smoking.", "quests.tfg_tips.smoke_meat.task": "A hunk of Smoked Meat", + "quests.tfg_tips.bacon.title": "Bacon", + "quests.tfg_tips.bacon.subtitle": "Crispy", + "quests.tfg_tips.bacon.desc": "&aBacon&r can be made from &bSmoked Pork&r and a pinch of salt giving &d4 times&r the amount of meat!\n\nNote that the pork &lhas to be smoked&r before it can be turned into bacon.", + "quests.tfg_tips.bacon.task": "A hunk of Smoked Pork", "quests.tfg_tips.cook_meat.title": "Meat Preservation: Cooking", "quests.tfg_tips.cook_meat.subtitle": "Pretty obvious in hindsight.", "quests.tfg_tips.cook_meat.desc": "Cooking can potentially provide its own preservation traits. You should cook &aMeat&r either in a &bWrought Iron Grill&r or a &bTop Oven!&r\nOther cooking methods may not provide any trait at all or may even give negative traits that lower shelf life.\n\n&3&lTip:&r&o &bWrought Iron Grills&f can be part of the &dOven&f structure.", From 6a26c9b6e2cede704f8ed3cca115ddc33fee72c3 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:17:52 -0500 Subject: [PATCH 43/62] - Added loot table to piglin disguise and updated its texture. (#1123) - Reformated lootjs file --- .../tfg/textures/block/piglin_disguise.png | Bin 2465 -> 2225 bytes .../blocks/piglin_disguise_block.json | 20 ++++++++++++++++++ kubejs/server_scripts/main_server_script.js | 1 + .../{loot_tables.block.js => loot_tables.js} | 7 +++--- 4 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 kubejs/data/tfg/loot_tables/blocks/piglin_disguise_block.json rename kubejs/server_scripts/tfg/{loot_tables.block.js => loot_tables.js} (98%) diff --git a/kubejs/assets/tfg/textures/block/piglin_disguise.png b/kubejs/assets/tfg/textures/block/piglin_disguise.png index c9d15b8ebaeee90837649002f0a5279a35704c22..a7793f207045a25059a80953fc4cdece083c2fa4 100644 GIT binary patch delta 2213 zcmZ1|yist1NGZx^prw85lUSJzX3_D(1YsUfB~HDtqALd&~0L({G~FUv4oj z$!VM>yQPccNRUd`j1Gx^213mphA#h2js^T>?se-_YFyyt-KGSzch6JIt%-}d%nK>{O`M)|D3De`TUNy#nE%J=Up#f zp3K2mUiZ72DdG8Ke%CU!_U`U*oy+&^4{ZEc7{sd?!g{Bv^|kgMD;pL;iB(POv~qr) zTI=I0|NKMrdS$^Ux$K%O{r{5ZKS*}5{rULA!^43BEMLB^Km7e~)`3GWH0HkbRhg)h zskZ*lXN9Lujjvw|zi?WbBvo&s!R6~Y`C+H(8x5v}5C87ZzjkA5?90oi;wt`#Ph7WZ zi4Yq@{@JQI6{+gmo^MP$ty}Z_UG=}^oU7FyJe?lr5U8?u?_Y-y-WL)3l8COJz{d8KmY+~E5Dxs4qZOg7rvHyNxZ=hA8QhmeG z7&+I#8w-Bxcs4H6@Y(x=$9`vScFFr-XH!oJ35kwl$B+Nl?p*oph0n}$a&s4~HSB%- zbC02wcb1-iwb#Lqe_l0A^A=kcXKiu3kimdwan!OCx73PmD)Ik&oBHm@qco{WoOQeZ zvgYmjRMXYht;CY)oW3*Z`kl-7@5{g373X`X{_OVqQmu|2)v?w=UjIIvXimz=(73g$ z^tGj`$Gj>-iyg{UKNjA1Sw3y+m#>f672B2-opcbt9#g0|iy^e~f0(P+sde8c_CC#B z{;VpeW=_k(#U7r^0uCAQ+^OkXvM#X9)^Caq%hty;X3P*+wW_Fy)k9M-C?QnK;+@xD z-mhPu8hz3Zr|stOc2`JvnS;`8lmQVI%lriAADGH~c8T%X5WvClu+%RO?A z+YC;wosTj_=UaVN&s?N-|Ho7#^E*Y{@8xdwuUmQN>)&dLx*yXk96PjByF^+7OQLL* zm6flqvH84wx!>%U{<-&R&h@*SGPB^I|GM(9VW(8@^3R=mZ>r?YU@W;=~yIK6-SM7fg-alvSW^1{>ktUzM zhyQ#iY<(`Xp}zKy`^C@a^PX>fo1EUWUhToV_jNzyCd{0%VBy-vwqGXe-`XB~@rdIs zr>K3T`^j$w0hzoxBAP$ye?9#xvC&w653gcL?+q-s`x&sM;DLdxcwR!~Cyw6i>w#8wj=Pr6|H=IS*`CI$JLdJjXRrCz z6zZWFAXu@_*C{-c@6?T;$De#(EAlvUL|x+zSapMCo&PGKz%!{gDqj9{39LUMzOSnI ziTA;YD=m#gS?#%Y<}K*;IjDBGnlb*@t+(lO*1kNdQztO*<@?JzPfwew-)dKTaO2_mD5!A4fsJ>a)8FRA zhg<({oW3o0^}0K+x8;65FEZa}28ZG~DgAf9pREl%W%99k>e5N`?YwqIEP373UBKMG zdfm<*`}gyXmC5Ao-ove_8Yq#tlh6OnY=_IH`{ry5JS$SR^GwLSrArs~t!w0EN$d#M zF|am1TmQ@3Y@vDS;p*ML9=xv3Smj-Gv9h+s!$tG-3G4QsFXjIS#WJ4%|L&f~bWI_~ z%ah$RU%y(m)$(l8vW}-acKnoy-JAX6*tU4?26y=#+NV;uTM|#aITLv6R(0g%+vm>Y zOxyHy!fBc1n|Jri-`~FXR-0Dpi8qIs*6Qjqh{#Moy42>?k$Q>i_kQZeEXe6qYKe#p zdUa}V-&3WfN3a98xGoEm7&0P_vQ8;b0&P-003D-4Q>ktv##iajEc5%|~m>ui*uW!|e*g7|wk9ks?-zAd(X)A7_WcM%*b7~e*3pp->sh`m3BAn+Ts!Y zpMiTPYt(J)j5lu|FVdaQobc=dV~K6266>_ho49As^72nNUz)_J8EQ34inDr`=CVmU z_VvFEJ8|xO;K~S*Zq=~TEteK(EMW}2x}jdF^(?dPnX_kuonmNmB%zpq}uX3rw8&Se@?WcwdJOypo% zq@XbQWc`C1d~ffr_Pla+^7%B5obCe~FN(IFd~7UJ^IO*IwD*%|&n3=B?lClTZJMyO zwelFB+>$3(RB&iFMCUbM4Su15VCX`@5g58^?hl})mB~(xntl`Z|*A$=xe(g^(Cm?yk4nZvQ=8mj3_DeQV?LXZIc-zO?mry_inh6E&;(%Z<(V7r*~r z_wN0?YPTs~s(zogi^pFG4nDr)+b-!NCm-+M`B%N_wN-!DwJoblf0_3c)zr*!v1&9@ zSn-2Jw%K-fc_Ul2WW=cja$6V+d|O=t^0rNIDmcFQJl8$unLf|?*Z>uad%x7MG~Sw{m&T?fE|af64l7Q=d8D8hr{Do=cHcx z-C<){@$RO2W#RkHK60}Y(yEHKCM>*{wqgDBl1qn6bL_sqe4BII#N|?Pfo^?wOZMYi zYFphJ-d1U71_mWau`$@LbGCbFcw_!?v#YbZ_kY-JU3#f>gYVHlK{JmQ^_~r@E&cZ- zxc|fB)#Vv}$t5LUdXoR^uI}7d`?ojU^zL+%$aU9FE)#kqYwu)Y=v;5s`TW)ro9+W! zHP7lljOc1f4azjR*r3Sbd3({7j73XS>NBGyir%VD6I*@f?}y@=&)v5@tM$rlzo^9T zsNlXDwju4`%A7kp0;8uLeeq(2oV>hv{I6T#B_eKLmj9X<^yzi=d$HYRZ!cMwy|Gw+ zZsPKPH+Ft5tUbTJZr`zYUncdZYIQB;n(fBE^UvqW3U_u$=M($~cpTFm&YF-=P) zmi;0}McRA2DMmjowApZ8PfOa?5x%jh#U-+C8uglnOB626%G%tzmd9t~G4r`@ zbI-?>in{ad=}OgF_xoP&n|;sI)6dw?-MDdMsCK{2hj!z6UzXn9KL7Ksjam<097$B` zmsRU>c%88|;UxdgisZ(s&8_)a>;8OsDw3{dxYX(T>ofl6lz5w$rb>KyR@J%X zm;lppqmQdaXT3FhRKF$s!Lr}~HT>3nS{l?Dd|ch~tM-QFRr}zvsc%9UDLOw! zR{LrAN*1TXmZF{t?I#y!awR zhSPDW)5ct-mgdA6F1tE&XYxETQjs}ZwAAg;R!{AtN2lj3y0R+RI`GIwU9+cq%4?&P zTkGrMSmSp6Eqi)X`*&Ne`JD@u%d5_p3OFU~+2XG{cWSNI&&9W|UFn{^{^zQ==eJ4@ zO%2oZmt7jSHt5DLL8Y}nk383Zyl*ah#wS5=tbHgjYEdMeX=+DU!9zE_W8@g@cL){qS752kAkDk1ERiVwktj^ z?!NQq^6oI}g!jzlua>rINzJe-o3igvrO37KMz)(9?sIXR@)l`p`}wQ?odCo4|BtNp zZirCqQc6qjyL8?D$cF%XPh^n-S4+jZUv1t#r%=QqBVXAf*Uc&z8}pEoAFha-j8 ziL_R1YkhuWMNjWao=>fIerH1JSD4Q>$uykt&h}`;q!6P61}ay*93(QiTA8}NMVrdn zOYDxHxNxgA;+H$$qS?GxKH0q9r2W2fUwy;Ei@sZ8`>)?$_2JY$!(Z&?2_B92vmS51 zrQy6O^>f;?IyDX}6=Ab^*+DDK1b20=6!DUrvU+)GL!`tp`TPFv*{j&^B`h%LD2Q1i@TJX{ zEy%JDT$(Ij!)D*zU0(c6oK=niGr&(CVFL{=Bt;Jj2_LselS7lvi>!(v` ztJhy>-)?ul^JQh)AHLR_vaNNQJN@*oyDv6up3>BkzOk;h&u>OzQqrU#Ntx({txVCojiS+rrKzM5Szs+{DRm zKK=QF*Xt9tny0;2Zau(%t0k}{ch%LOdvBU7TPX4G!Ot`2<|d?NO`4K>kx#kq=atj% ze@NEsxA^*g!-e#lS^w-6{}-S9Zx+i~$lft~UBeFMBfjAd^>-K_Ez?$b$541#RG_?J z$4jmbYlk}}tVd)O@^&#j;uA1ORZl(T|5z8>p0W~ { registerLootrLoots(event) registerPrimitiveCreatesLoots(event) registerTFCLoots(event) + registerTFGLoots(event) }); /** diff --git a/kubejs/server_scripts/tfg/loot_tables.block.js b/kubejs/server_scripts/tfg/loot_tables.js similarity index 98% rename from kubejs/server_scripts/tfg/loot_tables.block.js rename to kubejs/server_scripts/tfg/loot_tables.js index 4e7cef3b7..f9644fbba 100644 --- a/kubejs/server_scripts/tfg/loot_tables.block.js +++ b/kubejs/server_scripts/tfg/loot_tables.js @@ -1,7 +1,6 @@ +function registerTFGLoots(event) { -LootJS.modifiers((event) => { - - //Generated Vases Loot + //#region Vase Loot global.MINECRAFT_DYE_NAMES.forEach(color => { event.addBlockLootModifier(`tfg:decorative_vase/generated/${color}`) .removeLoot(Ingredient.all) @@ -81,4 +80,4 @@ LootJS.modifiers((event) => { ); }) }); -}); \ No newline at end of file +}; \ No newline at end of file From 9de617d8b117eaee1d8b625f266b11bca4c6e477 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 12:09:45 +0100 Subject: [PATCH 44/62] you can now use anthracite to superheat blaze burners like coke --- CHANGELOG.md | 1 + kubejs/server_scripts/create/tags.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89f2e7ca2..69c851b61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Fixed TFC sugar recipes so they can now use any sugar (#1099) @SpicyNoodle5 - Added optional quest for bacon (#1122) @SpicyNoodle5 - Add the create toolbox to the list of unsortable inventories (#1120) @esotericist +- Anthracite now also superheats blaze burners @Pyritie ## [0.9.9] - 30.05.2025 ### Changes diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index d1e3d5591..22487693c 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -46,6 +46,7 @@ const registerCreateItemTags = (event) => { event.add('create:blaze_burner_fuel/special', "gtceu:flawless_coal_gem") event.add('create:blaze_burner_fuel/special', "gtceu:exquisite_coal_gem") event.add('create:blaze_burner_fuel/special', "gtceu:coke_gem") + event.add('create:blaze_burner_fuel/special', "beneath:cursecoal") event.add('tfc:forge_invisible_whitelist', 'create:basin') From f6660c6a482ba10122388831662123d7642a8e0d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 12:24:43 +0100 Subject: [PATCH 45/62] updated changelog (are sections like this ok?) --- CHANGELOG.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69c851b61..9302563f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,27 +1,32 @@ # Changelog ## [Unreleased] +### New features +- Added Trowel tool to randomly place blocks from hotbar (#1106) @Redeix +- Started work on Brazilian Portuguese translations @gifpxto +- Added Aqueous Accumulator machine, basically a rock breaker but for fluids (#1030) @Pyritie ### Changes - Create Steam Engine now also accepts river water and GregTech steam as valid inputs (#947) @Zeropol -- Changed weird assembler piston recipe (#1092) @Redeix -- Added Trowel tool to randomly place blocks from hotbar (#1106) @Redeix -- Fixed texture clipping on piglin disguise (#1106) @Redeix -- Added Aqueous Accumulator machine, basically a rock breaker but for fluids (#1030) @Pyritie - Added Packer recipe for stick bundling (#1101) @JeanRdSz -- Started work on Brazilian Portuguese translations @gifpxto -- Fixed assembler recipe conflict with Hoppers and Item Vaults (#1098) @TomPlop -- Fixed assembler recipe conflict with Create Pipes and Fluid Tanks (#1103) @Pyritie - Steam grinder and oven are now cheaper and use more steam-age appropriate materials (#1091) @Pyritie - Changed HS Greate machines to use blue alloy instead of red steel (#1091) @Pyritie - Changed HV Cutter to use diamond buzzsaw instead of red steel (#1091) @Pyritie +- Added wine-related recipes to GregTech machines (#1111) @JeanRdS +- Added optional quest for bacon because its JEI recipe isn't clear (#1122) @SpicyNoodle5 +- Anthracite now also superheats blaze burners @Pyritie +- Changed LV chem reactor quest to work with any container of rubber instead of just a rubber bucket (#1116) @ofoxsmith +### Bug fixes +- Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro +- Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 +- Fixed weird assembler piston recipe (#1092) @Redeix +- Fixed texture clipping on piglin disguise, added loot table so you can pick it back up (#1106) @Redeix +- Fixed assembler recipe conflict with Hoppers and Item Vaults (#1098) @TomPlop +- Fixed assembler recipe conflict with Create Pipes and Fluid Tanks (#1103) @Pyritie - Fixed some assembly line recipes that had incorrect stack sizes (#1108) @Pyritie - Fixed being able to dupe materials by crafting tools and then recycling them (#1100) @Pyritie -- Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro -- Added Wine utensils recipes for GT (#1111) @JeanRdS - Fixed kaolin clay duping (#1099) @SpicyNoodle5 - Fixed TFC sugar recipes so they can now use any sugar (#1099) @SpicyNoodle5 -- Added optional quest for bacon (#1122) @SpicyNoodle5 -- Add the create toolbox to the list of unsortable inventories (#1120) @esotericist -- Anthracite now also superheats blaze burners @Pyritie +- Add the create toolbox to the list of unsortable inventories, fixing a duping exploit (#1120) @esotericist +- Fixed assembler recipe for item silos ## [0.9.9] - 30.05.2025 ### Changes From 4ac7cc16a2c340a0489830ff3609a0666ee08ad1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 12:30:58 +0100 Subject: [PATCH 46/62] added perfect OC to the elec greenhouse --- CHANGELOG.md | 1 + kubejs/startup_scripts/gtceu/recipe_types.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9302563f3..4c0f62dfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Added optional quest for bacon because its JEI recipe isn't clear (#1122) @SpicyNoodle5 - Anthracite now also superheats blaze burners @Pyritie - Changed LV chem reactor quest to work with any container of rubber instead of just a rubber bucket (#1116) @ofoxsmith +- Added perfect overclock to the electric greenhouse so it scales better with the pyro oven @Pyritie ### Bug fixes - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 7ba54d0be..0645e0807 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -5,6 +5,7 @@ const registerGTCEuRecipeTypes = (event) => { .category('greenhouse') .setEUIO('in') .setMaxIOSize(3, 4, 1, 0) + .recipeModifiers([GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.PERFECT_OVERCLOCK)]) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.BATH) From 706db40033b19a4859072a50e7146d72fb9bdc4d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 12:33:24 +0100 Subject: [PATCH 47/62] added tooltip for elec greenhouse overclock, improved armor insulated tooltips for more clarity --- kubejs/client_scripts/tooltips.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 7b6efcf8d..3e59f4513 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -30,6 +30,9 @@ const registerTooltips = (event) => event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { text.add(1, text.of('§cSuperheat§r with Coke, or Flawless and Exquisite coal gems.')) }) + event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { + text.add(1, text.of('This machine has a Perfect Overclock!')), + }) event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { text.add(1, text.of('Artificial enviroment to simulate the Nether.')), text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) @@ -47,17 +50,17 @@ const registerTooltips = (event) => event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings'], (item, advanced, text) => { text.add(1, text.of('§7Warmth: -2')), text.add(2, text.of('§7Insulation: +9')) - text.add(3, text.of('Wear the full set to be §eHeatproof§r.')) + text.add(3, text.of('Wear the full set to be §eHeatproof§r from ambient temperatures.')) }) event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:avanced_nanomuscle_chestplate'], (item, advanced, text) => { text.add(1, text.of('§7Warmth: -0.5')), text.add(2, text.of('§7Insulation: +10')) - text.add(3, text.of('Wear the full set to be §eFully Insulated§r.')) + text.add(3, text.of('Wear the full set to be §eFully Insulated§r from ambient temperatures.')) }) event.addAdvanced(['gtceu:quarktech_helmet', 'gtceu:quarktech_chestplate', 'gtceu:quarktech_leggings', 'gtceu:quarktech_boots', 'gtceu:advanced_quarktech_chestplate'], (item, advanced, text) => { text.add(1, text.of('§7Warmth: -0.5')), text.add(2, text.of('§7Insulation: +10')) - text.add(3, text.of('Wear the full set to be §eFully Insulated§r.')) + text.add(3, text.of('Wear the full set to be §eFully Insulated§r from ambient temperatures.')) }) //supports From 435f514db266a76652bfed9b26b032de3c826418 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 12:41:23 +0100 Subject: [PATCH 48/62] increased durability of blue steel diving suit --- CHANGELOG.md | 3 ++- kubejs/startup_scripts/create/modifications.js | 17 +++++++++++++++++ kubejs/startup_scripts/main_startup_script.js | 1 + .../startup_scripts/minecraft/modifications.js | 6 ++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 kubejs/startup_scripts/create/modifications.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c0f62dfd..1eba972df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Anthracite now also superheats blaze burners @Pyritie - Changed LV chem reactor quest to work with any container of rubber instead of just a rubber bucket (#1116) @ofoxsmith - Added perfect overclock to the electric greenhouse so it scales better with the pyro oven @Pyritie +- Increased durability of the blue steel diving suit to match blue steel armor @Pyritie ### Bug fixes - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 @@ -27,7 +28,7 @@ - Fixed kaolin clay duping (#1099) @SpicyNoodle5 - Fixed TFC sugar recipes so they can now use any sugar (#1099) @SpicyNoodle5 - Add the create toolbox to the list of unsortable inventories, fixing a duping exploit (#1120) @esotericist -- Fixed assembler recipe for item silos +- Fixed assembler recipe for item silos @Pyritie ## [0.9.9] - 30.05.2025 ### Changes diff --git a/kubejs/startup_scripts/create/modifications.js b/kubejs/startup_scripts/create/modifications.js new file mode 100644 index 000000000..6508432b4 --- /dev/null +++ b/kubejs/startup_scripts/create/modifications.js @@ -0,0 +1,17 @@ +// priority: 0 + +function registerCreateItemModifications(event) { + + // Change durability to match blue steel armor + + event.modify('create:netherite_diving_helmet', item => { + item.maxDamage = 748 + }) + event.modify('create:netherite_backtank', item => { + item.maxDamage = 1088 + }) + event.modify('create:netherite_diving_boots', item => { + item.maxDamage = 860 + }) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index fc534daa5..32cf0ccad 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -28,6 +28,7 @@ BlockEvents.modification(event => { ItemEvents.modification(event => { registerBeneathItemModifications(event) registerConstructionWandsItemModifications(event) + registerCreateItemModifications(event) registerMinecraftItemModifications(event) }) diff --git a/kubejs/startup_scripts/minecraft/modifications.js b/kubejs/startup_scripts/minecraft/modifications.js index cc8ea5a55..a1f0c2b21 100644 --- a/kubejs/startup_scripts/minecraft/modifications.js +++ b/kubejs/startup_scripts/minecraft/modifications.js @@ -20,4 +20,10 @@ function registerMinecraftItemModifications(event) { event.modify('minecraft:elytra', item => { item.maxDamage = 2046 }) + + // Matches blue steel greaves + + event.modify('minecraft:netherite_leggings', item => { + item.maxDamage = 960 + }) } \ No newline at end of file From 3f172255acbaa4652af7c08e4f5780f0808d762d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 20:01:04 +0100 Subject: [PATCH 49/62] added high quality fabric tags to phantom silk and nylon --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/tags.js | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1eba972df..89ea117f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Changed LV chem reactor quest to work with any container of rubber instead of just a rubber bucket (#1116) @ofoxsmith - Added perfect overclock to the electric greenhouse so it scales better with the pyro oven @Pyritie - Increased durability of the blue steel diving suit to match blue steel armor @Pyritie +- Phantom Silk and Polycaprolactam Fabric now count as High Quality Fabric @Pyritie ### Bug fixes - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index bc59f145b..852abde96 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -58,6 +58,8 @@ const registerTFGItemTags = (event) => { //#region Cloth & String event.add('forge:cloth', 'tfg:phantom_silk') event.add('forge:cloth', 'tfg:polycaprolactam_fabric') + event.add('tfc:high_quality_cloth', 'tfg:phantom_silk') + event.add('tfc:high_quality_cloth', 'tfg:polycaprolactam_fabric') event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') event.add('forge:string', 'tfg:phantom_thread') @@ -137,9 +139,7 @@ const registerTFGItemTags = (event) => { // Universal Circuits - global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { - event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`); - }) + global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`); }) // #endregion From da64f9975c2e81cc3ad7fd381c90ad780958147a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 20:34:39 +0100 Subject: [PATCH 50/62] updating langs --- kubejs/assets/ad_astra/lang/en_us.json | 1 + kubejs/assets/create/lang/en_us.json | 1 - kubejs/assets/tfg/lang/en_us.json | 5 +++-- kubejs/assets/tfg/lang/pt_br.json | 16 ++++++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/en_us.json b/kubejs/assets/ad_astra/lang/en_us.json index 1452bd406..0366e0a68 100644 --- a/kubejs/assets/ad_astra/lang/en_us.json +++ b/kubejs/assets/ad_astra/lang/en_us.json @@ -19,6 +19,7 @@ "block.ad_astra.polished_moon_stone": "Polished Anorthosite", "block.ad_astra.polished_moon_stone_slab": "Polished Anorthosite Slab", "block.ad_astra.polished_moon_stone_stairs": "Polished Anorthosite Stairs", + "block.ad_astra.sky_stone": "Meteorite", "block.ad_astra.moon_deepslate": "Raw Norite", "block.ad_astra.moon_cheese_ore": "Anorthosite Cheese Ore", "block.ad_astra.mars_sand": "Martian Sand", diff --git a/kubejs/assets/create/lang/en_us.json b/kubejs/assets/create/lang/en_us.json index 1f3ef3620..cde7dd357 100644 --- a/kubejs/assets/create/lang/en_us.json +++ b/kubejs/assets/create/lang/en_us.json @@ -12,7 +12,6 @@ "block.create.andesite_encased_shaft": "Metal Encased Shaft", "block.create.andesite_funnel": "Metal Funnel", "block.create.andesite_ladder": "Metal Ladder", - "block.create.andesite_pillar": "Metal Pillar", "block.create.andesite_scaffolding": "Metal Scaffolding", "block.create.andesite_tunnel": "Metal Tunnel", "block.create.cut_deepslate": "Cut Migmatite", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 58c2c5d49..45c618016 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -20,6 +20,7 @@ "biome.tfg.moon/lunar_lights_dense": "Lightbloom Star Gazers", "biome.tfg.moon/lunar_lights_sparse": "Lightbloom Scrubland", "biome.tfg.moon/lunar_plains": "Lunar Plains", + "biome.tfg.moon/lunar_sands": "Lunar Sands", "block.tfg.piglin_disguise": "Piglin Disguise", "block.tfg.piglin_disguise_block": "Piglin Disguise", "block.tfg.decorative_vase.black": "Black Decorative Vase", @@ -772,8 +773,8 @@ "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu.", "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", "quests.low_voltage.lv_greenhouse.subtitle": "The power of KubeJS", - "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!\n\nYou can also use this for automated &aResin&r. The yields are kept low to incentivize other rubber sources later in the game.", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rWith recipes requiring more than 32 EU/t, it needs either 1 &bMV&r energy hatch or 2 &7LV&r energy hatches. Multiblocks will &cnot&r use 2A of one tier to reach the next one for recipe voltage minimums.\n\nIn other words, the controller needs to say at least &bMV&r in the GUI to run recipes which say &bMV&r in EMI, even if they can draw enough EU/t with a lower tier hatch configuration.\n\n&9Note:&r The structure requires a lot of &7Steel&r. Make sure you have an &3EBF&r for that.", + "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!\n\nThis is one of the few machines that has &2Perfect Overclocking&r, which basically means each higher tier of EU input means x4 the recipe speed instead of the usual x2!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rWith recipes requiring more than 32 EU/t, the multiblock needs either 1 &bMV&r energy hatch or 2 &7LV&r energy hatches. Multiblocks will &cnot&r use 2A of one tier to reach the next one for recipe voltage minimums.\n\nIn other words, the controller needs to say at least &bMV&r in the GUI to run recipes which say &bMV&r in EMI, even if they can draw enough EU/t with a lower tier hatch configuration.\n\n&9Note:&r This structure requires a lot of &7Steel&r. Make sure you have an &3EBF&r for that.", "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!", "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 9f530198f..72914ff36 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -20,6 +20,7 @@ "biome.tfg.moon/lunar_lights_dense": "Mirantes Estelares de Lightbloom", "biome.tfg.moon/lunar_lights_sparse": "Arbustos de Lightbloom", "biome.tfg.moon/lunar_plains": "Planícies Lunares", + "biome.tfg.moon/lunar_sands": "Areias Lunares", "block.tfg.decorative_vase.black": "Vaso Decorativo Preto", "block.tfg.decorative_vase.gray": "Vaso Decorativo Cinza", "block.tfg.decorative_vase.light_gray": "Vaso Decorativo Cinza Claro", @@ -252,6 +253,7 @@ "item.tfg.uv_universal_circuit": "Circuito Universal UV", "item.tfg.uhv_universal_circuit": "Circuito Universal UHV", "item.tfg.piglin_disguise": "Disfarce de Piglin", + "item.tfg.trowel": "Talocha de pedreiro", "material.tfg.latex": "Látex", "material.tfg.vulcanized_latex": "Látex Vulcanizado", "material.tfg.fluix": "Fluix", @@ -509,6 +511,20 @@ "tfg.grapplemod.downgrades.vertical_throwing_angle": "Diminui o §lÂngulo de Lançamento Vertical§r do gancho em 5°, até 0°.", "tfg.grapplemod.upgrades.angle": "Aumenta o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 90°.\nApenas acessível com um §lGancho Duplo§r instalado.", "tfg.grapplemod.downgrades.angle": "Diminui o §lÂngulo Horizontal§r para lançar seus §lGanchos Duplos§r em 5°, até 5°.\nApenas acessível com um §lGancho Duplo§r instalado.", + "quests.ae2": "Applied Energistics 2", + "quests.ae2.subtitle": "A ferramenta mais poderosa para ajudá-lo com Gregtech, desbloqueada após sua primeira viagem à lua", + "quests.tasktype.checkmark": "Clique aqui para completar essa missão/tarefa", + "quests.tasktype.item.any": "Qualquer item do tipo:", + "quests.tasktype.lookat": "Procure um(a):", + "quests.tasktype.travelto": "Viaje para:", + "quests.groups.primitive": "Era Primitiva", + "quests.groups.voltaic_age": "Era Voltaica", + "quests.groups.space_age": "Era Espacial", + "quests.groups.interstellar": "Era Interestelar", + "quests.groups.technological_help": "Ajuda Tecnológica", + "quests.groups.tips": "Dicas", + "quests.computer": "Computador", + "quests.computer.subtitle": "ComputerCraft ou CC: Tweaked aqui, se você sabe programar em Lua, esse é um dos mods mais fortes para gerenciar sua base", "quests.stone_age": "Idade da Pedra", "quests.stone_age.subtitle": "Começos Humildes", "quests.stone_age.foods.title": "Com Fome?", From e13960638f4aee36fdb66772139c4304bbb58c8d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 21:14:15 +0100 Subject: [PATCH 51/62] fixed greenhouse perfect OC --- kubejs/client_scripts/tooltips.js | 6 ++---- kubejs/server_scripts/gregtech/recipes.machines.js | 2 +- kubejs/startup_scripts/gtceu/machines.js | 12 ++++++------ kubejs/startup_scripts/gtceu/recipe_types.js | 1 - 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 3e59f4513..a63d4abff 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -6,9 +6,6 @@ const registerTooltips = (event) => event.addAdvanced(['minecraft:name_tag'], (item, advanced, text) => { text.add(1, [text.of('Used on a Scribing Table along with an item to name it, or with black dye to name the tag.')]) }) - event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { - text.add(1, [text.of('Currently, due to some errors in GTCEu regarding forgeCapacities, outputs rotten food.')]) - }) event.addAdvanced(['toolbelt:belt'], (item, advanced, text) => { text.add(1, [text.of('Press the §o§6Swap Tool§r keybind to open the radial menu.')]), text.add(2, [text.of(`You can also right click with it in hand to add or remove tools.`)]) @@ -31,7 +28,8 @@ const registerTooltips = (event) => text.add(1, text.of('§cSuperheat§r with Coke, or Flawless and Exquisite coal gems.')) }) event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { - text.add(1, text.of('This machine has a Perfect Overclock!')), + text.add(1, text.of('This machine has a §2Perfect Overclock§r!')), + text.add(2, text.of('Currently, due to a bug, sometimes outputs rotten food.')) }) event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { text.add(1, text.of('Artificial enviroment to simulate the Nether.')), diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 3e5403c92..1dd94ab88 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -728,7 +728,7 @@ function registerGTCEuMachineRecipes(event) { ], { A: '#gtceu:circuits/mv', B: 'gtceu:copper_single_cable', - C: '#gtceu:circuits/mv', + C: 'tfc:compost', D: 'gtceu:solid_machine_casing' }).id('tfg:shaped/greenhouse') diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index a62224601..b60fe890b 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -15,14 +15,15 @@ const registerGTCEuMachines = (event) => { event.create('greenhouse', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('greenhouse') + .recipeModifiers([GTRecipeModifiers.OC_PERFECT]) .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) .pattern(definition => FactoryBlockPattern.start() .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") - .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") + .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") + .aisle("CDDDDDC", "F F", "F F", "F F", "F F", "F F", "F F", "F F", "FFFFFFF") + .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") + .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") .aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") .where('X', Predicates.blocks('ae2:quartz_glass')) .where('F', Predicates.frames('steel')) @@ -35,7 +36,6 @@ const registerGTCEuMachines = (event) => { .or(Predicates.blocks('tfc:grass/sandy_loam')) .or(Predicates.blocks('tfc:grass/silty_loam'))) .where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes()))) - .where('#', Predicates.air()) .where(' ', Predicates.any()) .where('Y', Predicates.controller(Predicates.blocks(definition.get()))) .build() diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 0645e0807..7ba54d0be 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -5,7 +5,6 @@ const registerGTCEuRecipeTypes = (event) => { .category('greenhouse') .setEUIO('in') .setMaxIOSize(3, 4, 1, 0) - .recipeModifiers([GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.PERFECT_OVERCLOCK)]) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.BATH) From 3eebef1616a52c0eec0526fb189562114bf9662e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 21:49:00 +0100 Subject: [PATCH 52/62] more greenhouse tweaks, added a recipe for grass blocks --- CHANGELOG.md | 2 ++ kubejs/client_scripts/tooltips.js | 3 +- kubejs/server_scripts/firmalife/recipes.js | 4 +-- kubejs/server_scripts/gregtech/utility.js | 12 +++++-- kubejs/server_scripts/tfc/recipes.dirt.js | 40 ++++++++------------- kubejs/server_scripts/tfc/recipes.js | 12 +++---- kubejs/startup_scripts/gtceu/machines.js | 42 ++++++++++++++++++---- 7 files changed, 71 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89ea117f1..23ddff07a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,8 +15,10 @@ - Anthracite now also superheats blaze burners @Pyritie - Changed LV chem reactor quest to work with any container of rubber instead of just a rubber bucket (#1116) @ofoxsmith - Added perfect overclock to the electric greenhouse so it scales better with the pyro oven @Pyritie +- Electric greenhouse now accepts logs and leaf blocks inside it, so you can build a little tree if you want @Pyritie - Increased durability of the blue steel diving suit to match blue steel armor @Pyritie - Phantom Silk and Polycaprolactam Fabric now count as High Quality Fabric @Pyritie +- Added recipes to turn dirt into grass @Pyritie ### Bug fixes - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index a63d4abff..9cbfe6003 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -25,11 +25,12 @@ const registerTooltips = (event) => text.add(1, [text.of("§4Obsolete§f: Replaced by the AFC TreeTap, you can craft it from this one by placing this in a crafting table!")]) }) event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { - text.add(1, text.of('§cSuperheat§r with Coke, or Flawless and Exquisite coal gems.')) + text.add(1, text.of('§cSuperheat§r with Coke, Anthracite, or Flawless and Exquisite coal gems.')) }) event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { text.add(1, text.of('This machine has a §2Perfect Overclock§r!')), text.add(2, text.of('Currently, due to a bug, sometimes outputs rotten food.')) + text.add(3, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) }) event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { text.add(1, text.of('Artificial enviroment to simulate the Nether.')), diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 9aa3f1a0c..90d2e64f0 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) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, true) }) // Семена ягод global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, false) }) //#endregion diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index b8a66896e..45a83a172 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -23,10 +23,10 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => { .EUt(EUt) } -const generateGreenHouseRecipe = (event, input, fluid_amount, output, id) => { +const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, overworldExclusive) => { // Без удобрения - event.recipes.gtceu.greenhouse(id) + let r = event.recipes.gtceu.greenhouse(id) .itemInputs(input) .circuit(1) .inputFluids(Fluid.of('minecraft:water', fluid_amount)) @@ -36,8 +36,11 @@ const generateGreenHouseRecipe = (event, input, fluid_amount, output, id) => { .duration(36000) // 30 mins .EUt(GTValues.VA[GTValues.LV]) + if (overworldExclusive) + r.dimension('minecraft:overworld') + // С удобрением - event.recipes.gtceu.greenhouse(`${id}_fertilized`) + r = event.recipes.gtceu.greenhouse(`${id}_fertilized`) .itemInputs(input) .itemInputs('8x gtceu:fertilizer') .circuit(2) @@ -47,6 +50,9 @@ const generateGreenHouseRecipe = (event, input, fluid_amount, output, id) => { .chancedOutput(input, 6000, 0) .duration(12000) // 10 mins .EUt(GTValues.VA[GTValues.LV]) + + if (overworldExclusive) + r.dimension('minecraft:overworld') } const getFillingNBT = (material, amount) => { diff --git a/kubejs/server_scripts/tfc/recipes.dirt.js b/kubejs/server_scripts/tfc/recipes.dirt.js index 042b1f9e7..f3b9b6048 100644 --- a/kubejs/server_scripts/tfc/recipes.dirt.js +++ b/kubejs/server_scripts/tfc/recipes.dirt.js @@ -2,8 +2,6 @@ function registerTFCDirtRecipes(event) { - //#region Земля - // Loam + Silt -> Silty Loam (Миксер) event.recipes.gtceu.mixer('silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') @@ -26,18 +24,11 @@ function registerTFCDirtRecipes(event) { .itemOutputs(`tfc:rooted_dirt/${mud}`) .duration(200) .EUt(16) - }) - - global.TFC_MUD_TYPES.forEach(mud => { + event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) .id(`tfg:smelting/${mud}_mud_to_grass`) - }) + - //#endregion - - //#region Грязь - - global.TFC_MUD_TYPES.forEach(mud => { // Dirt -> Mud event.recipes.gtceu.mixer(`${mud}_grass_to_mud`) .itemInputs(`tfc:dirt/${mud}`) @@ -46,12 +37,8 @@ function registerTFCDirtRecipes(event) { .itemOutputs(`tfc:mud/${mud}`) .duration(200) .EUt(16) - }) - //#endregion - - //AE Transform Mud - global.TFC_MUD_TYPES.forEach(mud => { + //AE Transform Mud event.custom({ type: "ae2:transform", circumstance: { @@ -62,12 +49,8 @@ function registerTFCDirtRecipes(event) { {item: `tfc:dirt/${mud}`}], result: {item: `tfc:mud/${mud}`} }).id(`tfg:ae_transform/${mud}_to_mud`) - }) - - //#region Грязь кирпичи - - global.TFC_MUD_TYPES.forEach(mud => { + // Mud bricks // Влажный кирпич -> Кирпич event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) @@ -104,9 +87,9 @@ function registerTFCDirtRecipes(event) { A: `tfc:mud_brick/${mud}` }).id(`tfc:crafting/soil/${mud}_mud_bricks_slab`) - event.shaped(`2x tfc:mud_bricks/${mud}_wall`, [ - 'AAA', - 'AAA' + event.shaped(`tfc:mud_bricks/${mud}_wall`, [ + 'A', + 'A' ], { A: `tfc:mud_brick/${mud}` }).id(`tfc:crafting/soil/${mud}_mud_bricks_wall`) @@ -128,9 +111,16 @@ function registerTFCDirtRecipes(event) { event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) .id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`) + + // Grass blocks + + event.shapeless(`tfc:grass/${mud}`, [`tfc:dirt/${mud}`, 'minecraft:bone_meal', '#forge:seeds']) + .id(`tfg:shapeless/${mud}_grass_bonemeal`) + + event.shapeless(`tfc:grass/${mud}`, [`tfc:dirt/${mud}`, 'gtceu:fertilizer', '#forge:seeds']) + .id(`tfg:shapeless/${mud}_grass_fertilizer`) }) - //#endregion // #region Wattle and daub // TODO: Workaround for not being able to stain wattle and daub with normal dyes diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 055ff1e06..d23cb4aad 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}`) + generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, 16000, `64x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`, true) }) global.AFC_SAPLINGS.forEach(x => { - generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, 16000, `64x ${x.log}`, `tfg:greenhouse/${x.sapling}`) + generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, 16000, `64x ${x.log}`, `tfg:greenhouse/${x.sapling}`, true) }) // Семена фруктов global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, true) }) // Семена овощей global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, false) }) // Семена ягод global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) + generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, false) }) // Растения @@ -121,7 +121,7 @@ const registerTFCRecipes = (event) => { const itemId = element.id; const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId); + generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId, false); }); //#endregion diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index b60fe890b..936294408 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -19,15 +19,15 @@ const registerGTCEuMachines = (event) => { .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) .pattern(definition => FactoryBlockPattern.start() .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") - .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") - .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") - .aisle("CDDDDDC", "F F", "F F", "F F", "F F", "F F", "F F", "F F", "FFFFFFF") - .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") - .aisle("CDDDDDC", "X X", "X X", "X X", "X X", "X X", "X X", "X X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") .aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") .where('X', Predicates.blocks('ae2:quartz_glass')) .where('F', Predicates.frames('steel')) - .where('D', Predicates.blocks('tfc:dirt/silt') + .where('D', Predicates.blocks('tfc:grass/silt') .or(Predicates.blocks('tfc:dirt/loam')) .or(Predicates.blocks('tfc:dirt/sandy_loam')) .or(Predicates.blocks('tfc:dirt/silty_loam')) @@ -36,11 +36,39 @@ const registerGTCEuMachines = (event) => { .or(Predicates.blocks('tfc:grass/sandy_loam')) .or(Predicates.blocks('tfc:grass/silty_loam'))) .where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes()))) + .where('#', Predicates.air() + .or(Predicates.blockTag($Tags.block("minecraft:logs"))) + .or(Predicates.blockTag($Tags.block("minecraft:leaves")))) .where(' ', Predicates.any()) .where('Y', Predicates.controller(Predicates.blocks(definition.get()))) .build() ) - .workableCasingRenderer('gtceu:block/casings/solid/machine_casing_solid_steel', 'gtceu:block/multiblock/implosion_compressor', false) + .shapeInfo(controller => MultiblockShapeInfo.builder() + .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F##W##F", "F##W##F", "F##W##F", "F#LWL#F", "F#LWL#F", "F#LLL#F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CitYfeC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .where('Y', controller, Direction.SOUTH) + .where('C', GTBlocks.STEEL_HULL.get()) + .where('D', Block.getBlock('tfc:grass/silt')) + .where('F', Block.getBlock('gtceu:steel_frame')) + .where('X', Block.getBlock('ae2:quartz_glass')) + .where('W', Block.getBlock('tfc:wood/log/oak')) + .where('L', Block.getBlock('tfc:wood/leaves/oak')) + .where(' ', Block.getBlock('minecraft:air')) + .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.SOUTH) + .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.SOUTH) + .where('f', GTMachines.FLUID_IMPORT_HATCH[GTValues.ULV], Direction.SOUTH) + .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.LV], Direction.SOUTH) + .build() + ) + .workableCasingRenderer( + 'gtceu:block/casings/solid/machine_casing_solid_steel', + 'gtceu:block/multiblock/implosion_compressor', false + ) //#endregion From 1f507feefa3f2f8b839e46ec758b5d9cbd52a04e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 21:59:56 +0100 Subject: [PATCH 53/62] changed copper diving equipment durability to match copper armor, all diving equipment now copies any forging bonuses --- kubejs/server_scripts/create/recipes.js | 122 +++++++++--------- kubejs/server_scripts/minecraft/recipes.js | 19 +-- .../startup_scripts/create/modifications.js | 12 +- 3 files changed, 84 insertions(+), 69 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index cb703f278..23c06d2ed 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1018,50 +1018,54 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_backtank') // Шлем для дайвинга - event.shaped('create:copper_diving_helmet', [ - 'ABA', - 'CDC' - ], { - A: '#forge:plates/copper', - B: 'tfc:metal/helmet/copper', - C: '#forge:glass_panes', - D: 'firmaciv:large_waterproof_hide' - }).id('tfg:create/shaped/copper_diving_helmet') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('create:copper_diving_helmet').copyForgingBonus(), [ + 'ABA', + 'CDC' + ], { + A: '#forge:plates/copper', + B: 'tfc:metal/helmet/copper', + C: '#forge:glass_panes', + D: 'firmaciv:large_waterproof_hide' + }, 0, 1).id('tfg:create/shaped/copper_diving_helmet') // Ботинки для дайвинга - event.shaped('create:copper_diving_boots', [ - 'ABA', - 'CDC' - ], { - A: '#forge:screws/copper', - B: 'tfc:metal/boots/copper', - C: '#forge:ingots/iron', - D: 'firmaciv:large_waterproof_hide' - }).id('tfg:create/shaped/copper_diving_boots_cast_iron') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('create:copper_diving_boots').copyForgingBonus(), [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/copper', + B: 'tfc:metal/boots/copper', + C: '#forge:ingots/iron', + D: 'firmaciv:large_waterproof_hide' + }, 0, 1).id('tfg:create/shaped/copper_diving_boots_cast_iron') - event.shaped('create:copper_diving_boots', [ - 'ABA', - 'CDC' - ], { - A: '#forge:screws/copper', - B: 'tfc:metal/boots/copper', - C: '#forge:ingots/wrought_iron', - D: 'firmaciv:large_waterproof_hide' - }).id('tfg:create/shaped/copper_diving_boots_wrought_iron') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('create:copper_diving_boots').copyForgingBonus(), [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/copper', + B: 'tfc:metal/boots/copper', + C: '#forge:ingots/wrought_iron', + D: 'firmaciv:large_waterproof_hide' + }, 0, 1).id('tfg:create/shaped/copper_diving_boots_wrought_iron') // Netherite backtank - event.shaped('create:netherite_backtank', [ - 'ABA', - 'CDC', - 'EFE' - ], { - A: '#forge:screws/blue_steel', - B: 'greate:steel_shaft', - C: '#forge:plates/blue_steel', - D: 'gtceu:steel_drum', - E: 'beneath:cursed_hide', - F: 'tfc:metal/chestplate/blue_steel' - }).id('tfg:create/shaped/netherite_backtank') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('create:netherite_backtank').copyForgingBonus(), [ + 'ABA', + 'CDC', + 'EFE' + ], { + A: '#forge:screws/blue_steel', + B: 'greate:steel_shaft', + C: '#forge:plates/blue_steel', + D: 'gtceu:steel_drum', + E: 'beneath:cursed_hide', + F: 'tfc:metal/chestplate/blue_steel' + }, 2, 1).id('tfg:create/shaped/netherite_backtank') event.shaped('create:netherite_backtank', [ 'ACA', @@ -1075,15 +1079,16 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/netherite_backtank_upgrade') // Netherite diving helmet - event.shaped('create:netherite_diving_helmet', [ - 'ABA', - 'CDC' - ], { - A: '#forge:plates/blue_steel', - B: 'tfc:metal/helmet/blue_steel', - C: 'firmalife:reinforced_glass', - D: 'beneath:cursed_hide' - }).id('tfg:create/shaped/netherite_diving_helmet') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('create:netherite_diving_helmet').copyForgingBonus(), [ + 'ABA', + 'CDC' + ], { + A: '#forge:plates/blue_steel', + B: 'tfc:metal/helmet/blue_steel', + C: 'firmalife:reinforced_glass', + D: 'beneath:cursed_hide' + }, 0, 1).id('tfg:create/shaped/netherite_diving_helmet') event.shaped('create:netherite_diving_helmet', [ ' A ', @@ -1097,16 +1102,17 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/netherite_diving_helmet_upgrade') // Netherite diving boots - event.shaped('create:netherite_diving_boots', [ - 'ABC', - 'EDE' - ], { - A: '#forge:screws/blue_steel', - B: 'tfc:metal/boots/blue_steel', - C: '#forge:plates/blue_steel', - D: 'beneath:cursed_hide', - E: '#forge:ingots/lead' - }).id('tfg:create/shaped/netherite_diving_boots') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('create:netherite_diving_boots').copyForgingBonus(), [ + 'ABC', + 'EDE' + ], { + A: '#forge:screws/blue_steel', + B: 'tfc:metal/boots/blue_steel', + C: '#forge:plates/blue_steel', + D: 'beneath:cursed_hide', + E: '#forge:ingots/lead' + }, 0, 1).id('tfg:create/shaped/netherite_diving_boots') event.shaped('create:netherite_diving_boots', [ 'ABA', diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 493a84dcb..536179d1b 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -850,15 +850,16 @@ const registerMinecraftRecipes = (event) => { //#region Netherite leggings (for the lavaproof diving set) - event.shaped('minecraft:netherite_leggings', [ - 'ABA', - 'CDC' - ], { - A: '#forge:screws/blue_steel', - B: 'tfc:metal/greaves/blue_steel', - C: '#forge:plates/blue_steel', - D: 'beneath:cursed_hide' - }).id('tfg:minecraft/shaped/netherite_leggings') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('minecraft:netherite_leggings').copyForgingBonus(), [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/blue_steel', + B: 'tfc:metal/greaves/blue_steel', + C: '#forge:plates/blue_steel', + D: 'beneath:cursed_hide' + }, 0, 1).id('tfg:minecraft/shaped/netherite_leggings') //#endregion diff --git a/kubejs/startup_scripts/create/modifications.js b/kubejs/startup_scripts/create/modifications.js index 6508432b4..04cbe3c04 100644 --- a/kubejs/startup_scripts/create/modifications.js +++ b/kubejs/startup_scripts/create/modifications.js @@ -2,8 +2,16 @@ function registerCreateItemModifications(event) { - // Change durability to match blue steel armor - + // Change durability to match armor + event.modify('create:copper_diving_helmet', item => { + item.maxDamage = 150 + }) + event.modify('create:copper_backtank', item => { + item.maxDamage = 215 + }) + event.modify('create:copper_diving_boots', item => { + item.maxDamage = 160 + }) event.modify('create:netherite_diving_helmet', item => { item.maxDamage = 748 }) From d8c47132470bba9158300d295fe333eed2db6cbc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 22:36:54 +0100 Subject: [PATCH 54/62] pakku moment --- pakku-lock.json | 176 ++++++++++++++++++++++++++++++------------------ 1 file changed, 109 insertions(+), 67 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index baa265558..857a69258 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -189,7 +189,7 @@ "files": [ { "type": "curseforge", - "file_name": "[1.20.1-Forge] Additional Placements-2.3.0.jar", + "file_name": "[1.20.1-Forge] Additional Placements-2.3.1.jar", "mc_versions": [ "1.20.1" ], @@ -197,16 +197,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6556/599/[1.20.1-Forge] Additional Placements-2.3.0.jar", - "id": "6556599", + "url": "https://edge.forgecdn.net/files/6596/667/[1.20.1-Forge] Additional Placements-2.3.1.jar", + "id": "6596667", "parent_id": "674852", "hashes": { - "sha1": "b66b94a816d6ff9569741155c155549092fb4860", - "md5": "7fcd0143695ebbf105a8cdde43f96a22" + "sha1": "536363d54e2902c7e5ba2d2901f4c9b30a96e4c5", + "md5": "e298ec9186b41112b319a8d9f02d590a" }, "required_dependencies": [], - "size": 412939, - "date_published": "2025-05-22T20:10:50.550Z" + "size": 420054, + "date_published": "2025-05-29T20:19:26.417Z" } ] }, @@ -389,7 +389,7 @@ "files": [ { "type": "curseforge", - "file_name": "appliedenergistics2-forge-15.4.2.jar", + "file_name": "appliedenergistics2-forge-15.4.4.jar", "mc_versions": [ "1.20.1" ], @@ -397,18 +397,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6501/484/appliedenergistics2-forge-15.4.2.jar", - "id": "6501484", + "url": "https://edge.forgecdn.net/files/6605/410/appliedenergistics2-forge-15.4.4.jar", + "id": "6605410", "parent_id": "223794", "hashes": { - "sha1": "829ccaed2a1d1d25e9f5e459ccc481a3c061f8c1", - "md5": "9fe7f15dfec2b9a52975ed6b9140cef0" + "sha1": "8660d742d2f8d8b7bdadae76e84144587811e9d2", + "md5": "74cc19c79dd5dbfa3e511597c7fc0592" }, "required_dependencies": [ "1173950" ], - "size": 8410614, - "date_published": "2025-05-06T08:16:21.133Z" + "size": 8413070, + "date_published": "2025-06-01T14:46:39.523Z" } ] }, @@ -736,7 +736,7 @@ "files": [ { "type": "curseforge", - "file_name": "balm-forge-1.20.1-7.3.30-all.jar", + "file_name": "balm-forge-1.20.1-7.3.31-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -745,16 +745,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6552/744/balm-forge-1.20.1-7.3.30-all.jar", - "id": "6552744", + "url": "https://edge.forgecdn.net/files/6588/893/balm-forge-1.20.1-7.3.31-all.jar", + "id": "6588893", "parent_id": "531761", "hashes": { - "sha1": "df060fe183c16297d4e0e819076aea38c65e02b0", - "md5": "9b05a3f399c2f7bccf06842520714fde" + "sha1": "e1c4061cab1e743ef43a94d1b0f4769e57722389", + "md5": "07fcc1940d31dd3e83d475118ff41a1e" }, "required_dependencies": [], - "size": 594985, - "date_published": "2025-05-21T12:07:49.453Z" + "size": 594928, + "date_published": "2025-05-29T07:24:54.943Z" } ] }, @@ -2547,7 +2547,7 @@ "files": [ { "type": "curseforge", - "file_name": "diggerhelmet-1.20.1-1.0.0.19.jar", + "file_name": "diggerhelmet-1.20.1-1.0.0.20.jar", "mc_versions": [ "1.20.1" ], @@ -2556,20 +2556,20 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/6536/317/diggerhelmet-1.20.1-1.0.0.19.jar", - "id": "6536317", + "url": "https://edge.forgecdn.net/files/6613/364/diggerhelmet-1.20.1-1.0.0.20.jar", + "id": "6613364", "parent_id": "1243596", "hashes": { - "sha1": "a0e14d39f0e390df58569b3fd4dd58bd25b5cb2c", - "md5": "8a0c4e65772389d552ddfde1f1ff0f21" + "sha1": "85aaa5c0814177c6ba0c27deb190543e37d3ed04", + "md5": "d9bfaeabad9b45f412efa2a4b02a3d53" }, "required_dependencies": [ - "302973", + "388172", "309927", - "388172" + "302973" ], - "size": 166512, - "date_published": "2025-05-16T17:31:26.657Z" + "size": 166469, + "date_published": "2025-06-04T11:33:42.337Z" } ] }, @@ -4962,7 +4962,7 @@ "files": [ { "type": "curseforge", - "file_name": "jei-1.20.1-forge-15.20.0.108.jar", + "file_name": "jei-1.20.1-forge-15.20.0.112.jar", "mc_versions": [ "1.20.1" ], @@ -4970,16 +4970,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/6564/682/jei-1.20.1-forge-15.20.0.108.jar", - "id": "6564682", + "url": "https://edge.forgecdn.net/files/6600/311/jei-1.20.1-forge-15.20.0.112.jar", + "id": "6600311", "parent_id": "238222", "hashes": { - "sha1": "eefce28443825405a65e0d47bd302976835d1bee", - "md5": "bcb355cbcb3e0b0138093889cf0a9fa6" + "sha1": "f12b3781af6337794ae6e010420a97585360ea2f", + "md5": "c899d5b549ace1e9fa46700c778c3809" }, "required_dependencies": [], - "size": 1381978, - "date_published": "2025-05-25T15:06:03.230Z" + "size": 1385600, + "date_published": "2025-05-31T05:20:27.750Z" } ] }, @@ -5596,7 +5596,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.23.0+mc1.20.1.jar", + "file_name": "modernfix-forge-5.23.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5604,20 +5604,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/OLk2pIh9/modernfix-forge-5.23.0+mc1.20.1.jar", - "id": "OLk2pIh9", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/coV9vitC/modernfix-forge-5.23.1+mc1.20.1.jar", + "id": "coV9vitC", "parent_id": "nmDcB62a", "hashes": { - "sha512": "484f579d0ae8f14a21cfbc462662fe1f4374dd72c1628652b90c48bb67e981028247009f5c2dec44d3c7c728a7c60e0bba01df94746b6b74b08715023bfb46b8", - "sha1": "901b9adb31fe489c5d6db76dd08b9ed29a4d5395" + "sha512": "f7a0d409c48a00a0a816872cd287796e2e9e9e991f8a76dcc2b14cb4dac94e82bf9f1d8ee9ee99d66d19251e9105c280a0944761444b541db00275a574ec1872", + "sha1": "d2516e5edd0944940419d00d1e24373c071ca93f" }, "required_dependencies": [], - "size": 870142, - "date_published": "2025-05-19T20:50:30.391293Z" + "size": 870276, + "date_published": "2025-06-03T01:41:29.389079Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.23.0+mc1.20.1.jar", + "file_name": "modernfix-forge-5.23.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5625,16 +5625,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6548/605/modernfix-forge-5.23.0+mc1.20.1.jar", - "id": "6548605", + "url": "https://edge.forgecdn.net/files/6609/555/modernfix-forge-5.23.1+mc1.20.1.jar", + "id": "6609555", "parent_id": "790626", "hashes": { - "sha1": "901b9adb31fe489c5d6db76dd08b9ed29a4d5395", - "md5": "457fdf4d9c521890ac697485d70e7d37" + "sha1": "d2516e5edd0944940419d00d1e24373c071ca93f", + "md5": "c8990d5be5b502ffdcb191dbfdad6ac7" }, "required_dependencies": [], - "size": 870142, - "date_published": "2025-05-19T20:50:26.350Z" + "size": 870276, + "date_published": "2025-06-03T01:41:25.510Z" } ] }, @@ -5657,7 +5657,7 @@ "files": [ { "type": "curseforge", - "file_name": "moonlight-1.20-2.14.1-forge.jar", + "file_name": "moonlight-1.20-2.14.4-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5666,16 +5666,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6507/197/moonlight-1.20-2.14.1-forge.jar", - "id": "6507197", + "url": "https://edge.forgecdn.net/files/6611/244/moonlight-1.20-2.14.4-forge.jar", + "id": "6611244", "parent_id": "499980", "hashes": { - "sha1": "1658692ea4a03369f07b3af821fe622f0e6b47ac", - "md5": "f78c882e5fbf3d3be480fc6768cecc85" + "sha1": "2d5e17eeed05b53336babdadf73de08e4e2d42d7", + "md5": "2136ddea9e6a180c6dc80c7f70bc509e" }, "required_dependencies": [], - "size": 1266075, - "date_published": "2025-05-08T00:24:16.950Z" + "size": 1268260, + "date_published": "2025-06-03T18:10:25.860Z" } ] }, @@ -7777,6 +7777,48 @@ } ] }, + { + "pakku_id": "O9o4v50wMwsyPZeQ", + "pakku_links": [ + "fMkiGcRPRv1DdRC1" + ], + "type": "MOD", + "slug": { + "curseforge": "tfc-punishment-for-death" + }, + "name": { + "curseforge": "TFC Punishment for Death" + }, + "id": { + "curseforge": "1258250" + }, + "files": [ + { + "type": "curseforge", + "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6613/67/TFC_punishment_for_death-1.20.1-1.0.0.15.jar", + "id": "6613067", + "parent_id": "1258250", + "hashes": { + "sha1": "0c7ff3607981f60970fdf85ee52c7e50ad9f5fcd", + "md5": "90ffb704cbc8ec9b14eaae79e4a365c5" + }, + "required_dependencies": [ + "302973" + ], + "size": 34133, + "date_published": "2025-06-04T10:12:24.677Z" + } + ] + }, { "pakku_id": "WbVOj6kmY9jCiHED", "type": "MOD", @@ -8139,7 +8181,7 @@ "files": [ { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.6.6.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.6.7.jar", "mc_versions": [ "1.20.1" ], @@ -8148,19 +8190,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6585/354/TerraFirmaGreg-Core-Modern-0.6.6.jar", - "id": "6585354", + "url": "https://edge.forgecdn.net/files/6613/427/TerraFirmaGreg-Core-Modern-0.6.7.jar", + "id": "6613427", "parent_id": "513402", "hashes": { - "sha1": "91a62f5be77d57db8f0ce5efcfb777627db011b8", - "md5": "0874889839f293d07c08a022b1ca4d41" + "sha1": "76662e65565207a7682cafd39ef068e4c0a98516", + "md5": "7c41c1ca1a8a9edf0e9fb72bdf5ebf44" }, "required_dependencies": [ - "890405", - "302973" + "302973", + "890405" ], - "size": 281117, - "date_published": "2025-05-27T21:15:43.277Z" + "size": 297697, + "date_published": "2025-06-04T11:47:57.083Z" } ] }, From ecbc791b30b5ef149894d3f1b01bf9340eb83625 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 23:23:45 +0100 Subject: [PATCH 55/62] better recipes for bars, doors, trapdoors --- CHANGELOG.md | 2 + kubejs/server_scripts/create/recipes.js | 44 +++++++- kubejs/server_scripts/createdeco/recipes.js | 101 ++++++++++++++++-- .../gregtech/recipes.materials.js | 9 +- .../server_scripts/tfc/recipes.materials.js | 9 +- kubejs/startup_scripts/create/constants.js | 3 - 6 files changed, 144 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23ddff07a..b86773e12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ - Increased durability of the blue steel diving suit to match blue steel armor @Pyritie - Phantom Silk and Polycaprolactam Fabric now count as High Quality Fabric @Pyritie - Added recipes to turn dirt into grass @Pyritie +- Changed durability of the diving equipment to match the TFC armor, made forging bonuses carry across when crafting @Pyritie +- Added/changed more recipes for metal bars, doors, and trapdoors ### Bug fixes - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 23c06d2ed..7035d80c8 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -36,16 +36,13 @@ const registerCreateRecipes = (event) => { { id: 'create:crafting/schematics/empty_schematic' }, { id: 'create:crafting/schematics/schematic_and_quill' }, { id: 'create:crafting/appliances/clipboard_clear' }, - { id: 'create:crafting/kinetics/andesite_door' }, - { id: 'create:crafting/kinetics/brass_door' }, - { id: 'create:crafting/kinetics/copper_door' }, - { id: 'create:crafting/kinetics/train_door' }, - { id: 'create:crafting/kinetics/train_trapdoor' }, { id: 'create:crafting/logistics/content_observer' }, { type: 'minecraft:stonecutting' } ], mod: 'create' }) + event.remove({ type: 'minecraft:stonecutting', input: 'create:andesite_alloy' }) + // Train Station event.shapeless('2x create:track_station', [ 'create:railway_casing', @@ -1932,4 +1929,41 @@ const registerCreateRecipes = (event) => { event.stonecutting('2x create:andesite_scaffolding', '#forge:ingots/tin_alloy') event.stonecutting('2x create:andesite_ladder', '#forge:ingots/tin_alloy') event.stonecutting('2x create:andesite_bars', '#forge:ingots/tin_alloy') + + // Bars + + event.recipes.gtceu.cutter('tfg:create_andesite_bars') + .itemInputs('#forge:plates/tin_alloy') + .itemOutputs('create:andesite_bars') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.cutter('tfg:create_copper_bars') + .itemInputs('#forge:plates/copper') + .itemOutputs('create:copper_bars') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.cutter('tfg:create_brass_bars') + .itemInputs('#forge:plates/brass') + .itemOutputs('create:brass_bars') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + // Doors + + event.shapeless('2x create:andesite_door', ['createdeco:andesite_door', '#minecraft:wooden_doors', 'minecraft:glass_pane']) + .id('tfg:shapeless/create_andesite_door') + + event.shapeless('2x create:brass_door', ['createdeco:brass_door', '#minecraft:wooden_doors', 'minecraft:glass_pane']) + .id('tfg:shapeless/create_brass_door') + + event.shapeless('2x create:copper_door', ['createdeco:copper_door', '#minecraft:wooden_doors', 'minecraft:glass_pane']) + .id('tfg:shapeless/create_copper_door') + + event.shapeless('2x create:train_door', ['createdeco:industrial_iron_door', '#minecraft:wooden_doors', 'minecraft:glass_pane']) + .id('tfg:shapeless/create_train_door') + + event.shapeless('2x create:train_trapdoor', ['tfc:metal/trapdoor/steel', '#minecraft:wooden_trapdoors']) + .id('tfg:shapeless/create_train_trapdoor') } diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index d25688cb3..24f81455b 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -174,7 +174,7 @@ const registerCreatedecoRecipes = (event) => { }); //#endregion - // #region Bars + // #region Bars + Doors const metalThings = [ { metal: 'andesite', material: 'tin_alloy', tier: 3 }, @@ -190,27 +190,106 @@ const registerCreatedecoRecipes = (event) => { event.remove({ id: `createdeco:${bar.metal}_door` }) if (bar.metal != 'iron') { + event.remove({ type: 'minecraft:stonecutting', output: `createdeco:${bar.metal}_bars` }) + event.recipes.tfc.anvil(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`, ['shrink_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars`) - event.recipes.tfc.anvil(`createdeco:${bar.metal}_door`, `#forge:ingots/${bar.material}`, ['draw_last', 'draw_second_last', 'punch_third_last']) + event.recipes.gtceu.assembler(`tfg:${bar.material}_create_deco_bars`) + .itemInputs(`2x #forge:rods/${bar.material}`) + .itemOutputs(`4x createdeco:${bar.metal}_bars`) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(12) + + event.recipes.tfc.anvil(`createdeco:${bar.metal}_door`, `#forge:double_plates/${bar.material}`, ['draw_last', 'draw_second_last', 'punch_third_last']) .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_door`) - event.recipes.tfc.anvil(`createdeco:${bar.metal}_trapdoor`, `#forge:ingots/${bar.material}`, ['shrink_last', 'draw_second_last', 'draw_third_last']) - .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_trapdoor`) - - event.stonecutting(`createdeco:${bar.metal}_trapdoor`, `#forge:ingots/${bar.material}`) - .id(`createdeco:stonecutting/${bar.metal}_trapdoor`) - - event.stonecutting(`createdeco:${bar.metal}_door`, `#forge:ingots/${bar.material}`) - .id(`createdeco:stonecutting/${bar.metal}_door`) + event.recipes.gtceu.cutter(`tfg:${bar.material}_create_deco_door`) + .itemInputs(`#forge:double_plates/${bar.material}`) + .itemOutputs(`createdeco:${bar.metal}_door`) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) } - event.recipes.tfc.anvil(`4x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`, ['draw_last', 'punch_second_last', 'punch_third_last']) + event.remove({ type: 'minecraft:stonecutting', output: `createdeco:${bar.metal}_bars_overlay` }) + + event.recipes.tfc.anvil(`2x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`, ['draw_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars_overlay`) + event.recipes.gtceu.assembler(`tfg:${bar.material}_create_deco_bars_overlay`) + .itemInputs(`1x #forge:rods/${bar.material}`, `1x #forge:plates/${bar.material}`) + .itemOutputs(`4x createdeco:${bar.metal}_bars_overlay`) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(13) }) + // #endregion + + // #region Trapdoors + + event.shapeless(`createdeco:copper_trapdoor`, `tfc:metal/trapdoor/copper`) + event.shapeless(`tfc:metal/trapdoor/copper`, `createdeco:copper_trapdoor`) + + event.shapeless(`createdeco:industrial_iron_trapdoor`, `tfc:metal/trapdoor/steel`) + event.shapeless(`tfc:metal/trapdoor/steel`, `createdeco:industrial_iron_trapdoor`) + + // TODO: move these two into the tag prefixes in tfg-core, then remove these recipes + + event.recipes.tfc.anvil(`createdeco:brass_trapdoor`, `#forge:ingots/brass`, ['shrink_last', 'draw_second_last', 'draw_third_last']) + .tier(2).id(`createdeco:anvil/brass_trapdoor`) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_brass_trapdoor`) + .itemInputs('#forge:ingots/brass') + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs('createdeco:brass_trapdoor') + .duration(GTMaterials.Brass.getMass()) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_brass_trapdoor`) + .inputFluids(Fluid.of(GTMaterials.Brass.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs('createdeco:brass_trapdoor') + .duration(GTMaterials.Brass.getMass()) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.anvil(`createdeco:zinc_trapdoor`, `#forge:ingots/zinc`, ['shrink_last', 'draw_second_last', 'draw_third_last']) + .tier(1).id(`createdeco:anvil/zinc_trapdoor`) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_zinc_trapdoor`) + .itemInputs('#forge:ingots/zinc') + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs('createdeco:zinc_trapdoor') + .duration(GTMaterials.Zinc.getMass()) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_zinc_trapdoor`) + .inputFluids(Fluid.of(GTMaterials.Zinc.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs('createdeco:zinc_trapdoor') + .duration(GTMaterials.Zinc.getMass()) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.anvil(`createdeco:andesite_trapdoor`, `#forge:ingots/iron_alloy`, ['shrink_last', 'draw_second_last', 'draw_third_last']) + .tier(3).id(`createdeco:anvil/andesite_trapdoor`) + + event.recipes.gtceu.alloy_smelter(`tfg:cast_tin_alloy_trapdoor`) + .itemInputs('#forge:ingots/tin_alloy') + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs('createdeco:andesite_trapdoor') + .duration(GTMaterials.TinAlloy.getMass()) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_tin_alloy_trapdoor`) + .inputFluids(Fluid.of(GTMaterials.TinAlloy.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs('createdeco:andesite_trapdoor') + .duration(GTMaterials.TinAlloy.getMass()) + .EUt(GTValues.VA[GTValues.ULV]) // #endregion diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 21b58f96e..a3b5bbbc8 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -834,11 +834,16 @@ function registerGTCEUMetalRecipes(event) { const processBars = (material) => { const barsStack = ChemicalHelper.get(TFGTagPrefix.bars, material, 4) + const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) if (barsStack == null) return; - event.stonecutting(barsStack, ChemicalHelper.get(TagPrefix.ingot, material, 1)) - .id(`${material.getName()}_ingot_to_bars`) + event.recipes.gtceu.cutter(`tfg:${material.getName()}_bars`) + .itemInputs(ingotStack) + .itemOutputs(barsStack) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(1) } forEachMaterial(material => { diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 60d852406..a105e1203 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -1076,7 +1076,8 @@ function registerTFCMaterialsRecipes(event) { let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); // Люк - event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, plateItem, + ['bend_last', 'draw_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_trapdoor`) @@ -1086,12 +1087,14 @@ function registerTFCMaterialsRecipes(event) { .id(`tfc:heating/metal/${material.getName()}_bars`) // 8x Решетка - event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + event.recipes.tfc.anvil(`4x tfc:metal/bars/${material.getName()}`, ingotItem, + ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars`) // 16x Решетка - event.recipes.tfc.anvil(`16x tfc:metal/bars/${material.getName()}`, ChemicalHelper.get(TagPrefix.plateDouble, material, 1), ['upset_last', 'punch_second_last', 'punch_third_last']) + event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1), + ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars_double`) diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index 2c917a567..8fec001aa 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -272,9 +272,6 @@ global.CREATE_DISABLED_ITEMS = [ 'create:crushed_raw_osmium', 'create:crushed_raw_iron', 'create:experience_nugget', - 'create:andesite_bars', - 'create:brass_bars', - 'create:copper_bars', 'create:tree_fertilizer', 'create:handheld_worldshaper', 'create:creative_crate', From 955a838aca686d5785608cf58ccbec0ebb81c86f Mon Sep 17 00:00:00 2001 From: TomPlop Date: Wed, 4 Jun 2025 18:24:40 -0400 Subject: [PATCH 56/62] Quests work (Langfile, WIP) (#1126) --- .../quests/chapters/ev__extreme_voltage.snbt | 22 +- .../quests/chapters/gregtech_energy.snbt | 243 +++++++++++----- .../quests/chapters/hv__high_voltage.snbt | 22 +- .../quests/chapters/iv__insane_voltage.snbt | 22 +- .../chapters/luv__ludicrous_voltage.snbt | 267 ++++++++++++++---- .../quests/chapters/uv__ultimate_voltage.snbt | 93 ++++-- .../chapters/zpm__zero_point_module.snbt | 65 +++-- 7 files changed, 551 insertions(+), 183 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 6d9c53fdc..5b30c28b7 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -1601,7 +1601,25 @@ x: 7.875d y: 6.75d } + { + description: [ + "This Chapter will be updated later on with &lSpace Progression&r. Be wary &oprogression&r and &orecipes&r will &lchange&r as the structure of the quests." + "" + "The modpack can be finish right now and is mostly vanilla Gregtech." + ] + icon: "createdeco:decal_warning" + id: "02AD483C54EF96F0" + size: 2.5d + tasks: [{ + id: "362E55351356CD43" + title: "Okay I understand it's not up to date" + type: "checkmark" + }] + title: "Quests are OLD and not updated for TFG" + x: 0.0d + y: 4.5d + } ] - subtitle: ["Improve your infrastructure and parallelise your setups"] - title: "&5EV&r - Extreme Voltage" + subtitle: ["The quests are outdated. They will be update in a later update."] + title: "&5EV&r - Extreme Voltage &6(WIP)&r" } diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index cdffcb756..192e10014 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -10,80 +10,93 @@ quest_links: [ ] quests: [ { - description: ["We know that &5GregTech&r isn’t the easiest mod to get into — especially when it comes to the &cenergy system&r. That’s why we’ll take our time in this chapter to explain as much as we can.\\n\\nSome things here might not make full sense until later in your progression, so &adon’t stress yourself&r. Just try to understand what you can for now, and feel free to &dcome back to this chapter&r whenever you have questions.\\n\\nWe’ve split this chapter into &efour categories&r, each one covering a topic related to the &6GregTech Energy System&r. We’ll provide as many examples as possible to help you understand how it all works."] + description: ["{quests.gregtech_energy.start.desc}"] icon: "gtceu:uhv_ultimate_battery" id: "06B2E38F7DCF2678" + subtitle: "{quests.gregtech_energy.start.subtitle}" tasks: [{ id: "07E1FA6A1BB796D4" - title: "How to Gregtech" + title: "{quests.gregtech_energy.start.task}" type: "checkmark" }] + title: "{quests.gregtech_energy.start.title}" x: 0.0d y: 0.0d } { dependencies: ["06B2E38F7DCF2678"] - description: ["&6Moving Energy in Gregtech&r means understanding a few core mechanics.\\n\\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in Gregtech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\\n&8•&r Tin wire = &aLV&r\\n&8•&r Copper = &bMV&r\\n\\nSecond, you’ve got the &bAmperage&r mechanic. Think of &d1 Amp&r (or &d1A&r) as &ea packet of energy&r. It moves down your cable to the closest machine needing power.\\n&8•&r 1A of LV = &a32 EU&r\\n&8•&r 1A of HV = &e512 EU&r\\n\\nMost machines and energy hatches can only take &62A at once&r.\\n\\nMastering these two ideas is key before going further into energy distribution."] + description: ["{quests.gregtech_energy.moving.desc}"] icon: "gtceu:luv_field_generator" id: "60FF9249376DF9BD" + subtitle: "{quests.gregtech_energy.moving.subtitle}" tasks: [{ id: "4C6524EFB1A21E6E" - title: "Moving Energy" + title: "{quests.gregtech_energy.moving.task}" type: "checkmark" }] + title: "{quests.gregtech_energy.moving.title}" x: 0.0d y: 3.0d } { dependencies: ["06B2E38F7DCF2678"] - description: ["Storing your energy is one of the &emost fundamental aspects&r of the power system in &dGregTech&r.\\n\\nWhy is that? Simply because even the &cstrongest generators&r won't be enough to keep up when you launch a &ebig craft&r — especially in late game.\\n\\nTo deal with this, GregTech provides &6multiple solutions&r to store &bastronomical amounts of EU&r. These storages act as a &3buffer&r between your energy production and the machines that drain it during complex operations.\\n\\nWhether you’re preparing for a &1Fusion Reactor&r, a &dLCT&r, or any &6HV-IV scale crafting chain&r, you’ll need that extra backup of energy to keep everything stable.\\n\\nDon’t underestimate the &apower of a good battery&r — it may just be the thing that saves your base from crashing during your most ambitious moments."] + description: ["{quests.gregtech_energy.storage.desc}"] icon: "gtceu:uv_field_generator" id: "08C160A0E7BBF39D" + subtitle: "{quests.gregtech_energy.storage.subtitle}" tasks: [{ id: "2E561EE13A2AE934" - title: "Stocking Energy" + title: "{quests.gregtech_energy.storage.task}" type: "checkmark" }] + title: "{quests.gregtech_energy.storage.title}" x: 0.0d y: -3.0d } { dependencies: ["06B2E38F7DCF2678"] - description: ["It’s all about making energy, right? This part won’t be the most complicated one, since &eproducing energy&r in &2TerraFirmaGreg&r works pretty much like in &5standard GregTech&r.\\n\\nYou’ll learn about the various &6methods to generate energy&r, as well as some of the &afuels&r you can use to get the most out of your setup."] + description: ["{quests.gregtech_energy.produce_energy.desc}"] icon: "gtceu:lv_field_generator" id: "2CDB9778C7A30044" + subtitle: "{quests.gregtech_energy.produce_energy.subtitle}" tasks: [{ id: "0772AE56AC1CCBAC" - title: "Producing Energy" + title: "{quests.gregtech_energy.produce_energy.task}" type: "checkmark" }] + title: "{quests.gregtech_energy.produce_energy.title}" x: -3.0d y: 0.0d } { dependencies: ["06B2E38F7DCF2678"] description: [ - "&6How to spend all this energy?&r\\n\\nUse your machines! Sounds simple, right?\\nWell... &cnot exactly&r. There are &emany small details&r that you should learn to help you on your &dquest&r to completing &3TerraFirmaGreg&r.\\n\\n&bBasic Machines&r:\\n- These machines are simple.\\n- They can handle up to &a2A&r.\\n- If you input a &chigher tier&r of energy... &4💥 they explode&r.\\n\\n&dGregtech Multiblocks&r:\\nNow things get interesting.\\nMultiblocks offer more flexibility and power — &eif&r you understand how they work." + "{quests.gregtech_energy.spending_energy.desc.1}" "{@pagebreak}" - "&eStandard Mechanics&r:\\n- If a multiblock can accept &aTWO&r &bEnergy Hatches&r this allows you to use &ahigher-tier recipes&r than the machine’s base tier.\\n\\nExample:\\nIf you're using a &dLarge Mixing Vessel&r and you install &12x IV Energy Hatches&r,\\nit will be able to process &cLuV-tier Mixer recipes&r — this is how works the &cElectric Blast Furnace&r.\\n\\nKnowing this will help you get the &6maximum efficiency&r out of your setup and progressing into higher tier materials." + "{quests.gregtech_energy.spending_energy.desc.2}" "{@pagebreak}" - "&6Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A.&r\\n\\nYou can still use a &e4A or 16A Energy Hatch&r. This will allow &bOverclocking&r of recipes but &cnot recipe tier upgrades&r.\\n\\n&dExample&r:\\nThe &aLarge Circuit Assembler&r only accepts &eone Energy Hatch&r. If you install a &c4A IV Energy Hatch&r, you will be able to &eOverclock all IV and lower recipes&r.\\n\\nHowever, you &ccannot craft LuV-tier recipes&r because the machine doesn't support multiple hatches. That limitation is &aintentional&r to prevent skipping the Gregtech progression system.\\n\\n&bSo remember&r: More amps on a single hatch means faster processing, but it won’t unlock higher-tier recipes unless the multiblock is designed to allow it." + "{quests.gregtech_energy.spending_energy.desc.3}" + "{@pagebreak}" + "{quests.gregtech_energy.spending_energy.desc.4}" ] icon: "gtceu:hv_field_generator" id: "2E57B2B963717893" + subtitle: "{quests.gregtech_energy.spending_energy.subtitle}" tasks: [{ id: "28965A2A91DF08E5" - title: "Spending Energy" + title: "{quests.gregtech_energy.spending_energy.task}" type: "checkmark" }] + title: "{quests.gregtech_energy.spending_energy.title}" x: 3.0d y: 0.0d } { dependencies: ["60FF9249376DF9BD"] - description: ["&6Moving energy around in Gregtech can be tricky&b — cable loss&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are &7solutions&r:\\n\\n&8•&r &bCover your wires&r with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\\n&8•&r &bUse higher-tier cables&r. Platinum cables, for example, only lose 1 EU per block — &9practically nothing&r when compared to the 8192 EU it can carry.\\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, &cno shock&r. Just be aware that they require specific components based on their tier.\\n\\n&7Optimize your energy flow — &breduce losses&r and make your systems more efficient."] + description: ["{quests.gregtech_energy.moving_wire.desc}"] icon: "gtceu:tin_single_cable" id: "2544BE51A1794811" + subtitle: "{quests.gregtech_energy.moving_wire.subtitle}" tasks: [ { id: "0B948A3121D2BFE7" @@ -105,20 +118,24 @@ } { id: "24025B7BA4E5FFAE" - title: "{quests.gregtech_energy.wire.task}" + title: "{quests.gregtech_energy.moving_wire.task}" type: "checkmark" } ] - title: "Moving with wires" + title: "{quests.gregtech_energy.moving_wire.title}" x: 0.0d y: 5.0d } { dependencies: ["60FF9249376DF9BD"] - description: ["&6There's something we didn't mention about &bAmps&r — cables can burn if you push too much through them. &bNot only the tier of energy matters&r, but also the &9Amps&r.\\n\\nWhenever you're outputting more &9Amps&r than a cable can handle, it's essential to either use &7bigger cables&r or cables with a &9higher amp capacity&r to prevent them from burning out. "] + description: [ + "{quests.gregtech_energy.moving_amp.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.moving_amp.desc.2}" + ] icon: "gtceu:tin_octal_cable" id: "2F9973EC65735849" - subtitle: "It burns?" + subtitle: "{quests.gregtech_energy.moving_amp.subtitle}" tasks: [ { id: "02AC71975245336E" @@ -134,18 +151,20 @@ } { id: "0500E8DBD44B4D3D" + title: "{quests.gregtech_energy.moving_amp.task}" type: "checkmark" } ] - title: "Managing Amp" + title: "{quests.gregtech_energy.moving_amp.title}" x: 2.0d y: 5.0d } { dependencies: ["60FF9249376DF9BD"] - description: ["&6For every problem, Gregtech has a multiblock solution.&r Enter the &dActive Transformer&r.\\n\\nThis beast is your &9ultimate transformer&r. It can &echannel energy between any tiers&r — from &aLV&r to &cUHV&r — with &cno explosions&r. But that's not even the best part.\\n\\nIt can &btransmit energy using Laser Pipes&r.\\n&8•&r Lasers send absurd amounts of Amps.\\n&8•&r No loss. No cables. Just pure energy.\\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\\n\\n&7When cables feel weak, &luse lasers&r."] + description: ["{quests.gregtech_energy.transformer.desc}"] icon: "gtceu:active_transformer" id: "6ECAD339C91EF194" + subtitle: "{quests.gregtech_energy.transformer.subtitle}" tasks: [ { id: "098424C2B55ABA69" @@ -170,14 +189,20 @@ type: "item" } ] - title: "The Super Transformer" + title: "{quests.gregtech_energy.transformer.title}" x: -2.0d y: 5.0d } { dependencies: ["08C160A0E7BBF39D"] - description: ["&dBattery Buffers&r are your basic machines to &estore and manage energy&r — though technically, they don’t store energy on their own. They simply serve as a &3housing for your batteries&r.\\n\\n⚠ &cIf you don’t want them to explode&r:\\n- &4Never input higher-tier energy&r into a lower-tier Battery Buffer.\\n- Batteries can only be charged if they are of &cequal or lower tier&r than the Battery Buffer.\\n\\n🔌 A Battery Buffer can accept up to &b2x its output amperage&r.\\nSo for example, a &e4x Battery Buffer&r can take in &a8A&r — but will only output &e4A&r max (1A per battery slot).\\n\\n🪫 &eReminder&r:\\n- No batteries = &cno output&r.\\n- The number of batteries determines the number of Amps it outputs.\\nThat means a &68x Battery Buffer&r with only &e3 batteries&r will only output &e3A&r.\\n\\nUse them wisely — they are the &afoundation of any stable energy network&r."] + description: [ + "{quests.gregtech_energy.battery_buffer.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.battery_buffer.desc.2}" + ] + icon: "gtceu:lv_battery_buffer_4x" id: "6F80465F0759BECA" + subtitle: "{quests.gregtech_energy.battery_buffer.subtitle}" tasks: [ { id: "6C696D9285DCE51F" @@ -189,23 +214,29 @@ } } optional_task: true - title: "Some Battery Buffers" + title: "{quests.gregtech_energy.battery_buffer.task.1}" type: "item" } { id: "5EECB3420DC62587" + title: "{quests.gregtech_energy.battery_buffer.task.2}" type: "checkmark" } ] - title: "Battery Buffer" + title: "{quests.gregtech_energy.battery_buffer.title}" x: 0.0d y: -5.0d } { dependencies: ["08C160A0E7BBF39D"] - description: ["This one should become your &5main focus&r once you progress into &1IV&r.\\n\\nThe &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r.\\nIt can store so much energy... you’d probably need &cmultiple lifetimes&r to fill it.\\n\\n&eHow it works&r:\\n- Build the structure using &aPalladium Substation Casings&r.\\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\\n\\n&eCapacitor Layers&r:\\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\\n- Each layer must be &cfully filled&r — no gaps.\\n- Mix &fempty&r and &6full&r capacitors however you like.\\n\\nSurround each layer with &bLaminated Glass&r.\\n\\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far."] + description: [ + "{quests.gregtech_energy.pss.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.pss.desc.2}" + ] icon: "gtceu:power_substation" id: "3C4E3DAB3C77B6F0" + subtitle: "{quests.gregtech_energy.pss.subtitle}" tasks: [ { id: "1FEDCA7CAA2636CE" @@ -223,13 +254,19 @@ type: "item" } ] + title: "{quests.gregtech_energy.pss.title}" x: 2.0d y: -5.0d } { dependencies: ["08C160A0E7BBF39D"] - description: ["Obviously, storing energy can also mean &estoring the fuel that makes it&r.\\n\\nFor this scenario, while &7Drums&r and &6Crates&r are decent early options, you should not overlook the &dSuper Tank&r and the &dSuper Chest&r.\\n\\nThese &abeasts&r are capable of storing &ctremendous amounts of fluid or items&r — perfect for &3autonomous energy setups&r, especially when you want to generate power &cfar away from your main base&r without having to build an entire cable network.\\n\\nJust load them up with &egas, fuel, steam&r or even &4plasma&r, and let them handle the rest. With proper planning, your outposts can be fully operational with &ano live connection&r to your central grid.\\n\\nEnergy doesn’t always come in wires — sometimes, it comes in barrels."] + description: [ + "{quests.gregtech_energy.tank.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.tank.desc.2}" + ] id: "463300BE45037961" + subtitle: "{quests.gregtech_energy.tank.subtitle}" tasks: [{ id: "6E4464F002201129" item: { @@ -239,17 +276,18 @@ "ftbfiltersystem:filter": "or(item(gtceu:lv_super_tank)item(gtceu:mv_super_tank)item(gtceu:hv_super_tank)item(gtceu:ev_super_tank)item(gtceu:iv_quantum_tank)item(gtceu:luv_quantum_tank)item(gtceu:zpm_quantum_tank)item(gtceu:uv_quantum_tank)item(gtceu:uhv_quantum_tank))" } } - title: "Super Tank" + title: "{quests.gregtech_energy.tank.task}" type: "item" }] - title: "Storing the fuel" + title: "{quests.gregtech_energy.tank.title}" x: -2.0d y: -5.0d } { dependencies: ["6F80465F0759BECA"] - description: ["From &7LV&r and &bMV&r, you probably built your first batteries made of &fSodium&r or &3Lithium&r.\\n\\nBut let’s be honest — these are the &cweakest&r batteries GregTech has to offer.\\n\\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\\nThey are &emuch more potent&r, store way more energy, and can help you push your factory to the next tier.\\n\\nAre they &cmore expensive&r? Of course. But let’s be real...\\n&6Power is Power&r. Who’s counting?"] + description: ["{quests.gregtech_energy.batteries.desc}"] id: "3B94CF569E4A2B26" + subtitle: "{quests.gregtech_energy.batteries.subtitle}" tasks: [{ id: "1C8EE4B96BEEA13F" item: { @@ -259,54 +297,62 @@ "ftbfiltersystem:filter": "or(item(gtceu:energy_crystal)item(gtceu:lapotron_crystal)item(gtceu:lapotronic_energy_orb)item(gtceu:lapotronic_energy_orb_cluster)item(gtceu:energy_module)item(gtceu:energy_cluster)item(gtceu:max_battery))" } } + title: "{quests.gregtech_energy.batteries.task}" type: "item" }] - title: "Super Batteries" + title: "{quests.gregtech_energy.batteries.title}" x: 0.0d y: -6.5d } { dependencies: ["2CDB9778C7A30044"] - description: ["All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\\n\\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r.\\n\\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r."] + description: ["{quests.gregtech_energy.first_generator.desc}"] id: "0116158FBDA9DF86" - tasks: [ - { - id: "0BCC01540FE7555C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_combustion)item(gtceu:mv_combustion)item(gtceu:hv_combustion)item(gtceu:lv_steam_turbine)item(gtceu:mv_steam_turbine)item(gtceu:hv_steam_turbine)item(gtceu:lv_gas_turbine)item(gtceu:mv_gas_turbine)item(gtceu:hv_gas_turbine))" - } + subtitle: "{quests.gregtech_energy.first_generator.subtitle}" + tasks: [{ + id: "0BCC01540FE7555C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:lv_combustion)item(gtceu:mv_combustion)item(gtceu:hv_combustion)item(gtceu:lv_steam_turbine)item(gtceu:mv_steam_turbine)item(gtceu:hv_steam_turbine)item(gtceu:lv_gas_turbine)item(gtceu:mv_gas_turbine)item(gtceu:hv_gas_turbine))" } - optional_task: true - type: "item" } - { - id: "64B39E5E9FDEABF3" - type: "checkmark" - } - ] - title: "Your first generators" + optional_task: true + title: "{quests.gregtech_energy.first_generator.task}" + type: "item" + }] + title: "{quests.gregtech_energy.first_generator.title}" x: -5.0d y: 0.0d } { dependencies: ["0116158FBDA9DF86"] - description: ["The &6Large Steam Turbine&r — or &dLST&r — might not be the most common &5Large Generator&r in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that &eLarge Boilers&r are stronger in &2TerraFirmaGreg&r, it definitely has its place.\\n\\nTo make it work, you’ll need an &9Input Hatch&r for &osteam&r, an &eOutput Hatch&r for &9Distilled Water&r, and of course a &dMaintenance Hatch&r. That’s all you need.\\n\\nLike all &dLarge Turbines&r, you’ll place a &6Rotor Holder&r on one side and a &dDynamo Hatch&r on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases &aefficiency&r slightly.\\n\\nThe base output of the LST is &e1024 EU/t&r. Let’s take an example: with an &1IV Rotor Holder&r (×4) and a &cHSS-E Turbine Rotor&r (280% power), you’ll get:\\n&e1024 × 4 × 2.8 = 11,468.8 EU/t&r — that’s about &a1.4A of IV&r.\\n\\nTo extract that energy, you’d need either an &dIV Dynamo Hatch&r or an &5EV 16A Dynamo Hatch&r.\\n\\nWhile the LST isn’t the best turbine out there, if you have &9plenty of Large Boilers&r or access to &alava&r or &7creosote&r as infinite fuel, these &esteel-based, affordable turbines&r could absolutely serve you well."] + description: [ + "{quests.gregtech_energy.lst.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lst.desc.2}" + ] id: "20DA81038C507C90" + subtitle: "{quests.gregtech_energy.lst.subtitle}" tasks: [{ id: "2151B2C87E5AC2FD" item: "gtceu:steam_large_turbine" type: "item" }] + title: "{quests.gregtech_energy.lst.title}" x: -7.0d y: 1.0d } { dependencies: ["0116158FBDA9DF86"] - description: ["These two &6bad boys&r are your &achampions&r if you’re into transforming &eOils&r into &cfuels&r. The &6Large Combustion Engine&r (&dLCE&r) and the &5Extreme Combustion Engine&r (&dECE&r) share the same fuel types and even look alike — but they require different materials to build.\\n\\nTo craft the &dLCE&r, you’ll need to reach &5EV&r and unlock &6Titanium&r, along with at least one &1IV Circuit&r. For the &dECE&r, it’ll be &5Tungstensteel&r and a &dLuV Circuit&r — something you should be able to build comfortably during the &1IV Chapter&r.\\n\\nBoth machines require an &9Input Hatch&r for &cfuel&r and also &6Lubricant&r. For the &dECE&r, adding &bOxygen&r or &bLiquid Oxygen&r will grant you a &cmassive energy boost&r. Check the &etooltip&r of your fuel to compare how much extra energy you get with oxidizers — it's well worth it.\\n\\nKeep in mind: both engines need a &7Muffler Hatch&r, so &cThey Will Pollute&r."] + description: [ + "{quests.gregtech_energy.lce.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lce.desc.2}" + ] id: "4AC4D681124751EE" + subtitle: "{quests.gregtech_energy.lce.subtitle}" tasks: [ { id: "31BFE575D15F270A" @@ -319,41 +365,58 @@ type: "item" } ] + title: "{quests.gregtech_energy.lce.title}" x: -7.0d y: 3.0d } { dependencies: ["0116158FBDA9DF86"] - description: ["The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of &aenergy production&r for most of the pack. You’ll be able to build your first one at &5EV&r using &6Stainless Steel&r. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the &6Large Plasma Turbine&r.\\n\\nThat said, many players can finish &2TerraFirmaGreg&r using only these turbines — provided you have a &cstrong infrastructure&r to handle the &agas demands&r of high-tier LGTs.\\n\\nTo build the LGT, you’ll need the usual &dMaintenance Hatch&r and &9Input Hatch&r. This turbine &erequires a Muffler Hatch&r, but it &cdoes not use an Output Hatch&r. You’ll need to manage the &cCarbon Monoxide&r it emits with something like an &6Air Scrubber&r.\\n\\nThe default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the &6Rotor Holder&r after &5EV&r. For example, an LGT using an &1IV Rotor Holder&r (×2) with a &cHSS-E Turbine Rotor&r (280% power) will produce:\\n&e4096 × 2 × 2.8 = 22,937.6 EU/t&r — that's about &a2.8A of IV&r.\\n\\nTo fully extract that energy, you’ll need at least a &dIV 4A Dynamo Hatch&r. A simple Dynamo Hatch only handles &e2A&r.\\n\\nJust so you know: the &eEfficiency stat&r of a Turbine Rotor increases the &cduration of the recipe&r, which means you get more power from each &6mB of fuel&r.\\n\\nLastly, if the &dDynamo Hatch&r fills up, the LGT will automatically &8slow down&r and pause fuel usage, gradually reducing rotor speed until it resumes again. So &ayou won't lose any fuel&r during a backup."] + description: [ + "{quests.gregtech_energy.lgt.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lgt.desc.2}" + ] id: "3467E14C8BB54214" + subtitle: "{quests.gregtech_energy.lgt.subtitle}" tasks: [{ id: "350B0F369725EB56" item: "gtceu:gas_large_turbine" type: "item" }] + title: "{quests.gregtech_energy.lgt.title}" x: -7.0d y: -1.0d } { dependencies: ["0116158FBDA9DF86"] - description: ["The &6Large Plasma Turbine&r — also known as &dLPT&r — is a real powerhouse. Not in size (it’s fairly standard), but in &ccapacity&r. You’ll need &dLuV Circuits&r, a &dLuV Machine Hull&r, and &5tons of Tungstensteel&r to craft it. It’s considered your &6most powerful generator&r in &2TerraFirmaGreg&r.\\n\\nSo, how does it work? You’ll need &5Plasma&r produced by a &6Fusion Reactor&r. That plasma is cooled down inside the LPT while generating energy. You will need an &2output hatch&r to get the cooled plasma.\\n\\nBy default, the LPT starts at &e16384 EU/t&r. That energy output &cdoubles&r with each increase in the &6Rotor Holder&r after &1IV&r.\\n\\nFor example, using a &dLuV Rotor Holder&r (x2) with an &cHSS-E Turbine Rotor&r (x2,8) will give you a staggering &e91750 EU/t&r — that’s about &a2.8A of LuV&r power!\\n\\nLike other turbines, it will &8slow down&r and stop if the &dDynamo Hatch&r is full so you won't waste plasma, but doesn’t require a &7Muffler Hatch&r."] + description: [ + "{quests.gregtech_energy.lpt.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lpt.desc.2}" + ] id: "634EAFA86B3D57A1" + subtitle: "{quests.gregtech_energy.lpt.subtitle}" tasks: [{ id: "706DFFC90D532880" item: "gtceu:plasma_large_turbine" type: "item" }] + title: "{quests.gregtech_energy.lpt.title}" x: -7.0d y: -3.0d } { dependencies: ["2E57B2B963717893"] description: [ - "&6If you didn't learn yet about Perfect Overclocking, you should check the quest right above this one.&r\\n\\nThese &3three multiblocks&r share a special ability: they can &ePerfect Overclock&r recipes depending on the &ctemperature of the machine&r.\\n\\nYou can check the current temperature by &aclicking on the controller&r.\\n\\nThere are &atwo ways to increase the temperature&r:\\n- &aUse higher-tier energy inputs&r\\n- &aUpgrade the coils&r\\n\\nTo see the temperature of a coil, simply &3hold Shift&r while hovering over it.\\n\\nOnce you know your machine's temperature, you’ll need the &dtemperature of the recipe&r. The easiest way to find it is to &ause EMI&r.\\n\\nWith both values, you can do a quick calculation to see if Perfect Overclocking (POC) applies:\\n&bYour machine must be at least 1800K hotter per overclock tier than the recipe requires.&r" + "{quests.gregtech_energy.blast_oc.desc.1}" "{@pagebreak}" - "&dExample&r:\\n- Stainless Steel recipe requires &c1700K&r and is &aHV&r tier.\\n- Your EBF is at &bLuV&r and has a temperature of &c5900K&r.\\n- From HV to LuV is &a3 overclock tiers&r.\\n- 1800 x 3 = &c5400K&r → Add the recipe's base: 5400 + 1700 = &c7100K&r needed for full POC.\\n- Since your machine is only at &c5900K&r, you will only Perfect Overclock from HV to EV, and EV to IV.\\n- From IV to LuV will be a normal overclock.\\n\\nSo the recipe will take &e1.7 seconds&r instead of &e0.85 seconds&r if fully overclocked.\\n\\n&bFeeling overwhelmed? Don't worry.&r\\nJust remember this: &aBetter coils = faster and cheaper recipes.&r" + "{quests.gregtech_energy.blast_oc.desc.2}" + "{@pagebreak}" + "{quests.gregtech_energy.blast_oc.desc.3}" ] + icon: "gtceu:electric_blast_furnace" id: "270ED38B1B8D99C2" + subtitle: "{quests.gregtech_energy.blast_oc.subtitle}" tasks: [ { id: "03DE5604C5A6BC9B" @@ -375,48 +438,62 @@ } { id: "61B9BF90A0D45FE4" + title: "{quests.gregtech_energy.blast_oc.task}" type: "checkmark" } ] - title: "The Blast Overclocking" + title: "{quests.gregtech_energy.blast_oc.title}" x: 5.0d y: -1.0d } { dependencies: ["2E57B2B963717893"] description: [ - "&6You may have heard about Overclocking but don't really understand what it is?&r\\n\\nLet's take some time to explain it.\\n\\nWe should start with the basics:\\n&dLV&r represents a maximum of &a32 EU/t&r — sometimes less, but &cnever more&r.\\n&dMV&r goes up to &a128 EU/t&r.\\n&dHV&r reaches &a512 EU/t&r.\\nBasically, &eevery tier is a 4x increase&r in &cpower usage&r.\\n\\n&bWhat happens when you run a lower-tier recipe in a higher-tier machine?&r\\nThat's what we call &eOverclocking&r:\\n- An &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will:\\n &e→ Use 4x more energy&r\\n &e→ Be 2x faster&r\\n\\n- Same MV recipe in an &dEV&r machine?\\n &e→ 8x more energy&r\\n &e→ 4x faster&r\\n\\nSo yes, it's &cmore power-efficient to use multiple machines&r rather than overclocking one.\\nBut let's be real: in most setups, &eyou’ll prefer overclocking&r to building 4 MV Macerators.\\n\\nStill, it's &egood to know this early on&r, when energy is tight." + "{quests.gregtech_energy.overclock.desc.1}" "{@pagebreak}" - "&bPerfect Overclocking&r\\nThere’s also a special kind of overclocking available in a &afew multiblocks&r: &e\\n\\nPerfect Overclocking&r.\\nHere, instead of:\\n- &a4x energy&r for &a2x speed&r,\\nyou get:\\n- &a4x energy&r for &a4x speed&r!\\n\\n&dThis makes it just as efficient&r as running multiple machines.\\n\\nCurrently in &3TerraFirmaGreg&r, &6only the following multiblocks&r support this:\\n- &cElectric Blast Furnace (EBF)\\n- Advanced Blast Dryer (ABD)\\n- Rocket Heat Furnace (RHF)\\n- Large Chemical Reactor (LCR)" + "{quests.gregtech_energy.overclock.desc.2}" + "{@pagebreak}" + "{quests.gregtech_energy.overclock.desc.3}" ] icon: "gtceu:large_assembler" id: "6F46479365672DDD" + subtitle: "{quests.gregtech_energy.overclock.subtitle}" tasks: [{ id: "18A095DEF3B37900" - title: "Overcloak" + title: "{quests.gregtech_energy.overclock.task}" type: "checkmark" }] - title: "Overclock" + title: "{quests.gregtech_energy.overclock.title}" x: 5.0d y: -3.0d } { dependencies: ["2E57B2B963717893"] - description: ["&6Another hidden mechanic in Gregtech Multiblocks: the &dSubtick&r.\\n\\nWhat is it?\\nSubtick activates when a recipe becomes &eso fast it takes less than one tick&r to process. Normally, machines can’t go faster than one recipe per tick — but with Subtick, they can!\\n\\n&bHow does it work?&r\\nOnce a recipe hits 1 tick duration, upgrading the Energy Hatch further won’t make it faster.\\nBut thanks to Subtick, instead of wasting power, the machine will &aparallel the recipe internally&r.\\n\\nFor example: If your &aLCR (Large Chemical Reactor)&r runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean &emore internal parallel&r.\\n\\n&dNote&r: As of now, only the &aLCR supports Subtick&r — and yes, it also does &bPerfect Overclocking&r. That’s why the LCR doesn’t need a Parallel Hatch: it’s already doing it... but better."] + description: [ + "{quests.gregtech_energy.subtick.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.subtick.desc.2}" + ] id: "26D01C54FEE12B2E" + subtitle: "{quests.gregtech_energy.subtick.subtitle}" tasks: [{ id: "1A6DE2D00A7A9FB2" item: "gtceu:large_chemical_reactor" type: "item" }] - title: "Subtick" + title: "{quests.gregtech_energy.subtick.title}" x: 5.0d y: 1.0d } { dependencies: ["2E57B2B963717893"] - description: ["&6The &dParallel Hatch&r is a powerful tool for &aLarge Multiblocks&r.\\n\\n&bWhat does it do?&r\\nWhere allowed (most notably on Multiblocks crafted from the &eAlloy Blast Smelter&r), it lets you run &amultiple recipes at the same time&r.\\n\\nIt does this by consuming &cmore energy&r per tick, but massively increasing throughput. Perfect if you’re mass-producing alloys, circuits or chemicals.\\n\\nJust place a Parallel Hatch on the Multiblock and make sure it’s fed with enough energy and input materials. Most multiblocks that allow it will show so in EMI or questbook.\\n\\n&dNote&r: The &aLCR&r (Large Chemical Reactor) &cdoes not use Parallel Hatches&r — it handles internal parallel using &bSubtick mechanics&r instead."] + description: [ + "{quests.gregtech_energy.parallel_hatch.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.parallel_hatch.desc.2}" + ] id: "5A478712FBE7BC83" + subtitle: "{quests.gregtech_energy.parallel_hatch.subtitle}" tasks: [{ id: "6B288347B38FD54D" item: { @@ -426,18 +503,23 @@ "ftbfiltersystem:filter": "or(item(gtceu:iv_parallel_hatch)item(gtceu:luv_parallel_hatch)item(gtceu:zpm_parallel_hatch)item(gtceu:uv_parallel_hatch))" } } + title: "{quests.gregtech_energy.parallel_hatch.task}" type: "item" }] - title: "Parallel Hatch" + title: "{quests.gregtech_energy.parallel_hatch.title}" x: 5.0d y: 3.0d } { dependencies: ["3467E14C8BB54214"] - description: ["When we speak about &agas fuels&r, we’re really talking about &cjust one&r — &eNitrobenzene&r.\\n\\nYou’ll be able to produce it once you reach &6HV&r, and we &astrongly recommend it&r if you’re planning to use the &5Large Gas Turbine&r.\\n\\nBefore reaching Nitrobenzene, &eBenzene&r is a solid option to get started. You can obtain it via &aOrganic Chemistry&r or by processing &eHeavy Oil&r, if you’re lucky enough to have some nearby.\\n\\nMaking &eNitrobenzene&r involves several steps — until you craft your first &6Large Chemical Reactor&r (&aLCR&r), which will let you &3skip many sub-steps&r and simplify the process.\\n\\nIt’s nothing too complicated: combine &3Hydrogen&r, &bNitrogen&r, and &bOxygen&r to make &eNitric Acid&r in infinite quantities. As for &eSulfuric Acid&r, you probably already know it’s just &6Sulfur&r and &9Water&r — right?\\n\\nOnce you get this chain going, Nitrobenzene becomes one of the &amost powerful fuels&r for gas burning."] + description: [ + "{quests.gregtech_energy.lgt_fuel.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lgt_fuel.desc.2}" + ] icon: "gtceu:nitrobenzene_bucket" id: "75DAF94D46BA4164" - subtitle: "The everyone favorite" + subtitle: "{quests.gregtech_energy.lgt_fuel.subtitle}" tasks: [ { id: "2A3155363C7C56A7" @@ -459,18 +541,24 @@ } { id: "75DE64829622C96D" + title: "{quests.gregtech_energy.lgt_fuel.task}" type: "checkmark" } ] - title: "Gas Fuels" + title: "{quests.gregtech_energy.lgt_fuel.title}" x: -8.5d y: -1.0d } { dependencies: ["634EAFA86B3D57A1"] - description: ["&6Large Plasma Turbines&r require &chigh-tech fuels&r to run, and we provide you with &a2 strong options&r:\\n\\n&8- The first option&r becomes available with your &dMK1 Fusion Reactor&r: &eHelium Plasma&r.\\nYou can create it using &3Deuterium&r and &3Tritium Gas&r — both gases are obtained by &adistilling Liquid Ender Air&r.\\nThis fuel isn't the most powerful, but it's by far the &aeasiest and earliest&r to produce.\\n\\n&8- The second option&r requires a &5MK3 Fusion Reactor&r and allows you to generate &eNickel Plasma&r.\\nTo make it, you’ll need &6Liquid Potassium&r — which you can extract from various ores — and the &4infamous Fluorine&r, which you should already know how to produce by now.\\n\\n⚠ Don’t forget: &eHelium Gas&r and &eLiquid Nickel&r should be &3collected and returned&r to your storage for &afuture reuse&r.\\n\\nThese two fuels are your &abest candidates&r for powering the &dLPT&r, depending on how far you've progressed in your &bindustrial madness&r."] + description: [ + "{quests.gregtech_energy.lpt_fuel.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lpt_fuel.desc.2}" + ] + icon: "gtceu:helium_plasma_bucket" id: "3ADC1B684A6749B2" - subtitle: "It's very hot" + subtitle: "{quests.gregtech_energy.lpt_fuel.subtitle}" tasks: [ { id: "528281483EA83791" @@ -486,19 +574,20 @@ } { id: "648FDBADCC1145CA" + title: "{\"quests.gregtech_energy.lpt_fuel.task}" type: "checkmark" } ] - title: "Plasma Fuels" + title: "{quests.gregtech_energy.lpt_fuel.title}" x: -8.5d y: -3.0d } { dependencies: ["20DA81038C507C90"] - description: ["Steam isn’t really complicated — just &aboil water&r to get steam.\\n\\nTo do it efficiently, we recommend using &6Large Boilers&r. You’ll find &c4 versions&r: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a &dstrong increase&r in steam output.\\n\\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is &cnot the best&r compared to other power generation methods.\\n\\nMost players will &7skip&r the &5Titanium&r and &dTungstensteel&r Boilers — they exist if you want them, but aren’t really &aefficient or worth building&r in most cases.\\n\\nAs a reminder: &e2 mB&r of steam = &e1 EU&r."] + description: ["{quests.gregtech_energy.lst_fuel.desc}"] icon: "gtceu:steam_bucket" id: "7D5CA47D0E147922" - subtitle: "A cool platform" + subtitle: "{quests.gregtech_energy.lst_fuel.subtitle}" tasks: [ { id: "20720B4864B6584D" @@ -519,15 +608,20 @@ type: "item" } ] - title: "This is Steam" + title: "{quests.gregtech_energy.lst_fuel.title}" x: -8.5d y: 1.0d } { dependencies: ["4AC4D681124751EE"] - description: ["All of these &cfuels&r are used for &6Combustion Generators&r — ranked here from the &cleast efficient&r to the &abest&r.\\n\\nDuring &bMV&r, we recommend starting with &eDiesel&r or &eBiodiesel&r. Later on, you can upgrade to &eCetane-Boosted Diesel&r at &6HV&r by mixing it with &bNitrogen&r, &3Hydrogen&r, and &bOxygen&r.\\n\\nOnce you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to &eGasoline&r and &eHigh Octane Gasoline&r. Don’t attempt this too early — &coils need to be distilled properly&r, and doing it with a &cDistillery&r is &cnot efficient&r at all.\\n\\nTo make this work, you'll need a combination of oil distillation and some &aorganic compound processing&r. Thankfully, a &6Pyrolyse Oven&r and a &6Distillation Tower&r will handle it all smoothly.\\n\\nIf you manage a &asteady supply&r of &eHigh Octane Gasoline&r, you should be able to &3finish the entire modpack&r running only on &6Combustion Generators&r."] + description: [ + "{quests.gregtech_energy.lce_fuel.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.lce_fuel.desc.2}" + ] + icon: "gtceu:high_octane_gasoline_bucket" id: "0C718329245D9619" - subtitle: "This one is killing hard the planet" + subtitle: "{quests.gregtech_energy.lce_fuel.subtitle}" tasks: [ { id: "50CE5C3BA076E792" @@ -561,10 +655,11 @@ } { id: "63099EACCEF08E14" + title: "{quests.gregtech_energy.lce_fuel.task}" type: "checkmark" } ] - title: "Liquid fuel" + title: "{quests.gregtech_energy.lce_fuel.title}" x: -8.5d y: 3.0d } diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 66b19f6d2..f23009f68 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1310,7 +1310,25 @@ x: 8.0d y: -4.0d } + { + description: [ + "The HV Chapter will be updated with Moon Update. In the meantime be wary &lnot everything works&r with TFG." + "" + "From there on Space Progression will begin and it will alter your progression through TFG. Be wary for major changes." + ] + icon: "createdeco:decal_warning" + id: "66A1F17BB3453F0B" + size: 3.0d + tasks: [{ + id: "111DD6881AB718E1" + title: "Okay I understand it's not up to date" + type: "checkmark" + }] + title: "Quests are OLD and not updated for TFG" + x: 1.5d + y: -4.75d + } ] - subtitle: ["Scale up your power and begin advanced chemistry"] - title: "&6HV&r - High Voltage" + subtitle: ["Rework on progress coming with Space Update"] + title: "&6HV&r - High Voltage &6(WIP)&r" } diff --git a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt index 90e54399b..cbf83b02b 100644 --- a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt +++ b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt @@ -1034,7 +1034,25 @@ x: 1.5d y: 3.75d } + { + description: [ + "This Chapter will be updated later on with &lSpace Progression&r. Be wary &oprogression&r and &orecipes&r will &lchange&r as the structure of the quests." + "" + "The modpack can be finish right now and is mostly vanilla Gregtech." + ] + icon: "createdeco:decal_warning" + id: "6C19392E36A88F33" + size: 2.5d + tasks: [{ + id: "16F17ECCB810D2CB" + title: "Okay I understand it's not up to date" + type: "checkmark" + }] + title: "Quests are OLD and not updated for TFG" + x: 4.0d + y: 7.0d + } ] - subtitle: ["Automate everything and learn how to assemble"] - title: "&1IV&r - Insane Voltage" + subtitle: ["The quests are outdated. They will be update in a later update."] + title: "&1IV&r - Insane Voltage &6(WIP)&r" } diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index 6ad2cc047..b1981cfcd 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -101,7 +101,7 @@ { dependencies: ["00C14E3B8009DF7F"] description: [ - "&3Dielectric PCB Coolant&r is used for highly advanced late and end-game machinery." + "&3Dielectric PCB Coolant&r is used to maintain some highly advanced late and end-game machinery." "" "You only need a little bit in &dLuV&r, but you'll want to automate it when you get to &cZPM&r." ] @@ -110,7 +110,7 @@ size: 0.66d subtitle: "Absolutely beneficial for the environment" tasks: [{ - id: "64646F49C863998B" + id: "10FAF765725C7790" item: "gtceu:pcb_coolant_bucket" type: "item" }] @@ -129,7 +129,7 @@ "" "It also has a second function, detailed in the above quest." "{@pagebreak}" - "&l&3Lore:&r&o This is yet another feature from TecTech, which also required these cables to be painted. They too look fantastic if you paint them, but it is again optional." + "&l&3Lore:&r&o This is yet another feature from TecTech, which also required these cables to be painted. They do look fantastic if you paint them, but it's optional in CEu." ] id: "1AD003487B4EC2EF" shape: "rsquare" @@ -151,28 +151,27 @@ "52D952ADBEB67454" ] description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" "The &3Data Bank&r is a multiblock capable of storing huge amounts of data. You can fill it with &aData Access Hatches&r, and fill those with &aData Storage Items&r." "" "After that, you'll need power, and then a way to connect it to your Assembly Line! This is done through &3Optical Fiber Cables&r, which can be used to link &3Optical Data Hatches together&r." "{@pagebreak}" "An &9Optical Transmission Hatch&r is used to send data (like an output), and an &9Optical Reception Hatch&r to recieve the data (like an input). " "" - "Optical cables have some restrictions however. They can only connect &eone input to one output&r. The Data Bank is a solution to this, since you can place many hatches on them to route in different directions." + "Optical cables have some restrictions however. They can only connect &eone input to one output&r. The Data Bank is your answer to this, since you can place many hatches on them to route your data anywhere." "" "You can use this behavior to &echain&r Data Banks as well. Connecting one Data Bank to another, and then one of them to an Assembly Line will provide the data of both banks!" "{@pagebreak}" "&eNote: &rThis multiblock will be required later on in progression, but is very useful to set up early." "" - "&l&3Lore:&r&o This multiblock also originates from TecTech, but it required optical cables to be painted as well. You don't have to do that here, but it looks really nice if you do!" + "&l&3Lore:&r&o This multiblock also originates from TecTech, but part of its mechanics required optical cables to be painted as well. You don't have to do that here, but it looks really nice if you do!" ] id: "42760D3A86EFDCA3" size: 0.75d subtitle: "Time for a server room" tasks: [{ - id: "56D3B40470528839" - type: "checkmark" + id: "01188385BE2DB3B3" + item: "gtceu:data_bank" + type: "item" }] title: "Mass Data Storage" x: 4.5d @@ -185,7 +184,7 @@ "" "Like optical cables, they can only be connected to &eone input and output&r. But, these ones also only can move in &estraight lines&r. To turn them, an &3Active Transformer&r with a Laser Source Hatch (output) and Target Hatch (input) is needed." "{@pagebreak}" - "&l&3Lore:&r&o This is yet again another TecTech feature, but there's a bit more to it this time. TecTech's lasers were tiered by voltage and carried thousands of amps instead." + "&l&3Lore:&r&o This is yet again another TecTech feature, but there's a bit more to it this time. TecTech's lasers were tiered by voltage and carried thousands of amps instead. CEu doesn't faff around with any of that tiering. You only need one type of laser here!" ] id: "07159FCD9744DD98" shape: "rsquare" @@ -207,11 +206,12 @@ "" "Use it for higher yield on &dWafers&r." "" - "This will also unlock the &6best recipe&r for &6HV&r Circuits in the &3LuV Circuit Assembler&r, which you will most likely want to mass produce for &dLapotronic Energy Orbs&r." + "This will also unlock the &6best recipe&r for &6HV&r Circuits in the &3LuV Circuit Assembler&r. You're probably going to want to mass produce these for the many &dLapotronic Energy Orbs&r that'll be required moving forwards." ] id: "3F31E99D0284A60A" shape: "rsquare" size: 0.66d + subtitle: "Doper than ever before" tasks: [{ id: "2F8C92A86CAF338F" item: "gtceu:naquadah_boule" @@ -224,9 +224,9 @@ { dependencies: ["7A1E3C3A2D699C5B"] description: [ - "&aNaquadah&r is a late-game material with a variety of uses. It is required for building a Fusion Reactor, and progressing to &cZPM&r, to name a few." + "&aNaquadah&r is a late-game material with a variety of uses. It is required when building a Fusion Reactor and progressing to &cZPM&r, to name a few." "" - "For some reason, its fluid is &agreen&r - don't ask us why." + "For some reason, its fluid is a brilliant &agreen&r - don't ask us why." "" "&l&3Lore:&r&o Naquadah is a material originally from Stargate." ] @@ -253,6 +253,10 @@ "&aNaquadah Coils&r crank up the Heat Capacity to &d7,200K&r." "" "These coils are required for progressing to the second half of &dLuV&r and beyond." + "{@pagebreak}" + "&l&3Lore:&r&o Well... not some \"juicy GregTech lore\", but a cool space fact, owing to the fact you're beating the Sun's temperature with your EBF. The surface temperature of the Sun is 5,800K. We're taking this as an effective temperature - i.e. the radiative temperature of the Sun as if it were a perfectly \"black body\". Check out the Stefan-Boltzmann law if you're interested in some crude astrophysics." + "" + "&oOh, and the \"photosphere\" (the part of the sun we're talking about when we mention its surface)? It's 400 kilometres thick. That's 250 miles. Damn!" ] id: "2FCBA0D780DBDA9E" size: 0.75d @@ -275,7 +279,7 @@ description: [ "&aLuV Superconductors&r are necessary if you're eyeing a &9Fusion Reactor&r. " "" - "Don't ignore our warning here - you're gonna need &ea lot&r&r of them." + "Don't ignore our warning here - you're gonna need &ea lot&r&r of them. Luckily, any &5Indium&r shortages will be solved by your Naquadah line." ] id: "5ED7707B0ECF2207" size: 0.75d @@ -338,7 +342,11 @@ } { dependencies: ["378F0AFCF95354B2"] - description: ["This is the main material for &cZPM&r. Prepare to make lots... after you make &9Fusion&r and &9Crystal Circuits&r. Tackle those before you try making this."] + description: [ + "This is the main material for &cZPM&r. Having this in stock will be a test of your Platinum processing, so this is a &6pre-emptive warning&r to stay on top of mining PGS-bearing ore." + "" + "Prepare to make lots... after you make &9Fusion&r and &9Crystal Circuits&r. Tackle those before you try making this." + ] id: "24F0454B9A090C44" size: 0.75d subtitle: "Stargate's Strongest" @@ -357,38 +365,38 @@ "48DEABA155605D23" ] description: [ - "Refining &9Naquadah&r into further products will be your next automation challenge. The primary resources are &aEnriched Naquadah&r, &aNaquadria&r, and &aTrinium&r. " + "Refining &9Naquadah&r into further products will be your next automation challenge. The primary outputs of this line are &aEnriched Naquadah&r, &aNaquadria&r, and &aTrinium&r. " "" - "This processing line also produces many useful byproducts, which you can discover using JEI." + "This processing line - affectionately known as the \"Naqline\" - also produces many useful byproducts, such as Titanium and Indium." "{@pagebreak}" - "&aEnriched Naquadah&r currently does not have many uses, but will be used for power generation in the future." + "&aEnriched Naquadah&r currently isn't used for much, but will be integral to power generation in the future." "" - "&aNaquadria&r is a later game material, used for &3UV&r components." + "&aNaquadria&r is a lategame material that you'll want to stockpile for your &3UV&r components." "" - "&aTrinium&r is the most useful resource for you right now. It is used to build the Fusion Reactor, and sees heavy use in all &cZPM&r machines." + "&aTrinium&r is the material you'll be wanting most right now. You'll use a lot of it to build your first Fusion Reactor, is used for the next set of Coils, and sees heavy usage in most &cZPM&r recipes." "{@pagebreak}" - "&eNote&r: This processing chain contains a more complex loop than what you may have dealt with previously." + "&eNote&r: This processing chain presents more of a challenge than any chemistry you've dealt with so far." "" - "Outputs in later steps can be sent back into previous processes, with the caveat that they lose a small amount of fluid with each loop." + "As usual, outputs in later steps can be sent back into previous processes... with the caveat that they lose a small amount of fluid with each loop." "" "This can be challenging to automate. Good luck!" "{@pagebreak}" "&l&3Lore:&r&o Many GregTech iterations have Naquadah processing. " "" - "The first was likely Impact, with its own original Naquadah fuel process. " + "&oThe first was likely Impact, with its own original Naquadah fuel process. " "" - "Gregicality Legacy was hot on its heels with processes for making the Naquadah material (and variants) as well as Fuel. " + "&oGregicality Legacy was hot on its heels with processes for making the Naquadah material (and variants) as well as Fuel. " "" - "After that, GTNH added their own Naquadah processes for the material and fuel. " + "&oAfter that, GTNH added their own Naquadah processes for the material and fuel. " "" - "Lastly, GTCEu added the process you're about to set up!" + "&oLastly, GTCEu added the process you're about to set up!" ] icon: "gtceu:naquadah_dust" id: "378F0AFCF95354B2" size: 0.75d subtitle: "Do not touch the acid" tasks: [{ - id: "1589DE9F6692BB6F" + id: "1D674C3951223E8C" item: "gtceu:fluoroantimonic_acid_bucket" type: "item" }] @@ -403,9 +411,11 @@ "00C14E3B8009DF7F" ] description: [ - "&aTrinium&r is a very important material for progression. You'll need it to make a &9Fusion Reactor&r, and throughout all &cZPM&r." + "&aTrinium&r is a very important material for progression. You'll need it to make a &9Fusion Reactor&r, but it stays relevant all throughout &cZPM&r. We &7(well, this particular questbook writer!)&r can never have enough of this stuff." "" - "It also requires an &dLuV&r EBF to smelt! Dedicate a setup solely for cooking this." + "It also requires an &dLuV&r EBF to smelt! Perhaps dedicate a setup solely for cooking this, unless you're confident that your infrastructure can deal with it." + "{@pagebreak}" + "&l&3Lore:&r&o In Stargate, Trinium was strong enough to block a point-blank C4 explosion. It's considered to be a hundred times stronger than steel, at only one-hundreth the weight." ] icon: "gtceu:trinium_ingot" id: "0DC999F79A685194" @@ -432,7 +442,7 @@ { dependencies: ["4F6E351C5F676618"] description: [ - "&aPlutonium-241&r is yet another requirement for the &9Fusion Reactor&r. It's very easy to make: just centrifuge some &9Pu-239&r to separate some out!" + "&aPlutonium-241&r is yet another requirement for the &9Fusion Reactor&r. It's very easy to make: just centrifuge some &9Pu-239&r to slowly separate some out." "" "In the future, this material will require a &dNuclear Reactor&r to produce, but that's not in GTCEu yet." "{@pagebreak}" @@ -460,25 +470,27 @@ "327C3E02CD751453" ] description: [ - "Build the structure displayed with Fusion Glass in &aJEI&r." + "First things first - build the version of the structure that uses Fusion Glass in &aEMI&r. It's far cheaper right now." "" - "To save on Fusion Casings, fit Input + Output Hatches wherever you can (as displayed in the structure)." + "To save on &3Fusion Casings&r, fit Input/Output Hatches wherever you can (as displayed in the structure)." "" - "This time, we'll try something new: let's explain the Lore at the same time as the mechanics." + "The &bFusion Reactor&r will pick a free Output Hatch from the many that are available. In order to \"&6force&r\" the Reactor to use a particular Output Hatch, you can always &alock all of the hatches&r to an irrelevant fluid (we usually use &9Water&r)." + "" + "This time, we'll try something new: we're gonna explain the &3Lore&r at the same time as the mechanics." "" "Enjoy the ride!" "{@pagebreak}" - "&l&3Lore:&r&o GregTech 5's &3Fusion Reactor&r stores EU you feed it in its internal buffer. The maximum storable amount is determined by the amount of &3Energy Hatches&r." + "&l&3Lore:&r&o GregTech 5's &3Fusion Reactor&f stores EU you feed it in its internal buffer. The maximum capacity is determined by the amount of &3Energy Hatches&f in the structure." "" - "Recipes can only start if the &9EU to start&r is stored internally, which will be &cconsumed&r. With this stored energy, the reactor can keep running recipes until it goes idle. At this point it will need to be topped up on EU to start again." + "&oRecipes can only start if the &9\"EU to start\"&f is stored internally, which will be &cconsumed&f. With this stored energy, the reactor can keep running recipes until it goes idle. At this point it will need to be topped up on EU to start again." "{@pagebreak}" - "Shadow of Greg's &3Fusion Reactor&r (which is now GTCEu's Fusion Reactor) comes with an added mechanic called &4Heat&r." + "&oShadow of Greg's &3Fusion Reactor&f (which is now GTCEu's Fusion Reactor) comes with an added mechanic called &4Heat&f." "" - "When the reactor is running, the &9EU to start&r is converted to &4Heat&r. That Heat is preserved until the Reactor goes idle, at which point it will slowly go down." + "&oWhen the reactor is running, the &9EU to start&f is converted to &4Heat&f. That Heat is preserved until the Reactor goes idle, at which point it will slowly go down." "" - "Next time a recipe is found, it will use all possible Heat and deduct it from the &9EU to start&r, allowing you to save Energy for short pauses." + "&oNext time a recipe is found, it will use all possible Heat and deduct it from the &9EU to start&f, allowing you to save Energy for short pauses." "" - "The &3Fusion Reactor I&r can only run recipes up to a required EU of 160 MEU to start. It will also overclock up to &dLuV&r at best, even if you upgrade to ZPM Hatches, so don't stress over attempting this." + "&oThe &3Fusion Reactor I&f can only run recipes up to a required EU of 160 MEU to start. It will also overclock up to &dLuV&f at best, even if you upgrade to ZPM Hatches, so don't stress over attempting this." ] id: "546CC03435E763CF" shape: "gear" @@ -498,14 +510,14 @@ description: [ "&aEuropium&r is the first major Fusion Material. You'll be using this quite a lot going forwards." "" - "&eNote&r: The temperature of liquid Europium is very hot, but isn't a plasma. Plan your piping accordingly!" + "&eNote&r: The temperature of liquid Europium is very hot, but the fluid isn't a plasma. Plan your piping accordingly!" "{@pagebreak}" - "&l&3Lore:&r&o In Gregicality Legacy, Europium was replaced with Rutherfordium as the first fusion material, because Europium is actually found in Rare Earth and is not fused in real life." + "&l&3Lore:&r&o In Gregicality Legacy, Europium was replaced with Rutherfordium as the first fusion material, because Europium is actually found in Rare Earth and isn't fused in real life." ] id: "7A74F692F14F0FF8" shape: "gear" size: 1.1d - subtitle: "Fusing Europium... how?!" + subtitle: "Fusing Europium... whaaat?!" tasks: [{ id: "220305C9DA0F512B" item: "gtceu:europium_ingot" @@ -522,7 +534,9 @@ "" "Producing these is quite a bit different from the previous circuit components. Instead of standard silicon wafers, these rely on &9Emerald&r or &9Olivine&r." "" - "Getting your first Crystal Chips will be difficult, so you may wish to invest in a high-tier autoclave. After you get your first Chip, you can duplicate them with &9Europium&r. Don't worry about those other recipes yet, they're for later on in &cZPM&r." + "Getting your first Crystal Chips will be difficult, so you may wish to invest in a high-tier Autoclave. If you use a &6HV&r Autoclave... well, we didn't take you for the gambling sort." + "" + "After you get your first Chip, you can duplicate them with &9Europium&r. Don't worry about those other recipes yet, they're for later on in &cZPM&r." "{@pagebreak}" "&eNote&r: An &9Advanced Item Detector&r cover will be useful for automating these. They work just like the Advanced Energy Detector." "" @@ -581,6 +595,26 @@ x: 2.25d y: 2.25d } + { + dependencies: ["77B7B1EDD19831E0"] + description: [ + "If recipe sizes are starting to worry you, don't worry - &2AE2&r now allows you to place an unlimited amount of items into a processing pattern." + "" + "Thanks to this innovation, you can automate all the &3Assembly Line&r recipes." + ] + icon: "expatternprovider:ex_interface" + id: "79192BA29BE69170" + shape: "rsquare" + size: 0.66d + tasks: [{ + id: "3DFCDF1B24506A8A" + title: "Wahey!" + type: "checkmark" + }] + title: "PackagedWho?" + x: 3.3d + y: 4.62d + } { dependencies: ["77B7B1EDD19831E0"] description: [ @@ -601,8 +635,8 @@ type: "item" }] title: "Ludicrous Fluid Drilling" - x: 3.3d - y: 5.61d + x: 5.61d + y: 4.62d } { dependencies: ["77B7B1EDD19831E0"] @@ -613,7 +647,6 @@ "" "&l&3Lore:&r&o There may be a rebalance for these in the future. See the Multiblock Miner quest for details." ] - hide_until_deps_visible: true id: "1BE779AF4487E3EB" shape: "rsquare" size: 0.66d @@ -623,8 +656,8 @@ type: "item" }] title: "Ludicrous Ore Drilling" - x: 5.625d - y: 5.625d + x: 4.5d + y: 5.61d } { dependencies: [ @@ -633,7 +666,7 @@ "5B07279B08BF8DDE" ] description: [ - "The &aLuV Lapotronic Orb&r is even better than the &1IV&r one! Of course, it comes at a price..." + "The &aLuV Lapotronic Orb&r is even better than the &1IV&r one! Of course, such power comes at a steep cost..." "{@pagebreak}" "&l&3Lore:&r&o In older versions of GT, such as GTNH in the past or in GCYL, these orbs were ludicrously expensive! They required 8 orbs of the previous tier! Thankfully, those days are long past." ] @@ -663,6 +696,7 @@ description: ["Cheaper &dLuV&r circuits! These'll take some of the edge out of those brutal Robot Arm recipes."] id: "47087361D6DE7DCF" size: 0.75d + subtitle: "Yup... another circuit upgrade" tasks: [{ id: "3CF7F369F390A3E5" item: "gtceu:crystal_processor_assembly" @@ -681,6 +715,7 @@ ] id: "7AE681E2AB31EA0D" size: 0.75d + subtitle: "...wait, why'd things end here?" tasks: [{ id: "0E274B445A95250A" item: "gtceu:crystal_processor_computer" @@ -695,7 +730,7 @@ "77B7B1EDD19831E0" "7CFC112B8F460549" ] - description: ["The &aLuV Electric Prospector&r is a major upgrade from the &eHV&r one. It'll make finding Fluid and Ore veins very easy."] + description: ["The &aLuV Electric Prospector&r is a major upgrade from the &eHV&r one. With its huge range, it'll make finding Fluid and Ore veins very easy."] id: "7033A24F37F9B9B9" shape: "rsquare" size: 0.66d @@ -718,10 +753,11 @@ description: [ "The first circuit of the &9Crystal&r line." "" - "&l&3Lore:&r&o The concept of a Crystal Circuit has existed since very early versions of GregTech. We're still not entirely sure if they exist in real life." + "&l&3Lore:&r&o The concept of a Crystal Circuit has existed since the very early versions of GregTech. We're still not entirely sure if they exist in real life." ] id: "42CD789B8C40E424" size: 0.75d + subtitle: "I know where this is going!" tasks: [{ id: "6357389871CE70C2" item: "gtceu:crystal_processor" @@ -742,6 +778,7 @@ ] id: "6C241455C5434C2E" size: 0.75d + subtitle: "M-L F-R PCB" tasks: [{ id: "5B8C1C15E5413CEC" item: "gtceu:multilayer_fiber_reinforced_printed_circuit_board" @@ -766,7 +803,7 @@ "" "You will notice that &9Samarium&r is required for &aLuV+ Motors&r. Samarium by itself isn't very difficult to obtain, but smelting it is slightly more involved. It requires &9Liquid Helium&r in the Freezer. If you made &9IV Superconductors&r, you've likely seen this already." "{@pagebreak}" - "&l&3Lore:&r&o In the original GregTech 5, these components were unobtainable!" + "&l&3Lore:&r&o In the original GregTech 5, these components were unobtainable! You'd be free from GT if you were at this point! How times change." ] icon: "gtceu:luv_electric_motor" id: "11D3B21A177B0E14" @@ -820,6 +857,7 @@ id: "12FEE0A47E4658D5" shape: "rsquare" size: 0.66d + subtitle: "Cables need better coating now" tasks: [{ id: "4CAD2BE5558D7501" item: "gtceu:polyphenylene_sulfide_foil" @@ -868,17 +906,18 @@ id: "63F9531F391040B2" shape: "circle" size: 0.66d - tasks: [{ - id: "186D6246579FB0EF" - type: "checkmark" - }] + subtitle: "They call me 007 - 0 Naquadah, 0 EU/t, 7 TPS" title: "Combatting Lag" x: 2.25d y: 3.375d } { dependencies: ["5CA86A333670A55C"] - description: ["&aMagnetic Samarium&r requires an &3IV Polarizer&r."] + description: [ + "&aMagnetic Samarium&r (which you'll need for your &dLuV&r components) requires an &3IV Polarizer&r." + "" + "Even so, we hope you weren't running all the polarization off a single &6HV&r Polarizer. Were you?" + ] id: "35D4F93EFB6EACB6" shape: "rsquare" size: 0.66d @@ -892,7 +931,117 @@ x: 0.375d y: 3.75d } + { + dependencies: ["0D7C978F9CDF771B"] + description: [ + "The Advanced Quantum Chestplate combines protection, a personal battery and an &6ultimate Jetpack&r into a single powerful piece of gear." + "" + "Note that this stores &oa lot&r of energy. You may want to invest in an &3LuV Turbo Charger&r." + "{@pagebreak}" + "&l&3Lore:&r&o This armor piece is inspired by the IndustrialCraft Addon Gravisuite, which added the Gravitation Suit, analogous to this chestplate." + ] + icon: { + Count: 1 + id: "gtceu:advanced_quarktech_chestplate" + tag: { + Damage: 0 + } + } + id: "0A884622985A7417" + shape: "rsquare" + size: 0.66d + subtitle: "I'll be seeing you in the skies!" + tasks: [{ + id: "23AF5E66858C1950" + item: { + Count: 1 + id: "gtceu:advanced_quarktech_chestplate" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "Best Flight!" + x: 6.758503401360549d + y: 5.621173469387756d + } + { + dependencies: ["4F6E351C5F676618"] + description: [ + "New in the &a1.4 update&r, Dual Hatches will greatly help with automation with Multiblocks." + "" + "They can contain both &6Fluids and Items simultaneously&r, meaning you can simply connect a &bPattern Provider&r and be off to the races. No more faffing around with P2P or Buffers!" + ] + icon: "gtceu:luv_dual_input_hatch" + id: "0960C894446A786C" + shape: "circle" + size: 0.66d + subtitle: "Compact and Useful" + tasks: [{ + id: "0089B7D781622D68" + item: { + Count: 1 + id: "itemfilters:or" + tag: { + items: [ + { + Count: 1b + id: "gtceu:luv_dual_input_hatch" + } + { + Count: 1b + id: "gtceu:uv_dual_input_hatch" + } + { + Count: 1b + id: "gtceu:uhv_dual_input_hatch" + } + { + Count: 1b + id: "gtceu:luv_dual_output_hatch" + } + { + Count: 1b + id: "gtceu:zpm_dual_output_hatch" + } + { + Count: 1b + id: "gtceu:uv_dual_output_hatch" + } + { + Count: 1b + id: "gtceu:uhv_dual_output_hatch" + } + ] + } + } + title: "Dual I/O Hatch" + type: "item" + }] + title: "Two Hatches for the Price of One" + x: 2.2414965986394577d + y: 5.631377551020407d + } + { + description: [ + "This Chapter will be updated later on with &lSpace Progression&r. Be wary &oprogression&r and &orecipes&r will &lchange&r as the structure of the quests." + "" + "The modpack can be finish right now and is mostly vanilla Gregtech." + ] + icon: "createdeco:decal_warning" + id: "520B463015F4C86D" + size: 2.5d + tasks: [{ + id: "6F89272BD521E328" + title: "Okay I understand it's not up to date" + type: "checkmark" + }] + title: "Quests are OLD and not updated for TFG" + x: 5.0d + y: 7.5d + } ] - subtitle: ["Investigate the scientific and fuse elements"] - title: "&dLuV&r - Ludicrous Voltage" + subtitle: ["The quests are outdated. They will be update in a later update."] + title: "&dLuV&r - Ludicrous Voltage &6(WIP)&r" } diff --git a/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt b/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt index 8454e7c53..022d42754 100644 --- a/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt +++ b/config/ftbquests/quests/chapters/uv__ultimate_voltage.snbt @@ -53,13 +53,26 @@ "&6&lThank you for playing the pack! :D&r" "- The GregTech Community Pack Dev Team" ] - icon: "gtceu:nan_certificate" + hide_details_until_startable: true + hide_text_until_complete: true + hide_until_deps_visible: true + icon: { + Count: 1 + id: "gtceu:iron_wrench" + tag: { + Damage: 0 + GT.Tool: { + Damage: 0 + } + } + } id: "6E8F257261F93501" shape: "heart" size: 4.0d subtitle: "Is this... the end?" tasks: [{ - id: "3BE7164F661251AD" + id: "0BE31C55310D03A8" + title: "Thanks for playing!" type: "checkmark" }] title: "The Finale" @@ -127,7 +140,7 @@ "0009F48B6E385A47" ] description: [ - "The amount of EU this battery can storage is the max value of a Long Integer in Java." + "The amount of EU this battery can store is the max value of a Long Integer in Java." "" "Don't try to win Minecraft - you can't." "{@pagebreak}" @@ -138,6 +151,11 @@ "&oThey also added an &lExtremely Ultimate Battery&r&o made of 8 Really Ultimate Batteries, which is ludicrously expensive." ] id: "6F15D7574B8F6DB5" + rewards: [{ + id: "4895F6328078CE87" + item: "minecraft:grass" + type: "item" + }] shape: "gear" size: 1.3d subtitle: "Consider touching some grass" @@ -153,8 +171,6 @@ { dependencies: ["3CDA855A045A9F4D"] description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" "The &3Network Switch&r allows multiple HPCAs to be used in conjunction with each other! This allows you to provide far more computation to your &aResearch Station&r." "" "HPCAs can be connected to &3Network Switches&r with transmission and reception hatches, and then the Network Switch can output to a &aResearch Station&r with another transmission hatch." @@ -165,8 +181,9 @@ size: 0.75d subtitle: "With our powers combined..." tasks: [{ - id: "3DAB523583CEACA8" - type: "checkmark" + id: "5816F0458BEA1BCD" + item: "gtceu:network_switch" + type: "item" }] title: "Network Switch" x: 2.25d @@ -200,17 +217,14 @@ "0BADFBA6F96E457E" "42760D3A86EFDCA3" ] - description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" - "The &3Data Module&r is required for Endgame Research. &aAssembly Lines&r cannot read from it using &aData Access Hatches&r directly, and instead require the &9Data Bank&r." - ] + description: ["The &3Data Module&r is required for Endgame Research. &aAssembly Lines&r cannot read from it using &aData Access Hatches&r directly, and instead require the &9Data Bank&r."] id: "45E300FD7CD05A37" size: 0.75d subtitle: "Data storage sure is expensive..." tasks: [{ - id: "4F9B678E31002121" - type: "checkmark" + id: "10F68287B673E16E" + item: "gtceu:data_module" + type: "item" }] title: "Data Module" x: 3.375d @@ -223,7 +237,7 @@ "{@pagebreak}" "&l&3Lore:&r&o In GCYL, Neutronium is unlocked at UMV-tier (called UXV in CEu). There is also Cosmic Neutronium, which is equivalent to Avaritia's Neutronium in GT5u, which was unlocked even later in GCYL!" "" - "&l&More Lore:&r&o Fun fact: a single neutronium block is approximately 2884 million metric tons and somewhere around 600000K, yet you're somehow capable of holding one with your bare hands. Don't think about it too much." + "&l&3More Lore:&r&o Fun Fact: a single Neutronium block is approximately 2884 million metric tons and somewhere around 600000K, yet you're somehow capable of holding one with your bare hands. Don't think about it too much." ] id: "6DBF61D4F94BC851" size: 0.75d @@ -275,7 +289,7 @@ id: "3ED40CE1E4476C99" shape: "rsquare" size: 0.66d - subtitle: "GGEZ" + subtitle: "Obtain for G.O.A.T Status" tasks: [{ id: "29384189E33C8CB1" item: "gtceu:nan_certificate" @@ -346,11 +360,11 @@ "0BADFBA6F96E457E" ] description: [ - "This Quest will be completed with &eeither&r a &3ZPM Energy Hatch&r&r... or a &3ZPM Dynamo Hatch&r for your Multiblock Generators." + "This Quest will be completed with &eeither&r a &3UV Energy Hatch&r&r... or a &3UV Dynamo Hatch&r for your Multiblock Generators." "" "Don't forget that &d16 Amp&r variants exist!" "" - "Additionally, remember that these hatches require a &9Data Orb&r for research." + "Additionally, remember that these hatches require a &9Data Module&r for research." ] icon: "gtceu:uv_energy_input_hatch" id: "2F2F82D9DE3C798C" @@ -441,6 +455,22 @@ x: 6.75d y: -0.75d } + { + dependencies: ["0009F48B6E385A47"] + description: ["The &aCreative Energy Cell&r is one of the few craftable creative items. It provides infinite energy to your AE system, so you don't have to worry about blackouts or power anymore."] + id: "428C62749A1A1BAB" + shape: "rsquare" + size: 0.66d + subtitle: "Ok, maybe there are Creative items." + tasks: [{ + id: "392079FDF410B9FD" + item: "ae2:creative_energy_cell" + type: "item" + }] + title: "Creative ME Energy" + x: 7.875d + y: -1.875d + } { dependencies: ["6DBF61D4F94BC851"] description: ["The &aGravi Star&r is the final upgraded Nether Star in GTCEu. It's needed for &3UV&r Sensors, Emitters, and Field Generators."] @@ -463,7 +493,7 @@ "762C48F0C2EA6B81" ] description: [ - "Build the structure displayed with Fusion Glass in &aJEI&r." + "Build the structure displayed with Fusion Glass in &aEMI&r." "" "To save on Fusion Casings, fit Input + Output Hatches wherever you can (as displayed in the structure)." "" @@ -524,7 +554,28 @@ x: 6.75d y: 0.375d } + { + description: [ + "This Chapter will be updated later on with &lSpace Progression&r. Be wary &oprogression&r and &orecipes&r will &lchange&r as the structure of the quests." + "" + "The modpack can be finish right now and is mostly vanilla Gregtech." + ] + icon: "createdeco:decal_warning" + id: "4A1397BAB0828651" + size: 2.5d + tasks: [{ + id: "0CE60764DD7060CD" + title: "Okay I understand it's not up to date" + type: "checkmark" + }] + title: "Quests are OLD and not updated for TFG" + x: 2.5d + y: 4.0d + } ] - subtitle: ["Bring your long journey to a well-deserved end"] - title: "&3UV&r - Ultimate Voltage" + subtitle: [ + "Bring your long journey to a well-deserved end" + "The quests are outdated. They will be update in a later update." + ] + title: "&3UV&r - Ultimate Voltage &6(WIP)&r" } diff --git a/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt b/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt index f9b6d08c8..b19b90156 100644 --- a/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt +++ b/config/ftbquests/quests/chapters/zpm__zero_point_module.snbt @@ -191,8 +191,6 @@ "2587BFD0D9F3FF4A" ] description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" "The &3Research Station&r is the upgrade to the Scanner. It's used for more advanced forms of research, and will finally allow you to perform research which requires &aData Orbs and Modules&r." "" "When running the &3Research Station&r, energy and &9Computation&r is needed. The latter is provided through an &9HPCA&r, which is explained in the next quest. It is recieved with a &3Computation Data Reception Hatch&r. Note that only one Reception Hatch is allowed in a Research Station." @@ -207,8 +205,9 @@ size: 0.75d subtitle: "Your research adventures continue!" tasks: [{ - id: "61F7812F0FB70497" - type: "checkmark" + id: "148C1C60A855B61E" + item: "gtceu:research_station" + type: "item" }] title: "Research Station" x: -4.875d @@ -228,6 +227,7 @@ ] id: "79E4E53E9DF45549" size: 0.75d + subtitle: "...ah, here we go!" tasks: [{ id: "226973A23C89BDD2" item: "gtceu:crystal_processor_mainframe" @@ -264,8 +264,6 @@ { dependencies: ["1D6CC3C7F6BE4055"] description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" "This hatch allows you to store more &aData Storage Items&r than the basic one." "" "Don't forget that this hatch requires a &9Data Orb&r for research." @@ -275,8 +273,9 @@ size: 0.66d subtitle: "Increased storage density!" tasks: [{ - id: "4090DF7C2B0FCF27" - type: "checkmark" + id: "0EC657B81458D697" + item: "gtceu:advanced_data_access_hatch" + type: "item" }] title: "Advanced Data Access Hatch" x: -2.625d @@ -325,15 +324,15 @@ "{@pagebreak}" "&l&3Lore:&r&o GTCEu's Sterilized Growth Medium chain is loosely based off of Bartworks' from GTNH. The main difference is that GTNH required a Bacterial Vat multiblock, which was more complex than the ordered Assembly Line. GTCEu is considering adding a multiblock like it but with their own spin in the future." "{@pagebreak}" - "&l&More Lore:&r&o In Gregicality Legacy, the Sterilized Growth Medium production chain was very different. It was one of the most difficult processes in the mod, with over 30 complicated steps! It was based off of producing different real-life vitamins and nutrients." + "&l&3More Lore:&r&o In Gregicality Legacy, the Sterilized Growth Medium production chain was very different. It was one of the most difficult processes in the mod, with over 30 complicated steps! It was based off of producing different real-life vitamins and nutrients." "{@pagebreak}" - "&l&Even More Lore:&r&o In Shadows of Greg, this was made with just Distilled Water and Mince Meat. How far we've come..." + "&l&3Even More Lore:&r&o In Shadows of Greg, this was made with just Distilled Water and Mince Meat. How far we've come..." ] id: "6AFDA523304711DB" size: 0.75d subtitle: "The final processing line, at last!" tasks: [{ - id: "4BDCAD1628C054CE" + id: "5FFC06116E025936" item: "gtceu:sterilized_growth_medium_bucket" type: "item" }] @@ -351,6 +350,7 @@ "{@pagebreak}" "&l&3Lore:&r&o Imagine making 64 &1IV&f or 8 &dLuV&f Orbs for just one of these! See the Lore for the &dLuV&f orb for details." ] + icon: "gtceu:energy_module" id: "690A51204DF5D469" size: 0.75d subtitle: "A power singularity!" @@ -434,11 +434,9 @@ { dependencies: ["468EEFD9D2F69014"] description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" "The &3High Performance Computation Array&r, also known as the &3HPCA&r, is the multiblock used to create &9Computation&r, measured in CWU/t (Compute-Work Units per tick)." "" - "The HPCA is a modular multiblock with many unique components you've likely not seen before. There are &a9 slots available&r for different components, and there are some example layouts in the JEI previews, so reviewing these may help if you feel confused." + "The HPCA is a modular multiblock with many unique components you've likely not seen before. There are &a9 slots available&r for different components, and there are some example layouts in the EMI previews, so reviewing these may help if you feel confused." "{@pagebreak}" "There are two main types of components:" "" @@ -472,8 +470,9 @@ size: 0.75d subtitle: "That's no Quantum Computer..." tasks: [{ - id: "0415DB1D2067171F" - type: "checkmark" + id: "5F20D430C26D3BE4" + item: "gtceu:high_performance_computation_array" + type: "item" }] title: "HPCA" x: -3.75d @@ -539,6 +538,7 @@ ] id: "370FC1CDF5F9A9CC" size: 0.75d + subtitle: "Did that circuit just BLINK at me?" tasks: [{ id: "31DF7507733F3EE0" item: "gtceu:wetware_processor_assembly" @@ -557,6 +557,7 @@ ] id: "082AB255886E73C2" size: 0.75d + subtitle: "Eek, it's alive!" tasks: [{ id: "0B12A1F63822CF8A" item: "gtceu:wetware_processor" @@ -637,6 +638,7 @@ ] id: "359121584E056022" size: 0.75d + subtitle: "Sentience in circuit form" tasks: [{ id: "5F54BE8467A5C882" item: "gtceu:wetware_processor_computer" @@ -649,8 +651,6 @@ { dependencies: ["79E4E53E9DF45549"] description: [ - "&4&l[ NOT YET IMPLEMENTED ]&r" - "" "&3Advanced HPCA Components&r are improved versions of their regular counterparts, and allow for increasing the computation you can produce from an HPCA." "" "The &3HPCA Advanced Computation Component&r produces &a4x&r the computation for only &a2x&r the Cooling!" @@ -659,8 +659,9 @@ size: 0.75d subtitle: "Time for some computational advancement!" tasks: [{ - id: "2C8331B09F698CCA" - type: "checkmark" + id: "761AFCD5742F9A03" + item: "gtceu:hpca_advanced_computation_component" + type: "item" }] title: "Advanced HPCA Components" x: -4.875d @@ -673,7 +674,7 @@ "79E4E53E9DF45549" ] description: [ - "Build the structure displayed with Fusion Glass in &aJEI&r." + "Build the structure displayed with Fusion Glass in &aEMI&r." "" "To save on Fusion Casings, fit Input + Output Hatches wherever you can (as displayed in the structure)." "" @@ -718,7 +719,25 @@ x: -0.375d y: 3.375d } + { + description: [ + "This Chapter will be updated later on with &lSpace Progression&r. Be wary &oprogression&r and &orecipes&r will &lchange&r as the structure of the quests." + "" + "The modpack can be finish right now and is mostly vanilla Gregtech." + ] + icon: "createdeco:decal_warning" + id: "33054F0F31572CF1" + size: 2.5d + tasks: [{ + id: "3C3092E37F0FE3BB" + title: "Okay I understand it's not up to date" + type: "checkmark" + }] + title: "Quests are OLD and not updated for TFG" + x: -2.5d + y: -2.0d + } ] - subtitle: ["Harness the cosmos and wield the bacteriological"] - title: "&cZPM&r - Zero Point Module" + subtitle: ["The quests are outdated. They will be update in a later update."] + title: "&cZPM&r - Zero Point Module &6(WIP)&r" } From 3832fbbe2e6c66c052d5d5c70c53c69f6a312b1a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 23:25:59 +0100 Subject: [PATCH 57/62] langs --- kubejs/assets/tfg/lang/en_us.json | 118 ++++++++++++++++++++++++++++-- 1 file changed, 111 insertions(+), 7 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 45c618016..5454b4de1 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -596,13 +596,117 @@ "quests.gregtech_energy.start.title": "Let's do some explaining", "quests.gregtech_energy.start.desc": "We know that &5GregTech&r isn’t the easiest mod to get into — especially when it comes to the &cenergy system&r. That’s why we’ll take our time in this chapter to explain as much as we can.\n\nSome things here might not make full sense until later in your progression, so &adon’t stress yourself&r. Just try to understand what you can for now, and feel free to &dcome back to this chapter&r whenever you have questions.\n\nWe’ve split this chapter into &efour categories&r, each one covering a topic related to the &6GregTech Energy System&r. We’ll provide as many examples as possible to help you understand how it all works.", "quests.gregtech_energy.start.task": "Welcome aboard", - "quests.gregtech_energy.TEST.title": "", - "quests.gregtech_energy.TEST.subtitle": "", - "quests.gregtech_energy.TEST.desc.1": "", - "quests.gregtech_energy.TEST.desc.2": "", - "quests.gregtech_energy.TEST.desc.3": "", - "quests.gregtech_energy.TEST.task": "", - "quests.gregtech_energy.TEST.desc": "", + "quests.gregtech_energy.start.subtitle": "It's not as bad as you could think", + "quests.gregtech_energy.moving.title": "Moving your Energy", + "quests.gregtech_energy.moving.subtitle": "So Energy transfer uh", + "quests.gregtech_energy.moving.desc": "&6Moving Energy in Gregtech&r means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in Gregtech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of &d1 Amp&r (or &d1A&r) as &ea packet of energy&r. It moves down your cable to the closest machine needing power.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches can only take &62A at once&r.\n\nMastering these two ideas is key before going further into energy distribution.", + "quests.gregtech_energy.moving.task": "I understand", + "quests.gregtech_energy.transformer.title": "The Super Transformer", + "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", + "quests.gregtech_energy.transformer.desc": "&6For every problem, Gregtech has a multiblock solution.&r Enter the &dActive Transformer&r.\n\nThis beast is your &9ultimate transformer&r. It can &echannel energy between any tiers&r — from &aLV&r to &cUHV&r — with &cno explosions&r. But that's not even the best part.\n\nIt can &btransmit energy using Laser Pipes&r.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\n&7When cables feel weak, &luse lasers&r.", + "quests.gregtech_energy.moving_wire.title": "Moving with wires", + "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", + "quests.gregtech_energy.moving_wire.desc": "&6Moving energy around in Gregtech can be tricky&b — we got cable loss&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are &7solutions&r:\n\n&8•&r &bCover your wires&r with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&8•&r &bUse higher-tier cables&r. Platinum cables, for example, only lose 1 EU per block — &9practically nothing&r when compared to the 8192 EU it can carry.\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, &cno shock&r. Just be aware that they require specific components based on their tier.\n\n&7Optimize your energy flow — &breduce losses&r and make your systems more efficient.", + "quests.gregtech_energy.moving_wire.task": "I finished look at wires", + "quests.gregtech_energy.moving_amp.title": "Managing Amp", + "quests.gregtech_energy.moving_amp.subtitle": "It burns?", + "quests.gregtech_energy.moving_amp.desc.1": "You’ll notice in a wire’s tooltip its &eMax Amperage&r — that’s the amount of amps a cable can safely carry before burning.\nTo know how many amps will flow through a cable, you must consider two things:\n\n&6- A Generator or Battery outputs a specific amount of Amps:&r\n&7Battery Buffers&r will output as many amps as they have batteries inside.\nEvery single-block generator outputs &e1A&r.\nFor multiblock generators, it depends on the &aDynamo Energy Hatch&r — the value is shown in its tooltip.\n\n&6- Amperage output is also based on what is needed:&r\nEach machine connected to a power line will request amps to fill its internal buffer.", + "quests.gregtech_energy.moving_amp.desc.2": "Let’s look at an example:\nYou have &e6 machines&r connected to an &e8x Battery Buffer&r filled with batteries.\nThe buffer will try to send &e1A&r to each machine — that’s &e6A&r total.\nThe amps are delivered in order: the closest machines get power first, and the furthest ones last.\nIf your cables only support &c4A&r, they’ll &cBURN&r. You’ll need &a8A cables&r in this case.\n\n&bTip:&r The first machine in the line might need a cable that handles &e8A&r,\nbut the last machine may only need &e1A&r, as it’s only receiving what’s left.\n&c⚠ Be careful:&r adding another machine at the end could cause the cable to burn if it exceeds the limit.", + "quests.gregtech_energy.moving_amp.task": "I got it", + "quests.gregtech_energy.produce_energy.title": "Producing Energy", + "quests.gregtech_energy.produce_energy.subtitle": "Gas or Oil?", + "quests.gregtech_energy.produce_energy.desc": "It’s all about making energy, right? This part won’t be the most complicated one, since &eproducing energy&r in &2TerraFirmaGreg&r works pretty much like in &5standard GregTech&r.\n\nYou’ll learn about the various &6methods to generate energy&r, as well as some of the &afuels&r you can use to get the most out of your setup.", + "quests.gregtech_energy.produce_energy.task": "Got it", + "quests.gregtech_energy.first_generator.title": "Your first generators", + "quests.gregtech_energy.first_generator.subtitle": "It begins small", + "quests.gregtech_energy.first_generator.desc": "All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\n\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r.\n\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r.", + "quests.gregtech_energy.first_generator.task": "Get any of them", + "quests.gregtech_energy.lpt.title": "The Large Plasma Turbine", + "quests.gregtech_energy.lpt.subtitle": "You need a Fusion Reactor", + "quests.gregtech_energy.lpt.desc.1": "The &6Large Plasma Turbine&r — also known as &dLPT&r — is a real powerhouse. Not in size (it’s fairly standard), but in &ccapacity&r. You’ll need &dLuV Circuits&r, a &dLuV Machine Hull&r, and &5tons of Tungstensteel&r to craft it. It’s considered your &6most powerful generator&r in &2TerraFirmaGreg&r.\n\nSo, how does it work? You’ll need &5Plasma&r produced by a &6Fusion Reactor&r. That plasma is cooled down inside the LPT while generating energy. You will need an &2output hatch&r to get the cooled plasma.", + "quests.gregtech_energy.lpt.desc.2": "By default, the LPT starts at &e16384 EU/t&r. That energy output &cdoubles&r with each increase in the &6Rotor Holder&r after &1IV&r.\n\nFor example, using a &dLuV Rotor Holder&r (x2) with an &cHSS-E Turbine Rotor&r (x2,8) will give you a staggering &e91750 EU/t&r — that’s about &a2.8A of LuV&r power!\n\nLike other turbines, it will &8slow down&r and stop if the &dDynamo Hatch&r is full so you won't waste plasma, but doesn’t require a &7Muffler Hatch&r.", + "quests.gregtech_energy.lgt.title": "The Large Gas Turbine", + "quests.gregtech_energy.lgt.subtitle": "The fan favorite", + "quests.gregtech_energy.lgt.desc.1": "The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of &aenergy production&r for most of the pack. You’ll be able to build your first one at &5EV&r using &6Stainless Steel&r. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the &6Large Plasma Turbine&r.\n\nThat said, many players can finish &2TerraFirmaGreg&r using only these turbines — provided you have a &cstrong infrastructure&r to handle the &agas demands&r of high-tier LGTs.\n\nTo build the LGT, you’ll need the usual &dMaintenance Hatch&r and &9Input Hatch&r. This turbine &erequires a Muffler Hatch&r, but it &cdoes not use an Output Hatch&r. &mYou’ll need to manage the &cCarbon Monoxide&r&m it emits with something like an &6Air Scrubber&r.&r", + "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the &6Rotor Holder&r after &5EV&r. For example, an LGT using an &1IV Rotor Holder&r (×2) with a &cHSS-E Turbine Rotor&r (280% power) will produce:\n&e4096 × 2 × 2.8 = 22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a &dIV 4A Dynamo Hatch&r. A simple Dynamo Hatch only handles &e2A&r.\n\nJust so you know: the &eEfficiency stat&r of a Turbine Rotor increases the &cduration of the recipe&r, which means you get more power from each &6mB of fuel&r.\n\nLastly, if the &dDynamo Hatch&r fills up, the LGT will automatically &8slow down&r and pause fuel usage, gradually reducing rotor speed until it resumes again. So &ayou won't lose any fuel&r during a backup.", + "quests.gregtech_energy.lst.title": "The Large Steam Turbine", + "quests.gregtech_energy.lst.subtitle": "It exists", + "quests.gregtech_energy.lst.desc.1": "The &6Large Steam Turbine&r — or &dLST&r — might not be the most common &5Large Generator&r in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that &eLarge Boilers&r are stronger in &2TerraFirmaGreg&r, it definitely has its place.\n\nTo make it work, you’ll need an &9Input Hatch&r for &osteam&r, an &eOutput Hatch&r for &9Distilled Water&r, and of course a &dMaintenance Hatch&r. That’s all you need.\n\nLike all &dLarge Turbines&r, you’ll place a &6Rotor Holder&r on one side and a &dDynamo Hatch&r on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases &aefficiency&r slightly.", + "quests.gregtech_energy.lst.desc.2": "The base output of the LST is &e1024 EU/t&r. Let’s take an example: with an &1IV Rotor Holder&r (×4) and a &cHSS-E Turbine Rotor&r (280% power), you’ll get:\n&e1024 × 4 × 2.8 = 11,468.8 EU/t&r — that’s about &a1.4A of IV&r.\n\nTo extract that energy, you’d need either an &dIV Dynamo Hatch&r or an &5EV 16A Dynamo Hatch&r.\n\nWhile the LST isn’t the best turbine out there, if you have &9plenty of Large Boilers&r or access to &alava&r or &7creosote&r as infinite fuel, these &esteel-based, affordable turbines&r could absolutely serve you well.", + "quests.gregtech_energy.lce.title": "", + "quests.gregtech_energy.lce.subtitle": "Don't belive its GUI", + "quests.gregtech_energy.lce.desc.1": "These two &6bad boys&r are your &achampions&r if you’re into transforming &eOils&r into &cfuels&r. The &6Large Combustion Engine&r (&dLCE&r) and the &5Extreme Combustion Engine&r (&dECE&r) share the same fuel types and even look alike — but they require different materials to build.\n\nTo craft the &dLCE&r, you’ll need to reach &5EV&r and unlock &6Titanium&r, along with at least one &1IV Circuit&r. For the &dECE&r, it’ll be &5Tungstensteel&r and a &dLuV Circuit&r — something you should be able to build comfortably during the &1IV Chapter&r.", + "quests.gregtech_energy.lce.desc.2": "Both machines require an &9Input Hatch&r for &cfuel&r and also &6Lubricant&r. For the &dECE&r, adding &bOxygen&r or &bLiquid Oxygen&r will grant you a &cmassive energy boost&r. Check the &etooltip&r of your fuel to compare how much extra energy you get with oxidizers — it's well worth it.\n\nKeep in mind: both engines need a &7Muffler Hatch&r, so &cThey Will Pollute&r.", + "quests.gregtech_energy.lpt_fuel.title": "Plasma Fuels", + "quests.gregtech_energy.lpt_fuel.subtitle": "It's very hot", + "quests.gregtech_energy.lpt_fuel.desc.1": "&6Large Plasma Turbines&r require &chigh-tech fuels&r to run, and we provide you with &a2 strong options&r:\n\n&8- The first option&r becomes available with your &dMK1 Fusion Reactor&r: &eHelium Plasma&r.\nYou can create it using &3Deuterium&r and &3Tritium Gas&r — both gases are obtained by &adistilling Liquid Ender Air&r.\nThis fuel isn't the most powerful, but it's by far the &aeasiest and earliest&r to produce.", + "quests.gregtech_energy.lpt_fuel.desc.2": "&8- The second option&r requires a &5MK3 Fusion Reactor&r and allows you to generate &eNickel Plasma&r.\nTo make it, you’ll need &6Liquid Potassium&r — which you can extract from various ores — and the &4infamous Fluorine&r, which you should already know how to produce by now.\n\n⚠ Don’t forget: &eHelium Gas&r and &eLiquid Nickel&r should be &3collected and returned&r to your storage for &afuture reuse&r.\n\nThese two fuels are your &abest candidates&r for powering the &dLPT&r, depending on how far you've progressed in your &bindustrial madness&r.", + "quests.gregtech_energy.lpt_fuel.task": "I don't want to make a bucket of Plasma", + "quests.gregtech_energy.lgt_fuel.title": "Gas Fuels", + "quests.gregtech_energy.lgt_fuel.subtitle": "The everyone favorite", + "quests.gregtech_energy.lgt_fuel.desc.1": "When we speak about &agas fuels&r, we’re really talking about &cjust one&r — &eNitrobenzene&r.\n\nYou’ll be able to produce it once you reach &6HV&r, and we &astrongly recommend it&r if you’re planning to use the &5Large Gas Turbine&r.\n\nBefore reaching Nitrobenzene, &eBenzene&r is a solid option to get started. You can obtain it via &aOrganic Chemistry&r or by processing &eHeavy Oil&r, if you’re lucky enough to have some nearby.", + "quests.gregtech_energy.lgt_fuel.desc.2": "Making &eNitrobenzene&r involves several steps — until you craft your first &6Large Chemical Reactor&r (&aLCR&r), which will let you &3skip many sub-steps&r and simplify the process.\n\nIt’s nothing too complicated: combine &3Hydrogen&r, &bNitrogen&r, and &bOxygen&r to make &eNitric Acid&r in infinite quantities. As for &eSulfuric Acid&r, you probably already know it’s just &6Sulfur&r and &9Water&r — right?\n\nOnce you get this chain going, Nitrobenzene becomes one of the &amost powerful fuels&r for gas burning.", + "quests.gregtech_energy.lgt_fuel.task": "Gas in a bucket?", + "quests.gregtech_energy.lst_fuel.title": "This is Steam", + "quests.gregtech_energy.lst_fuel.subtitle": "Not much of a choice", + "quests.gregtech_energy.lst_fuel.desc": "Steam isn’t really complicated — just &aboil water&r to get steam.\n\nTo do it efficiently, we recommend using &6Large Boilers&r. You’ll find &c4 versions&r: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a &dstrong increase&r in steam output.\n\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is &cnot the best&r compared to other power generation methods.\n\nMost players will &7skip&r the &5Titanium&r and &dTungstensteel&r Boilers — they exist if you want them, but aren’t really &aefficient or worth building&r in most cases.\n\nAs a reminder: &e2 mB&r of steam = &e1 EU&r.", + "quests.gregtech_energy.lst_fuel.task": "", + "quests.gregtech_energy.lce_fuel.title": "Liquid fuel", + "quests.gregtech_energy.lce_fuel.subtitle": "This one is killing hard the planet", + "quests.gregtech_energy.lce_fuel.desc.1": "All of these &cfuels&r are used for &6Combustion Generators&r — ranked here from the &cleast efficient&r to the &abest&r.\n\nDuring &bMV&r, we recommend starting with &eDiesel&r or &eBiodiesel&r. Later on, you can upgrade to &eCetane-Boosted Diesel&r at &6HV&r by mixing it with &bNitrogen&r, &3Hydrogen&r, and &bOxygen&r.", + "quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to &eGasoline&r and &eHigh Octane Gasoline&r. Don’t attempt this too early — &coils need to be distilled properly&r, and doing it with a &cDistillery&r is &cnot efficient&r at all.\n\nTo make this work, you'll need a combination of oil distillation and some &aorganic compound processing&r. Thankfully, a &6Pyrolyse Oven&r and a &6Distillation Tower&r will handle it all smoothly.\n\nIf you manage a &asteady supply&r of &eHigh Octane Gasoline&r, you should be able to &3finish the entire modpack&r running only on &6Combustion Generators&r.", + "quests.gregtech_energy.lce_fuel.task": "I got enough", + "quests.gregtech_energy.storage.title": "Storing Energy", + "quests.gregtech_energy.storage.desc": "Storing your energy is one of the &emost fundamental aspects&r of the power system in &dGregTech&r.\n\nWhy is that? Simply because even the &cstrongest generators&r won't be enough to keep up when you launch a &ebig craft&r — especially in late game.\n\nTo deal with this, GregTech provides &6multiple solutions&r to store &bastronomical amounts of EU&r. These storages act as a &3buffer&r between your energy production and the machines that drain it during complex operations.\n\nWhether you’re preparing for a &1Fusion Reactor&r, a &dLCT&r, or any &6HV-IV scale crafting chain&r, you’ll need that extra backup of energy to keep everything stable.\n\nDon’t underestimate the &apower of a good battery&r — it may just be the thing that saves your base from crashing during your most ambitious moments.", + "quests.gregtech_energy.storage.task": "I understand", + "quests.gregtech_energy.storage.subtitle": "Gregtech has some tremendous storage capacity", + "quests.gregtech_energy.tank.title": "Storing the Fuel", + "quests.gregtech_energy.tank.desc.1": "Obviously, storing energy can also mean &estoring the fuel that makes it&r.\n\nFor this scenario, while &7Drums&r and &6Crates&r are decent early options, you should not overlook the &dSuper Tank&r and the &dSuper Chest&r.", + "quests.gregtech_energy.tank.desc.2": "These &abeasts&r are capable of storing &ctremendous amounts of fluid or items&r — perfect for &3autonomous energy setups&r, especially when you want to generate power &cfar away from your main base&r without having to build an entire cable network.\n\nJust load them up with &egas, fuel, steam&r or even &4plasma&r, and let them handle the rest. With proper planning, your outposts can be fully operational with &ano live connection&r to your central grid.\n\nEnergy doesn’t always come in wires — sometimes, it comes in barrels.", + "quests.gregtech_energy.tank.task": "Any Super Tank", + "quests.gregtech_energy.tank.subtitle": "Keep the fuel if you can't the energy", + "quests.gregtech_energy.battery_buffer.title": "Battery Buffer", + "quests.gregtech_energy.battery_buffer.desc.1": "&dBattery Buffers&r are your basic machines to &estore and manage energy&r — though technically, they don’t store energy on their own. They simply serve as a &3housing for your batteries&r.\n\n⚠ &cIf you don’t want them to explode&r:\n- &4Never input higher-tier energy&r into a lower-tier Battery Buffer.\n- Batteries can only be charged if they are of &cequal or lower tier&r than the Battery Buffer.", + "quests.gregtech_energy.battery_buffer.desc.2": "\uD83D\uDD0C A Battery Buffer can accept up to &b2x its output amperage&r.\nSo for example, a &e4x Battery Buffer&r can take in &a8A&r — but will only output &e4A&r max (1A per battery slot).\n\n\uD83E\uDEAB &eReminder&r:\n- No batteries = &cno output&r.\n- The number of batteries determines the number of Amps it outputs.\nThat means a &68x Battery Buffer&r with only &e3 batteries&r will only output &e3A&r.\n\nUse them wisely — they are the &afoundation of any stable energy network&r.", + "quests.gregtech_energy.battery_buffer.task.1": "Some battery buffers", + "quests.gregtech_energy.battery_buffer.task.2": "I got an other one", + "quests.gregtech_energy.battery_buffer.subtitle": "The basic battery needs batteries", + "quests.gregtech_energy.pss.title": "The Power Substation", + "quests.gregtech_energy.pss.desc.1": "This one should become your &5main focus&r once you progress into &1IV&r.\n\nThe &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r.\nIt can store so much energy... you’d probably need &cmultiple lifetimes&r to fill it.", + "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", + "quests.gregtech_energy.pss.subtitle": "Cool Gregtech Multiblock", + "quests.gregtech_energy.batteries.title": "Super Batteries", + "quests.gregtech_energy.batteries.desc": "From &7LV&r and &bMV&r, you probably built your first batteries made of &fSodium&r or &3Lithium&r.\n\nBut let’s be honest — these are the &cweakest&r batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are &emuch more potent&r, store way more energy, and can help you push your factory to the next tier.\n\nAre they &cmore expensive&r? Of course. But let’s be real...\n&6Power is Power&r. Who’s counting?", + "quests.gregtech_energy.batteries.task": "Any batteries", + "quests.gregtech_energy.batteries.subtitle": "Simply Better", + "quests.gregtech_energy.spending_energy.title": "Spending Energy", + "quests.gregtech_energy.spending_energy.subtitle": "Oh you will spend energy", + "quests.gregtech_energy.spending_energy.desc.1": "&6How to spend all this energy?&r\n\nUse your machines! Sounds simple, right?\nWell... &cnot exactly&r. There are &emany small details&r that you should learn to help you on your &dquest&r to completing &3TerraFirmaGreg&r.\n\n&bBasic Machines&r:\n- These machines are simple.\n- They can handle up to &a2A&r.\n- If you input a &chigher tier&r of energy... &4\uD83D\uDCA5 they explode&r.\n\n&dGregtech Multiblocks&r:\nNow things get interesting.\nMultiblocks offer more flexibility and power — &eif&r you understand how they work.", + "quests.gregtech_energy.spending_energy.desc.2": "&eStandard Mechanics&r:\n- If a multiblock can accept &aTWO&r &bEnergy Hatches&r this allows you to use &ahigher-tier recipes&r than the machine’s base tier.\n\nExample:\nIf you're using a &dLarge Mixing Vessel&r and you install &12x IV Energy Hatches&r,\nit will be able to process &cLuV-tier Mixer recipes&r — this is how works the &cElectric Blast Furnace&r.\n\nKnowing this will help you get the &6maximum efficiency&r out of your setup and progressing into higher tier materials.", + "quests.gregtech_energy.spending_energy.desc.3": "&6Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A.&r\n\nYou can still use a &e4A or 16A Energy Hatch&r. This will allow &bOverclocking&r of recipes but &cnot recipe tier upgrades&r.\n\n&dExample&r:\nThe &aLarge Circuit Assembler&r only accepts &eone Energy Hatch&r. If you install a &c4A IV Energy Hatch&r, you will be able to &eOverclock all IV and lower recipes&r.\n\nHowever, you &ccannot craft LuV-tier recipes&r because the machine doesn't support multiple hatches. That limitation is &aintentional&r to prevent skipping the Gregtech progression system.", + "quests.gregtech_energy.spending_energy.desc.4": "&bSo remember&r: More amps on a single hatch means faster processing, but it won’t unlock higher-tier recipes unless the multiblock is designed to allow it.", + "quests.gregtech_energy.spending_energy.task": "I understand", + "quests.gregtech_energy.overclock.title": "Overclock", + "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", + "quests.gregtech_energy.overclock.desc.1": "&6You may have heard about Overclocking but don't really understand what it is?&r\n\nLet's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of &a32 EU/t&r — sometimes less, but &cnever more&r.\n&dMV&r goes up to &a128 EU/t&r.\n&dHV&r reaches &a512 EU/t&r.\nBasically, &eevery tier is a 4x increase&r in &cpower usage&r.", + "quests.gregtech_energy.overclock.desc.2": "&bWhat happens when you run a lower-tier recipe in a higher-tier machine?&r\nThat's what we call &eOverclocking&r:\n- An &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will:\n &e→ Use 4x more energy&r\n &e→ Be 2x faster&r\n\n- Same MV recipe in an &dEV&r machine?\n &e→ 8x more energy&r\n &e→ 4x faster&r\n\nSo yes, it's &cmore power-efficient to use multiple machines&r rather than overclocking one.\nBut let's be real: in most setups, &eyou’ll prefer overclocking&r to building 4 MV Macerators.\n\nStill, it's &egood to know this early on&r, when energy is tight.", + "quests.gregtech_energy.overclock.desc.3": "&bPerfect Overclocking&r\nThere’s also a special kind of overclocking available in a &afew multiblocks&r: &e\n\nPerfect Overclocking&r.\nHere, instead of:\n- &a4x energy&r for &a2x speed&r,\nyou get:\n- &a4x energy&r for &a4x speed&r!\n\n&dThis makes it just as efficient&r as running multiple machines.\n\nCurrently in &3TerraFirmaGreg&r, &6only the following multiblocks&r support this:\n- &cElectric Blast Furnace (EBF)\n- Advanced Blast Dryer (ABD)\n- Rocket Heat Furnace (RHF)\n- Large Chemical Reactor (LCR)", + "quests.gregtech_energy.overclock.task": "Okay faster got it", + "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", + "quests.gregtech_energy.blast_oc.subtitle": "You don't need to understand this one", + "quests.gregtech_energy.blast_oc.desc.1": "&6If you didn't learn yet about Perfect Overclocking, you should check the quest right above this one.&r\n\nThese &3three multiblocks&r share a special ability: they can &ePerfect Overclock&r recipes depending on the &ctemperature of the machine&r.\n\nYou can check the current temperature by &aclicking on the controller&r.\n\nThere are &atwo ways to increase the temperature&r:\n- &aUse higher-tier energy inputs&r\n- &aUpgrade the coils&r", + "quests.gregtech_energy.blast_oc.desc.2": "To see the temperature of a coil, simply &3hold Shift&r while hovering over it.\n\nOnce you know your machine's temperature, you’ll need the &dtemperature of the recipe&r. The easiest way to find it is to &ause EMI&r.\n\nWith both values, you can do a quick calculation to see if Perfect Overclocking (POC) applies:\n&bYour machine must be at least 1800K hotter per overclock tier than the recipe requires.&r", + "quests.gregtech_energy.blast_oc.desc.3": "&dExample&r:\n- Stainless Steel recipe requires &c1700K&r and is &aHV&r tier.\n- Your EBF is at &bLuV&r and has a temperature of &c5900K&r.\n- From HV to LuV is &a3 overclock tiers&r.\n- 1800 x 3 = &c5400K&r → Add the recipe's base: 5400 + 1700 = &c7100K&r needed for full POC.\n- Since your machine is only at &c5900K&r, you will only Perfect Overclock from HV to EV, and EV to IV.\n- From IV to LuV will be a normal overclock.\n\nSo the recipe will take &e1.7 seconds&r instead of &e0.85 seconds&r if fully overclocked.\n\n&bFeeling overwhelmed? Don't worry.&r\nJust remember this: &aBetter coils = faster and cheaper recipes.&r", + "quests.gregtech_energy.blast_oc.task": "Got it", + "quests.gregtech_energy.subtick.title": "Subtick", + "quests.gregtech_energy.subtick.subtitle": "Parallel?", + "quests.gregtech_energy.subtick.desc.1": "&6Another hidden mechanic in Gregtech Multiblocks: the &dSubtick&r.\n\nWhat is it?\nSubtick activates when a recipe becomes &eso fast it takes less than one tick&r to process. Normally, machines can’t go faster than one recipe per tick — but with Subtick, they can!\n\n&bHow does it work?&r\nOnce a recipe hits 1 tick duration, upgrading the Energy Hatch further won’t make it faster.\nBut thanks to Subtick, instead of wasting power, the machine will &aparallel the recipe internally&r.", + "quests.gregtech_energy.subtick.desc.2": "For example: If your &aLCR (Large Chemical Reactor)&r runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean &emore internal parallel&r.\n\n&dNote&r: As of now all the Large Machines can subtick in a limited way but only the &aLCR supports Subtick&r and &bPerfect Overclocking&r. That’s why the LCR doesn’t need a Parallel Hatch: it’s already doing it... but better.", + "quests.gregtech_energy.parallel_hatch.title": "Parallel Hatch", + "quests.gregtech_energy.parallel_hatch.subtitle": "Parallel again?", + "quests.gregtech_energy.parallel_hatch.desc.1": "&6The &dParallel Hatch&r is a powerful tool for &aLarge Multiblocks&r.\n\n&bWhat does it do?&r\nWhere allowed (most notably on Multiblocks crafted from the &eAlloy Blast Smelter&r), it lets you run &amultiple recipes at the same time&r.\n\nIt does this by consuming &cmore energy&r per tick, but massively increasing throughput. Perfect if you’re mass-producing alloys, circuits or chemicals.", + "quests.gregtech_energy.parallel_hatch.desc.2": "Just place a Parallel Hatch on the Multiblock and make sure it’s fed with enough energy and input materials. Most multiblocks that allow it will show so in EMI or questbook.\n\n&dNote&r: The &aLCR&r (Large Chemical Reactor) &cdoes not use Parallel Hatches&r — it handles internal parallel using &bSubtick mechanics&r instead.", + "quests.gregtech_energy.parallel_hatch.task": "Any Parallel", "quests.high_voltage": "&6HV&r - High Voltage", "quests.high_voltage.subtitle": "Upgrade your power, learn about Cleanroom, make more chemicals and get ready for Space", "quests.high_voltage.TEST.title": "", From 3610e29c7b75ed9554f5ae1845639db0e3d08f9a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 23:26:23 +0100 Subject: [PATCH 58/62] changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b86773e12..a3e0d7ac4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ - Phantom Silk and Polycaprolactam Fabric now count as High Quality Fabric @Pyritie - Added recipes to turn dirt into grass @Pyritie - Changed durability of the diving equipment to match the TFC armor, made forging bonuses carry across when crafting @Pyritie -- Added/changed more recipes for metal bars, doors, and trapdoors +- Added/changed more recipes for metal bars, doors, and trapdoors @Pyritie ### Bug fixes - Fixed issue where "melts into" tooltips and certain timers on Jade were missing (#1102) @Xikaro - Improved block ordering logic with AoE mining tools to reduce incorrect cave-ins @voidstar240 From 331f29bf06a4ee2ead09a17ff06af468941d559e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Jun 2025 23:35:46 +0100 Subject: [PATCH 59/62] fix merge --- pakku.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pakku.json b/pakku.json index d0db97959..88adb5085 100644 --- a/pakku.json +++ b/pakku.json @@ -197,24 +197,12 @@ "fix-gpu-memory-leak": { "side": "CLIENT" }, - "tfc-support-indicator": { - "side": "CLIENT" - }, "immediatelyfast": { "side": "CLIENT" }, "unilib": { "side": "CLIENT" }, - "fast-ip-ping": { - "side": "CLIENT" - }, - "badoptimizations": { - "side": "CLIENT" - }, - "entityculling": { - "side": "CLIENT" - }, "resourceful-config": { "side": "BOTH" }, From 33e056943b334acca12c4b616347ed3d40bc9c1e Mon Sep 17 00:00:00 2001 From: Xikaro Date: Thu, 5 Jun 2025 12:48:28 +0500 Subject: [PATCH 60/62] Revert "fix merge" This reverts commit 331f29bf06a4ee2ead09a17ff06af468941d559e. --- pakku.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pakku.json b/pakku.json index 88adb5085..d0db97959 100644 --- a/pakku.json +++ b/pakku.json @@ -197,12 +197,24 @@ "fix-gpu-memory-leak": { "side": "CLIENT" }, + "tfc-support-indicator": { + "side": "CLIENT" + }, "immediatelyfast": { "side": "CLIENT" }, "unilib": { "side": "CLIENT" }, + "fast-ip-ping": { + "side": "CLIENT" + }, + "badoptimizations": { + "side": "CLIENT" + }, + "entityculling": { + "side": "CLIENT" + }, "resourceful-config": { "side": "BOTH" }, From c2b330acf07c511680ec591a51df215bd1e9bc25 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Thu, 5 Jun 2025 12:53:22 +0500 Subject: [PATCH 61/62] Update pakku-lock.json --- pakku-lock.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pakku-lock.json b/pakku-lock.json index 857a69258..be8400063 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -687,6 +687,7 @@ { "pakku_id": "379BaDcnVDR2UpIE", "type": "MOD", + "side": "CLIENT", "slug": { "curseforge": "badoptimizations" }, @@ -2493,7 +2494,7 @@ { "pakku_id": "SG15bUHPcW2KqNGd", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "detected-setblock-be-gone" }, @@ -2895,6 +2896,7 @@ { "pakku_id": "RS4X7y4ROQpYQt4g", "type": "MOD", + "side": "CLIENT", "slug": { "curseforge": "entityculling" }, @@ -3559,6 +3561,7 @@ { "pakku_id": "hggeEmhEPzF5fKKr", "type": "MOD", + "side": "CLIENT", "slug": { "curseforge": "fast-ip-ping" }, @@ -6556,6 +6559,7 @@ "id": { "curseforge": "585406" }, + "export": false, "files": [ { "type": "curseforge", @@ -7822,6 +7826,7 @@ { "pakku_id": "WbVOj6kmY9jCiHED", "type": "MOD", + "side": "CLIENT", "slug": { "curseforge": "tfc-support-indicator" }, From 08e0c4072351e9680e869cc2b7e949e7e3a85d3e Mon Sep 17 00:00:00 2001 From: Xikaro Date: Thu, 5 Jun 2025 17:30:13 +0500 Subject: [PATCH 62/62] bump --- CHANGELOG.md | 3 +++ pakku.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3e0d7ac4..b63c4b0cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog ## [Unreleased] +### Changes + +## [0.9.10] - 05.06.2025 ### New features - Added Trowel tool to randomly place blocks from hotbar (#1106) @Redeix - Started work on Brazilian Portuguese translations @gifpxto diff --git a/pakku.json b/pakku.json index d0db97959..d6425913f 100644 --- a/pakku.json +++ b/pakku.json @@ -1,6 +1,6 @@ { "name": "TerraFirmaGreg-Modern", - "version": "0.9.9", + "version": "0.9.10", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [