From 5052714c84e98aaf8ae101f62d87ba881b6e8dd4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 22:31:46 +0000 Subject: [PATCH 001/157] fix gt glass lens --- kubejs/server_scripts/gregtech/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index cc007dfc9..7e8ede4e7 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -413,4 +413,11 @@ const registerGTCEURecipes = (event) => { .itemOutputs('tfg:paracetamol_pill') .duration(3 * 20) .EUt(GTValues.VA[GTValues.LV]) + + // Glass lens + event.recipes.gtceu.lathe('tfg:gt_glass_lens') + .itemInputs('#forge:plates/glass') + .itemOutputs('#forge:lenses/glass', '#forge:small_dusts/glass') + .duration(60 * 20) + .EUt(GTValues.VA[GTValues.MV]) } From 80f235448093a13d8d222dfe199c22d425a5c288 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 13:59:30 +0000 Subject: [PATCH 002/157] fix kaolinite recipe conflict --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f11a43eb2..872214b6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## Unreleased +### Breaking changes +- The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes ### Bug fixes ### Translation updates diff --git a/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js b/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js index 84162e695..803ced4f3 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js +++ b/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js @@ -6,6 +6,7 @@ function registerTFGEnderPearlRecipes(event) { .inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000)) .itemOutputs('17x tfc:powder/kaolinite') .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000)) + .circuit(3) .duration(20 * 10) .EUt(GTValues.VA[GTValues.HV]) @@ -14,6 +15,7 @@ function registerTFGEnderPearlRecipes(event) { .inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000)) .itemOutputs('17x tfc:powder/kaolinite', '1x #forge:dusts/chromium') .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000)) + .circuit(3) .duration(20 * 10) .EUt(GTValues.VA[GTValues.HV]) From e9e6530a6110f2907758749b9a4ab9287f139666 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:27:11 +0000 Subject: [PATCH 003/157] fix large miners and deepslate/red granite loot tables --- CHANGELOG.md | 2 ++ kubejs/startup_scripts/gtceu/constants.js | 3 ++- .../tfg/stone_types/tag_prefixes.rocks.js | 22 ++++++++++++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 872214b6e..24b6e1e31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes ### Bug fixes +- Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie +- Fixed red granite ores never dropping poor or rich raw ores @Pyritie ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 2be0de5fd..38e7473b7 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -415,7 +415,8 @@ global.ORE_BEARING_STONES = /** @type {const} */ ([ "mars_stone", "venus_stone", "mercury_stone", - "glacio_stone" + "glacio_stone", + "red_granite" ]); //#endregion diff --git a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js index 81354e3ef..0595b7243 100644 --- a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js @@ -2,7 +2,8 @@ "use strict"; const registerTFGRocksTagPrefixes = (event) => { - + + TagPrefix.ORES.remove(TagPrefix.oreDeepslate) TagPrefix.ORES.remove(TagPrefix.oreTuff) TagPrefix.ORES.remove(TagPrefix.oreSand) TagPrefix.ORES.remove(TagPrefix.oreRedSand) @@ -15,6 +16,7 @@ const registerTFGRocksTagPrefixes = (event) => { TagPrefix.ORES.remove(TagPrefix.oreAndesite) TagPrefix.ORES.remove(TagPrefix.oreDiorite) TagPrefix.ORES.remove(TagPrefix.oreGranite) + TagPrefix.ORES.remove(TagPrefix.oreRedGranite) const shouldGenerateOre = (material) => { return material.hasProperty(PropertyKey.ORE); @@ -46,6 +48,15 @@ const registerTFGRocksTagPrefixes = (event) => { TFGHelpers.registerCobbleBlock('pyroxenite', 'tfg:rock/cobble_blackstone'); + event.create('deepslate', 'ore') + .stateSupplier(() => Block.getBlock('minecraft:deepslate').defaultBlockState()) + .baseModelLocation('minecraft:block/deepslate') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('deepslate', 'minecraft:cobbled_deepslate'); + event.create('dripstone', 'ore') .stateSupplier(() => Block.getBlock('minecraft:dripstone_block').defaultBlockState()) .baseModelLocation('minecraft:block/dripstone_block') @@ -108,4 +119,13 @@ const registerTFGRocksTagPrefixes = (event) => { .generationCondition(shouldGenerateOre) TFGHelpers.registerCobbleBlock('glacio_stone', 'ad_astra:glacio_cobblestone'); + + event.create('red_granite', 'ore') + .stateSupplier(() => Block.getBlock('tfg:rock/hardened_red_granite').defaultBlockState()) + .baseModelLocation('gtceu:block/red_granite') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('red_granite', 'gtceu:red_granite_cobblestone'); } \ No newline at end of file From e02c36bb9d3d5dbef329ab3b8be2d0e506b62782 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:28:16 +0000 Subject: [PATCH 004/157] fix #2836 Related Work Items: #28 --- CHANGELOG.md | 1 + kubejs/server_scripts/afc/tags.js | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24b6e1e31..3643d8c44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie +- Fixed rosin leaves and saplings having tags the wrong way around (#2836) @Pyritie ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/kubejs/server_scripts/afc/tags.js b/kubejs/server_scripts/afc/tags.js index 771ed2740..016e998b6 100644 --- a/kubejs/server_scripts/afc/tags.js +++ b/kubejs/server_scripts/afc/tags.js @@ -69,21 +69,21 @@ const registerAFCItemTags = (event) => { event.add("tfg:rosin_logs", "#tfc:white_cedar_logs") event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs") - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/aspen') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/coast_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/black_spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/sitka_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/douglas_fir') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/white_cedar') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/aspen') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/coast_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/black_spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/sitka_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/douglas_fir') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/white_cedar') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/aspen') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/coast_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/black_spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/sitka_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/douglas_fir') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/white_cedar') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/aspen') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/coast_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/black_spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/sitka_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/douglas_fir') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/white_cedar') // Maple Syrup Tag From d89ea918732db438f53d89e13b098ae839d8e55e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:40:33 +0000 Subject: [PATCH 005/157] make vanadium magnetite meltable #2834 --- CHANGELOG.md | 1 + kubejs/startup_scripts/gtceu/material_modification.js | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3643d8c44..5db9975c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index fbcf005a3..985f022e4 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -123,8 +123,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + GTMaterials.VanadiumMagnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); GTMaterials.Malachite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); GTMaterials.Tetrahedrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); @@ -133,7 +134,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Bornite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); GTMaterials.Cassiterite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 230, GTMaterials.Tin, 1, 100)); - GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 85)); + GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 80)); GTMaterials.Sphalerite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 420, GTMaterials.Zinc, 1, 90)); GTMaterials.Garnierite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 100)); GTMaterials.Pentlandite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 85)); From 32e451eb56274fb07c4555a0f46adbdd620396e5 Mon Sep 17 00:00:00 2001 From: TanJeeSchuan <89920999+TanJeeSchuan@users.noreply.github.com> Date: Sat, 24 Jan 2026 23:46:25 +0800 Subject: [PATCH 006/157] Fix swapped tags for rosin saplings and leaves (#2840) * Fix swapped tags for rosin saplings and leaves Corrected the tags of sapling and leaf items to the 'tfg:rosin_saplings' and 'tfg:rosin_leaves'. * remove comment Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- kubejs/server_scripts/afc/tags.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/kubejs/server_scripts/afc/tags.js b/kubejs/server_scripts/afc/tags.js index 771ed2740..cd32cca68 100644 --- a/kubejs/server_scripts/afc/tags.js +++ b/kubejs/server_scripts/afc/tags.js @@ -69,21 +69,21 @@ const registerAFCItemTags = (event) => { event.add("tfg:rosin_logs", "#tfc:white_cedar_logs") event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs") - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/aspen') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/coast_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/black_spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/sitka_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/douglas_fir') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/white_cedar') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/aspen') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/coast_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/black_spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/sitka_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/douglas_fir') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/white_cedar') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/aspen') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/coast_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/black_spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/sitka_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/douglas_fir') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/white_cedar') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/aspen') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/coast_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/black_spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/sitka_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/douglas_fir') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/white_cedar') // Maple Syrup Tag From 07bc872b0e4338298d7f2132f106c6eea690f360 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:51:08 +0000 Subject: [PATCH 007/157] update greate, pakku --- CHANGELOG.md | 2 +- config/greate-recipes.yaml | 4 + .../server_scripts/greate/recipes.removes.js | 2 + pakku-lock.json | 98 +++++++++---------- 4 files changed, 56 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5db9975c3..29848e793 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie -- Fixed rosin leaves and saplings having tags the wrong way around (#2836) @Pyritie +- Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/config/greate-recipes.yaml b/config/greate-recipes.yaml index 352b7b5fd..50dd46256 100644 --- a/config/greate-recipes.yaml +++ b/config/greate-recipes.yaml @@ -9,6 +9,10 @@ enableHardCreateRecipes: false # If false, GTCEu items will be used instead. useCreateItemsInRecipes: false +# Should recipes from create that conflict with GTCEu recipes be enabled? +# [WARNING]: This will not cover every single recipe conflict, only common conflicts (like components (plates/sheets)), or ore processing conflicts. +disableConflictingRecipes: true + # Recipe types that should not be copied to Greate machines. Ex. 'gtceu:macerator' for macerator recipes ignoredRecipeTypes: - gtceu:ore_washer diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 1c267e4cb..902e945f8 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -82,4 +82,6 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) + + evevt.remove({ id: 'greate:mixing/brass_ingot' }) } diff --git a/pakku-lock.json b/pakku-lock.json index 1d4e80d90..b98f4acab 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6885,7 +6885,7 @@ { "pakku_id": "ihA4iuyUc3fA0D4q", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "geckolib", "modrinth": "geckolib" @@ -7101,7 +7101,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.62.jar", + "file_name": "greate-0.0.64.jar", "mc_versions": [ "1.20.1" ], @@ -7110,23 +7110,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/FDjUACYa/greate-0.0.62.jar", - "id": "FDjUACYa", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/9flLlqpd/greate-0.0.64.jar", + "id": "9flLlqpd", "parent_id": "8wDcQuht", "hashes": { - "sha512": "8458d070ec94b6a130944f80a67a72fbf89d099e8378ab0a76eb0130eaa60f5e9af3d61b43f968694c78653a4c6f453b63a9fb8947910c06ad9934bd3c7c120e", - "sha1": "0e4ffe5e88f97df724172b3061a1691028f45582" + "sha512": "9f7d4f37fa720eeca5177263c4cd00f6812cd77063214061f31ef416123d51bc0a553f46393c1e0e3a548ef6d15b2da2bd6f703d80379d3ad084ee749c12b2c0", + "sha1": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf" }, "required_dependencies": [ - "LNytGWDc", - "7tG215v7" + "7tG215v7", + "LNytGWDc" ], - "size": 1253198, - "date_published": "2026-01-13T16:37:04.520883Z" + "size": 1257336, + "date_published": "2026-01-24T05:55:41.391475Z" }, { "type": "curseforge", - "file_name": "greate-0.0.62.jar", + "file_name": "greate-0.0.64.jar", "mc_versions": [ "1.20.1" ], @@ -7135,19 +7135,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7455/72/greate-0.0.62.jar", - "id": "7455072", + "url": "https://edge.forgecdn.net/files/7516/28/greate-0.0.64.jar", + "id": "7516028", "parent_id": "901996", "hashes": { - "sha1": "0e4ffe5e88f97df724172b3061a1691028f45582", - "md5": "b4c8e38c9c69a88266d5eb64fcc21f18" + "sha1": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf", + "md5": "31e92230efe5fc01d683e25fbe6a561c" }, "required_dependencies": [ - "328085", - "890405" + "890405", + "328085" ], - "size": 1253198, - "date_published": "2026-01-13T16:35:06.893Z" + "size": 1257336, + "date_published": "2026-01-24T05:55:39.687Z" } ] }, @@ -9435,7 +9435,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.26.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9443,20 +9443,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/zSQuM6f3/modernfix-forge-5.26.1+mc1.20.1.jar", - "id": "zSQuM6f3", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/Uvlhuprw/modernfix-forge-5.26.2+mc1.20.1.jar", + "id": "Uvlhuprw", "parent_id": "nmDcB62a", "hashes": { - "sha512": "af689fc986ea90026881cb928cef4d1cdb94030c77e111a4a4b560206c2754ad63b58a7df2990942c6808d692500a7b701a87ebb1665b0d2832d6119ad80c81c", - "sha1": "fa0163b33e911b69af61fee8a3920820e7c617a0" + "sha512": "46e6fb85c3097d3dedca0409fda83d58b3724a0905a5f5417b8bfaa2cb8bce388e6d42c762ee615413a9bc2692fa4b302d7e2405fe6fd7ad82c9def6a5da9028", + "sha1": "0adfc122e9f632d8847688c4c3ed20a1af182afa" }, "required_dependencies": [], "size": 826829, - "date_published": "2026-01-23T00:51:21.409054Z" + "date_published": "2026-01-24T01:51:58.806460Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.26.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9464,16 +9464,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7509/729/modernfix-forge-5.26.1+mc1.20.1.jar", - "id": "7509729", + "url": "https://edge.forgecdn.net/files/7515/215/modernfix-forge-5.26.2+mc1.20.1.jar", + "id": "7515215", "parent_id": "790626", "hashes": { - "sha1": "fa0163b33e911b69af61fee8a3920820e7c617a0", - "md5": "63bb05ac16ae0ecc3e2b039148edab3e" + "sha1": "0adfc122e9f632d8847688c4c3ed20a1af182afa", + "md5": "61332114c9c317080faaf35f8183d67b" }, "required_dependencies": [], "size": 826829, - "date_published": "2026-01-23T00:51:20.560Z" + "date_published": "2026-01-24T01:51:57.657Z" } ] }, @@ -13972,7 +13972,7 @@ "files": [ { "type": "modrinth", - "file_name": "tacz-tweaks-2.12.1-all.jar", + "file_name": "tacz-tweaks-2.12.2-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -13981,24 +13981,24 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/RMgTVnMg/tacz-tweaks-2.12.1-all.jar", - "id": "RMgTVnMg", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/JnqIQ9EH/tacz-tweaks-2.12.2-all.jar", + "id": "JnqIQ9EH", "parent_id": "H8peNuJG", "hashes": { - "sha512": "1ba717c181bd2211dbb82f23646d5e152bb8308475a74559b65f0ed027c55e89184ef058512cb5bb1a707e13155c609c929085510710e40f6df9baec1fc0bbf4", - "sha1": "92c9981e2e2f2edecab25ee48c5bade7a14298a8" + "sha512": "6ff5680072a972f9a597928745525a89c194d9c7701cda33ba386d1bf8a0ff0fe010d5bf63f467c3ef7d746896ac6a7678e98a7285b0254b926075d4170ac353", + "sha1": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80" }, "required_dependencies": [ + "1eAoo2KR", "ordsPcFz", - "SzzJttH8", - "1eAoo2KR" + "SzzJttH8" ], - "size": 1894147, - "date_published": "2026-01-22T14:38:58.126712Z" + "size": 1894239, + "date_published": "2026-01-24T10:14:48.372979Z" }, { "type": "curseforge", - "file_name": "tacz-tweaks-2.12.1-all.jar", + "file_name": "tacz-tweaks-2.12.2-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -14007,20 +14007,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7506/850/tacz-tweaks-2.12.1-all.jar", - "id": "7506850", + "url": "https://edge.forgecdn.net/files/7517/23/tacz-tweaks-2.12.2-all.jar", + "id": "7517023", "parent_id": "1193263", "hashes": { - "sha1": "92c9981e2e2f2edecab25ee48c5bade7a14298a8", - "md5": "d616e17cf5713a027acda0c47f7c98c7" + "sha1": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80", + "md5": "2b74092c813b98a27dad4b543808f61f" }, "required_dependencies": [ + "1028108", "667299", - "351264", - "1028108" + "351264" ], - "size": 1894147, - "date_published": "2026-01-22T14:38:49.923Z" + "size": 1894239, + "date_published": "2026-01-24T10:14:48.150Z" } ] }, From 77f52551f29ece71d9b4c767391c72efb84e1855 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 16:09:50 +0000 Subject: [PATCH 008/157] fix steel dupe via steel supports --- .../tfg/food/recipes.meal_bags.js | 21 +------------------ .../tfg/primitive/recipes.supports.js | 20 ++++-------------- 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js index f1d7cd128..4ac8c515a 100644 --- a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js +++ b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js @@ -85,24 +85,5 @@ function registerTFGMealBagRecipes(event) { ]).id(`tfg:shapeless/emptying/freeze_dried/${fruit.name}`) }) - // Recycling - event.recipes.gtceu.macerator('gtceu:macerator/recycling/clean_foil_pack') - .itemInputs('tfg:clean_foil_pack') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Aluminium, 1), - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Polyethylene, 1) - ) - .duration(GTMaterials.Aluminium.getMass() * 1) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/clean_foil_pack') - .itemInputs('tfg:clean_foil_pack') - .itemOutputs( - ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2), - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 1) - ) - .duration(GTMaterials.Aluminium.getMass() * 1) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + TFGHelpers.registerMaterialInfo('tfg:clean_foil_pack', [GTMaterials.Aluminium, 0.25, GTMaterials.Polyethylene, 0.25]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index dc5311736..e86cba890 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -103,16 +103,10 @@ function registerTFGSupportRecipes(event) { .circuit(11) .itemOutputs('8x tfg:rebar_support') .itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1)) + .addMaterialInfo(true) .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.macerator(`rebar_support_to_dust`) - .itemInputs(`tfg:rebar_support`) - .itemOutputs(`gtceu:tiny_steel_dust`) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - event.recipes.tfc.anvil( '1x tfg:steel_support', '#forge:double_ingots/steel', @@ -124,16 +118,10 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support') .circuit(11) - .itemOutputs('4x tfg:steel_support') - .itemInputs('2x #forge:double_ingots/steel') + .itemOutputs('2x tfg:steel_support') + .itemInputs('1x #forge:double_ingots/steel') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - .addMaterialInfo(true) - event.recipes.gtceu.macerator("steel_support_to_dust") - .itemInputs('tfg:steel_support') - .itemOutputs('2x gtceu:steel_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); + TFGHelpers.registerMaterialInfo('tfg:steel_support', [GTMaterials.Steel, 1]) } From e6a32b5b2e326ac937a3f31a74d0174b033aea4b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 18:54:48 +0000 Subject: [PATCH 009/157] add missing borax recipe, remove some other greate crap --- CHANGELOG.md | 1 + kubejs/server_scripts/greate/recipes.removes.js | 3 ++- kubejs/server_scripts/tfc/recipes.js | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29848e793..01a84b855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan +- Fixed missing borax to flux recipe @Pyritie ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 902e945f8..d50b81cc9 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -83,5 +83,6 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) - evevt.remove({ id: 'greate:mixing/brass_ingot' }) + event.remove({ id: 'greate:mixing/brass_ingot' }) + event.remove({ id: /^greate:.*\/integration\/createaddition/ }) } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 4289b3b0e..6bc85679e 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -240,4 +240,14 @@ const registerTFCRecipes = (event) => { .inputs('#tfc:foods/fruits', TFC.fluidStackIngredient('#tfg:alcohols', 250)) .outputFluid(Fluid.of('tfc:vinegar', 250)) .id('tfc:barrel/vinegar') + + // Borax to flux + event.recipes.tfc.quern('4x tfc:powder/flux', 'gtceu:borax_dust') + .id(`tfg:quern/borax`) + + event.recipes.gtceu.macerator('borax_to_flux') + .itemInputs("#forge:dusts/borax") + .itemOutputs("4x tfc:powder/flux") + .duration(50) + .EUt(2); } From 2f0b30cede7e75bf3761b408c502359514891cff Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 18:54:53 +0000 Subject: [PATCH 010/157] music! --- config/defaultoptions/options.txt | 4 +- .../occlusion.properties | 2 +- kubejs/assets/minecraft/sounds.json | 210 ++++++++++++++++++ kubejs/assets/tfg/sounds.json | 181 +++++++++++++++ .../data/ad_astra/worldgen/biome/orbit.json | 36 +++ .../biome/glacio/placeholder_biome.json | 8 +- .../tfg/worldgen/biome/mars/amber_edge.json | 2 +- .../tfg/worldgen/biome/mars/amber_hills.json | 2 +- .../tfg/worldgen/biome/mars/amber_plains.json | 2 +- .../biome/mars/martian_deep_desert.json | 2 +- .../biome/mars/martian_dune_edge.json | 2 +- .../worldgen/biome/mars/martian_dunes.json | 2 +- .../biome/mars/martian_mountains.json | 2 +- .../worldgen/biome/mars/martian_river.json | 2 +- .../worldgen/biome/mars/rusticus_edge.json | 2 +- .../worldgen/biome/mars/rusticus_hills.json | 2 +- .../worldgen/biome/mars/rusticus_plains.json | 2 +- .../tfg/worldgen/biome/mars/sangnum_edge.json | 2 +- .../worldgen/biome/mars/sangnum_hills.json | 2 +- .../worldgen/biome/mars/sangnum_plains.json | 2 +- .../biome/moon/lunar_asurine_dense.json | 8 +- .../biome/moon/lunar_asurine_sparse.json | 8 +- .../biome/moon/lunar_chorus_dense.json | 8 +- .../biome/moon/lunar_chorus_sparse.json | 8 +- .../biome/moon/lunar_corals_dense.json | 8 +- .../biome/moon/lunar_corals_sparse.json | 8 +- .../biome/moon/lunar_lights_dense.json | 8 +- .../biome/moon/lunar_lights_sparse.json | 8 +- .../tfg/worldgen/biome/moon/lunar_plains.json | 8 +- .../tfg/worldgen/biome/moon/lunar_sands.json | 8 +- .../tfg/worldgen/biome/nether/ash_forest.json | 2 +- .../worldgen/biome/nether/basalt_deltas.json | 2 +- .../biome/nether/decaying_caverns.json | 2 +- .../worldgen/biome/nether/diorite_caves.json | 2 +- .../worldgen/biome/nether/gabbro_caves.json | 2 +- .../worldgen/biome/nether/gneiss_caves.json | 2 +- .../worldgen/biome/nether/granite_caves.json | 2 +- .../tfg/worldgen/biome/nether/lava_floes.json | 2 +- .../worldgen/biome/nether/lush_hollow.json | 2 +- .../worldgen/biome/nether/schist_caves.json | 2 +- .../worldgen/biome/nether/webbed_lair.json | 2 +- .../tfg/worldgen/biome/venus/arachnoids.json | 6 + .../worldgen/biome/venus/fractured_pools.json | 6 + .../tfg/worldgen/biome/venus/fumaroles.json | 6 + .../tfg/worldgen/biome/venus/geysers.json | 6 + .../biome/venus/jagged_tablelands.json | 6 + .../tfg/worldgen/biome/venus/salt_flats.json | 6 + .../biome/venus/scorching_volcanoes.json | 6 + .../biome/venus/stromatolite_beach.json | 6 + .../worldgen/biome/venus/sulfuric_ravine.json | 6 + pakku-lock.json | 3 +- 51 files changed, 588 insertions(+), 40 deletions(-) create mode 100644 kubejs/assets/minecraft/sounds.json create mode 100644 kubejs/data/ad_astra/worldgen/biome/orbit.json diff --git a/config/defaultoptions/options.txt b/config/defaultoptions/options.txt index 67d33be82..d5b550ee3 100644 --- a/config/defaultoptions/options.txt +++ b/config/defaultoptions/options.txt @@ -3,12 +3,12 @@ resourcePacks:["vanilla","mod_resources","gtceu:dynamic_assets","Moonlight Mods incompatibleResourcePacks:["firmalife_data","file/Perfected Anvil Helper.zip"] narrator:0 soundCategory_master:1.0 -soundCategory_music:0.3 +soundCategory_music:0.4 soundCategory_record:1.0 soundCategory_weather:1.0 soundCategory_block:1.0 soundCategory_hostile:1.0 soundCategory_neutral:1.0 soundCategory_player:1.0 -soundCategory_ambient:0.3 +soundCategory_ambient:0.7 soundCategory_voice:1.0 \ No newline at end of file diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties index 53adea71f..d9f11a406 100644 --- a/config/sound_physics_remastered/occlusion.properties +++ b/config/sound_physics_remastered/occlusion.properties @@ -216,4 +216,4 @@ minecraft\:jukebox=0.0 # Lava (Block) minecraft\:lava=0.75 # Water (Block) -minecraft\:water=0.25 +\#minecraft\:water=0.25 diff --git a/kubejs/assets/minecraft/sounds.json b/kubejs/assets/minecraft/sounds.json new file mode 100644 index 000000000..1580bf5cf --- /dev/null +++ b/kubejs/assets/minecraft/sounds.json @@ -0,0 +1,210 @@ +{ + "music.game": { + "replace": true, + "sounds": [ + { + "name": "tfc:music/m0-dreams_of_the_phae", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m1-firmavista", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m2-sycamore_heights", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m3-terrafirmacraft", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m4-through_the_willows", + "stream": true, + "weight": 4 + }, + { + "name": "minecraft:music/game/creative/creative2", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative3", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative4", + "stream": true + }, + { + "name": "minecraft:music/game/nether/nether2", + "stream": true + }, + { + "name": "minecraft:music/game/swamp/aerie", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/swamp/firebugs", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/swamp/labyrinthine", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/axolotl", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/dragon_fish", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/shuniji", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/a_familiar_room", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/an_ordinary_day", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/bromeliad", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/comforting_memories", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/crescent_dunes", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/echo_in_the_wind", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/floating_dream", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/hal1", + "stream": true + }, + { + "name": "minecraft:music/game/hal2", + "stream": true + }, + { + "name": "minecraft:music/game/hal3", + "stream": true + }, + { + "name": "minecraft:music/game/hal4", + "stream": true + }, + { + "name": "minecraft:music/game/infinite_amethyst", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/left_to_bloom", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/one_more_day", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/stand_tall", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/wending", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/menu/menu1", + "stream": true + }, + { + "name": "minecraft:music/menu/menu2", + "stream": true + }, + { + "name": "minecraft:music/menu/menu3", + "stream": true + }, + { + "name": "minecraft:music/menu/menu4", + "stream": true + }, + { + "name": "minecraft:records/blocks", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:records/mall", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:records/strad", + "stream": true, + "volume": 0.4 + } + ] + }, + "music.menu": { + "replace": true, + "sounds": [ + { + "name": "tfc:music/m0-dreams_of_the_phae", + "stream": true + }, + { + "name": "tfc:music/m1-firmavista", + "stream": true + }, + { + "name": "tfc:music/m2-sycamore_heights", + "stream": true + }, + { + "name": "tfc:music/m3-terrafirmacraft", + "stream": true + }, + { + "name": "tfc:music/m4-through_the_willows", + "stream": true + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 56ed1adba..45cc75407 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -311,6 +311,58 @@ "minecraft:ambient/nether/nether_wastes/mood5" ] }, + "music.nether": { + "sounds": [ + { + "name": "minecraft:music/game/nether/nether1", + "stream": true + }, + { + "name": "minecraft:music/game/nether/nether3", + "stream": true + }, + { + "name": "minecraft:music/game/nether/nether_wastes/rubedo", + "stream": true, + "volume": 0.5 + }, + { + "name": "minecraft:music/game/water/axolotl", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/nether/soulsand_valley/so_below", + "stream": true, + "volume": 0.5 + }, + { + "name": "minecraft:music/game/ancestry", + "stream": true, + "volume": 0.4 + } + ] + }, + "music.orbit": { + "sounds": [ + { + "name": "minecraft:music/game/piano3", + "stream": true + }, + { + "name": "minecraft:music/game/calm1", + "stream": true + }, + { + "name": "minecraft:music/game/calm2", + "stream": true + }, + { + "name": "minecraft:music/game/calm3", + "stream": true + } + ] + }, "ambient.moon.additions": { "sounds": [ { @@ -377,6 +429,31 @@ "minecraft:ambient/nether/warped_forest/mood8" ] }, + "music.moon": { + "sounds": [ + { + "name": "minecraft:music/game/end/end", + "stream": true + }, + { + "name": "minecraft:music/game/floating_dream", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/nuance1", + "stream": true + }, + { + "name": "minecraft:music/game/nuance2", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative6", + "stream": true + } + ] + }, "ambient.mars_desert.loop": { "sounds": [ { @@ -583,6 +660,49 @@ "minecraft:ambient/nether/warped_forest/creak5" ] }, + "music.mars": { + "sounds": [ + { + "name": "minecraft:music/game/creative/creative1", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative2", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative3", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative4", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative5", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative6", + "stream": true + }, + { + "name": "minecraft:music/game/crescent_dunes", + "stream": true, + "volume": 0.4, + "weight": 2 + }, + { + "name": "minecraft:records/far", + "stream": true + }, + { + "name": "minecraft:records/otherside", + "stream": true, + "volume": 0.3 + } + ] + }, "ambient.venus_surface.loop": { "sounds": [ { @@ -754,5 +874,66 @@ "minecraft:ambient/nether/crimson_forest/shine2", "minecraft:ambient/nether/crimson_forest/shine3" ] + }, + "music.venus": { + "sounds": [ + { + "name": "minecraft:music/game/nether/nether1", + "stream": true, + "weight": 2 + }, + { + "name": "minecraft:music/game/nether/nether3", + "stream": true, + "weight": 2 + }, + { + "name": "minecraft:music/game/nether/nether4", + "stream": true, + "weight": 2 + }, + { + "name": "minecraft:music/game/nether/crimson_forest/chrysopoeia", + "stream": true, + "volume": 0.5, + "weight": 3 + }, + { + "name": "minecraft:music/game/nether/nether_wastes/rubedo", + "stream": true, + "volume": 0.5, + "weight": 3 + }, + { + "name": "minecraft:music/game/nether/soulsand_valley/so_below", + "stream": true, + "volume": 0.5, + "weight": 3 + }, + { + "name": "minecraft:music/game/piano3", + "stream": true + } + ] + }, + + "music.europa": { + "sounds": [ + { + "name": "minecraft:music/game/water/axolotl", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/dragon_fish", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/shuniji", + "stream": true, + "volume": 0.4 + } + ] } } \ No newline at end of file diff --git a/kubejs/data/ad_astra/worldgen/biome/orbit.json b/kubejs/data/ad_astra/worldgen/biome/orbit.json new file mode 100644 index 000000000..6ca112af5 --- /dev/null +++ b/kubejs/data/ad_astra/worldgen/biome/orbit.json @@ -0,0 +1,36 @@ +{ + "carvers": {}, + "downfall": 0.0, + "effects": { + "fog_color": 0, + "mood_sound": { + "block_search_extent": 8, + "offset": 2.0, + "sound": "minecraft:ambient.cave", + "tick_delay": 6000 + }, + "sky_color": 0, + "water_color": 4159204, + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.orbit" + } + }, + "features": [], + "has_precipitation": false, + "spawn_costs": {}, + "spawners": { + "ambient": [], + "axolotls": [], + "creature": [], + "misc": [], + "monster": [], + "underground_water_creature": [], + "water_ambient": [], + "water_creature": [] + }, + "temperature": 0.5 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json index 3af86fa03..11a0ae5ca 100644 --- a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json +++ b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json @@ -13,7 +13,13 @@ }, "sky_color": 12638463, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.europa" + } }, "features": [ [ diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index ff69d8291..d33b3d3a3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index 123397ed4..c8264b7a0 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index 449c418df..b364fb13d 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json index 55dc40cb3..e0b3ae626 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -22,7 +22,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json index bc287325a..27cee44c3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -22,7 +22,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index 5a6be0ee6..c8643ae89 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -22,7 +22,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 36fc33433..fcddd858c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index 526e0aac2..6d52544c7 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index 426622e37..d6eda6457 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 51da6391a..972f04a2a 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index fc74372ce..baec9fb2f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index 9ec2931ea..8c54913ea 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index ea1dd0460..9fb85c03b 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index c121e5c92..799884b3d 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json index bdcadd76f..4cac815ef 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json index 01404bf9a..f02dcffe1 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json index e1b31499f..3ad07802a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json index 78f29f76c..ca03953f6 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json index 71e451418..2ed2f3417 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json index 7fa136647..00f00a73d 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json index daaa5ff95..6543331b8 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json index 2318e94fa..c3b22c181 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index ce6e50d86..70de199b4 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index 1413884ea..ac2bd7dd3 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 4e1407e4f..373ec8433 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.basalt_deltas" + "sound": "tfg:music.nether" }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 021ca0904..000b82cee 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.basalt_deltas" + "sound": "tfg:music.nether" }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 46ba6d62b..ecd04d04b 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.swamp" + "sound": "tfg:music.nether" }, "sky_color": 7369031, "water_color": 6388580, diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index 2eda606b4..e6151c614 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 9868701, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index 924c75418..be32b9025 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 5855333, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 318f7de01..8704fd4fc 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 5ff94fd88..245b0efaa 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 9533575, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index 1772b420e..34acd86f3 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.basalt_deltas" + "sound": "tfg:music.nether" }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index d7992093e..37ad103be 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.lush_caves" + "sound": "tfg:music.nether" }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 77e64f7b3..62179da9d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 7175789, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 709636995..3649311ef 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -15,7 +15,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.dripstone_caves" + "sound": "tfg:music.nether" }, "additions_sound": { "sound": "tfg:ambient.upper_nether_cave.additions", diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index b5131ddc6..d25e960e3 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index cb3acbedb..42778b30b 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index f5cddc92c..d804e9ef3 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.03 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 63937fc35..2300b4e28 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.07 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 2a092a303..8ab9b85f4 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.02 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 8415a8167..ab90d033f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.02 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 7bd62eebb..e17187968 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.1 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 7ac1a7cf5..504b50089 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 2088c8478..841f118df 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/pakku-lock.json b/pakku-lock.json index b98f4acab..476d7096d 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -187,7 +187,8 @@ }, { "pakku_id": "tIIGT85PQd5pJGf0", - "type": "MOD", + "type": "RESOURCE_PACK", + "side": "CLIENT", "slug": { "github": "Frontiers-PackForge/AE2-Midnight-and-Daybreak" }, From 6f55cde40fadac72c8100750e73c4e1ea0b787a2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 16:58:06 +0000 Subject: [PATCH 011/157] steam alloy smelter glass batch recipes #2853 --- CHANGELOG.md | 2 + kubejs/assets/tfg/sounds.json | 10 +++- .../ores_and_materials/recipes.quartzes.js | 52 ++++++++++++++----- 3 files changed, 50 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01a84b855..aee86aa42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,9 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie +- Added steam alloy smelter glass batch recipes (#2853) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 45cc75407..7adb8d046 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -916,7 +916,15 @@ } ] }, - + "music.mercury": { + "sounds": [ + { + "name": "minecraft:records/13", + "stream": true, + "volume": 0.4 + } + ] + }, "music.europa": { "sounds": [ { diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js index 3214c5bed..eee2285b4 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -35,11 +35,12 @@ function registerTFGQuartzRecipes(event) { { input: "tfc:silica_glass_batch", output: "tfc:silica_glass_bottle", name: "silica_glass_bottle" }, { input: "tfc:hematitic_glass_batch", output: "tfc:hematitic_glass_bottle", name: "hematitic_glass_bottle" }, { input: "tfc:olivine_glass_batch", output: "tfc:olivine_glass_bottle", name: "olivine_glass_bottle" }, - { input: "tfc:volcanic_glass_batch", output: "tfc:volcanic_glass_bottle", name: "volcanic_glass_bottle" } + { input: "tfc:volcanic_glass_batch", output: "tfc:volcanic_glass_bottle", name: "volcanic_glass_bottle" }, + { input: '#forge:dusts/glass', output: "tfc:silica_glass_bottle", name: "glass_dust_to_bottle" } ]); TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) + event.recipes.gtceu.alloy_smelter(`tfg:${element.name}`) .itemInputs(element.input) .notConsumable('gtceu:bottle_casting_mold') .itemOutputs(element.output) @@ -95,12 +96,14 @@ function registerTFGQuartzRecipes(event) { .duration(50) .EUt(2) + // Extracting event.recipes.gtceu.extractor('tfg:glass_batch_extraction') .itemInputs('#tfc:glass_batches') .outputFluids(Fluid.of('gtceu:glass', 144)) .duration(50) .EUt(2) + // TFC lens event.recipes.gtceu.lathe('tfg:tfc_lens') .itemInputs('#forge:glass') .itemOutputs('tfc:lens') @@ -131,26 +134,49 @@ function registerTFGQuartzRecipes(event) { "#forge:glass" ); - - event.recipes.gtceu.alloy_smelter('glass_bottle') - .itemInputs('#forge:dusts/glass') - .itemOutputs('tfc:silica_glass_bottle') - .notConsumable('gtceu:bottle_casting_mold') - .EUt(2) - .duration(20 * 5) - .category(GTRecipeCategories.INGOT_MOLDING) + // Glass blocks + event.recipes.gtceu.alloy_smelter('tfg:clear_glass_block_from_batch') + .itemInputs('tfc:silica_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); + event.recipes.gtceu.alloy_smelter('tfg:orange_glass_block_from_batch') + .itemInputs('tfc:hematitic_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:orange_stained_glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); + + event.recipes.gtceu.alloy_smelter('tfg:green_glass_block_from_batch') + .itemInputs('tfc:olivine_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:green_stained_glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); + + event.recipes.gtceu.alloy_smelter('tfg:blue_glass_block_from_batch') + .itemInputs('tfc:volcanic_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:blue_stained_glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); // Glass Tube event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) .id('tfg:gtceu/glassworking/glass_tube') event.recipes.gtceu.alloy_smelter('tfg:glass_tube_from_batch') - .itemInputs('#tfc:glass_batches') + .itemInputs('#tfc:glass_batches_tier_3') .notConsumable('gtceu:ball_casting_mold') .itemOutputs('gtceu:glass_tube') - .duration(8 * 20) - .EUt(GTValues.VA[GTValues.LV]) + .duration(16 * 20) + .EUt(16) .category(GTRecipeCategories.INGOT_MOLDING); //#endregion } From 1f3e72206d112ad358bc245a432631e221c3f4cb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 17:07:25 +0000 Subject: [PATCH 012/157] put this deprecated tooltip on the FE p2p tunnel --- kubejs/client_scripts/tooltips.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 9ec39e3f0..6f8c264c6 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -402,7 +402,7 @@ const registerTooltips = (event) => { }) // Deprecated Items - event.addAdvanced(['vintageimprovements:lathe'], (item, advanced, text) => { + event.addAdvanced(['vintageimprovements:lathe', 'ae2:fe_p2p_tunnel'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.obsolete.depreciated')) }) From 91f41fc8d753d8b0d22ba20ca2dbbe29e54198b5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 18:57:38 +0000 Subject: [PATCH 013/157] does this fix music? --- kubejs/data/tfg/worldgen/biome/mars/amber_edge.json | 4 +++- kubejs/data/tfg/worldgen/biome/mars/amber_hills.json | 4 +++- .../data/tfg/worldgen/biome/mars/amber_plains.json | 4 +++- .../tfg/worldgen/biome/mars/martian_deep_desert.json | 4 +++- .../tfg/worldgen/biome/mars/martian_dune_edge.json | 4 +++- .../data/tfg/worldgen/biome/mars/martian_dunes.json | 4 +++- .../tfg/worldgen/biome/mars/martian_mountains.json | 4 +++- .../data/tfg/worldgen/biome/mars/martian_river.json | 4 +++- .../data/tfg/worldgen/biome/mars/rusticus_edge.json | 4 +++- .../data/tfg/worldgen/biome/mars/rusticus_hills.json | 4 +++- .../tfg/worldgen/biome/mars/rusticus_plains.json | 4 +++- .../data/tfg/worldgen/biome/mars/sangnum_edge.json | 4 +++- .../data/tfg/worldgen/biome/mars/sangnum_hills.json | 4 +++- .../data/tfg/worldgen/biome/mars/sangnum_plains.json | 4 +++- kubejs/startup_scripts/tfg/sounds.js | 12 ++++++++++-- 15 files changed, 52 insertions(+), 16 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index d33b3d3a3..6a32c043f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index c8264b7a0..c4197ddb0 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index b364fb13d..9db57c216 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json index e0b3ae626..995e337d6 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -22,7 +22,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json index 27cee44c3..455793a48 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -22,7 +22,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index c8643ae89..21b1c4bba 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -22,7 +22,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index fcddd858c..56f61b571 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index 6d52544c7..ea6e3cd87 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index d6eda6457..add6a2c08 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 972f04a2a..e5d56f973 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index baec9fb2f..209823d94 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index 8c54913ea..f14203a29 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index 9fb85c03b..cc71e25bc 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index 799884b3d..cce3e0a2c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/startup_scripts/tfg/sounds.js b/kubejs/startup_scripts/tfg/sounds.js index b169ac3d1..f6325cc71 100644 --- a/kubejs/startup_scripts/tfg/sounds.js +++ b/kubejs/startup_scripts/tfg/sounds.js @@ -7,23 +7,31 @@ function registerTFGSounds(event) { event.create('tfg:ambient.upper_nether_cave.loop') event.create('tfg:ambient.upper_nether.additions') event.create('tfg:ambient.upper_nether.mood') - event.create('tfg:ambient.lower_nether.loop') event.create('tfg:ambient.lower_nether.additions') event.create('tfg:ambient.lower_nether.mood') + event.create('tfg:music.nether') + + event.create('tfg:music.orbit') event.create('tfg:ambient.moon.additions') event.create('tfg:ambient.moon.mood') + event.create('tfg:music.moon') event.create('tfg:ambient.mars_desert.loop') event.create('tfg:ambient.mars_desert.additions') event.create('tfg:ambient.mars_desert.mood') - event.create('tfg:ambient.mars_land.loop') event.create('tfg:ambient.mars_land.additions') event.create('tfg:ambient.mars_land.mood') + event.create('tfg:music.mars') event.create('tfg:ambient.venus_surface.loop') event.create('tfg:ambient.venus_surface.additions') event.create('tfg:ambient.venus_surface.mood') + event.create('tfg:music.venus') + + event.create('tfg:music.mercury') + + event.create('tfg:music.europa') } \ No newline at end of file From 4b8b03ebeeef7c8b670aeaf1a312370b9a0f440f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 19:52:33 +0000 Subject: [PATCH 014/157] fixed rolling mill not creating horseshoes --- kubejs/server_scripts/sacksnstuff/recipes.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index fc0ba14d7..95b7d2e84 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -247,10 +247,11 @@ const registerSNSRecipes = (event) => { .circuit(4) .duration(40) .EUt(GTValues.VA[GTValues.LV]) + event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), - result: 'sns:metal/horseshoe/steel' + result: { item: 'sns:metal/horseshoe/steel' } }).id(`tfg:rolling/steel_horseshoe`) event.recipes.gtceu.bender('sns:horseshoe_black_steel_electric_only') @@ -262,7 +263,7 @@ const registerSNSRecipes = (event) => { event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1), - result: 'sns:metal/horseshoe/black_steel' + result: { item: 'sns:metal/horseshoe/black_steel' } }).id(`tfg:rolling/black_steel_horseshoe`) event.recipes.gtceu.bender('sns:horseshoe_blue_steel_electric_only') @@ -274,7 +275,7 @@ const registerSNSRecipes = (event) => { event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlueSteel, 1), - result: 'sns:metal/horseshoe/blue_steel' + result: { item: 'sns:metal/horseshoe/blue_steel' } }).id(`tfg:rolling/blue_steel_horseshoe`) event.recipes.gtceu.bender('sns:horseshoe_red_steel_electric_only') @@ -286,6 +287,6 @@ const registerSNSRecipes = (event) => { event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.RedSteel, 1), - result: 'sns:metal/horseshoe/red_steel' + result: { item: 'sns:metal/horseshoe/red_steel' } }).id(`tfg:rolling/red_steel_horseshoe`) } From 84368b249c01ddc294bcb3fd7c092d0b93791e57 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 22:21:07 +0000 Subject: [PATCH 015/157] fix music for realsies --- kubejs/data/ad_astra/worldgen/biome/orbit.json | 4 +++- kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/ash_forest.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/granite_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/lava_floes.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/schist_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/arachnoids.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/fumaroles.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/geysers.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/salt_flats.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json | 4 +++- 32 files changed, 96 insertions(+), 32 deletions(-) diff --git a/kubejs/data/ad_astra/worldgen/biome/orbit.json b/kubejs/data/ad_astra/worldgen/biome/orbit.json index 6ca112af5..876da29bb 100644 --- a/kubejs/data/ad_astra/worldgen/biome/orbit.json +++ b/kubejs/data/ad_astra/worldgen/biome/orbit.json @@ -16,7 +16,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.orbit" + "sound": { + "sound_id": "tfg:music.orbit" + } } }, "features": [], diff --git a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json index 11a0ae5ca..228206b0c 100644 --- a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json +++ b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json @@ -18,7 +18,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.europa" + "sound": { + "sound_id": "tfg:music.europa" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json index 4cac815ef..357b5aab2 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json index f02dcffe1..21e7a52e9 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json index 3ad07802a..bba025310 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json index ca03953f6..98b98947b 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json index 2ed2f3417..70d22cd44 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json index 00f00a73d..39daf8d7f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json index 6543331b8..6001fb80e 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json index c3b22c181..318c3c8a7 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index 70de199b4..6d378c21f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index ac2bd7dd3..cf1517a6a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 373ec8433..6a3b7836d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 000b82cee..f5ccb984a 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index ecd04d04b..d4a164b95 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 7369031, "water_color": 6388580, diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index e6151c614..1d524fbab 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 9868701, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index be32b9025..72f3bfcea 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 5855333, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 8704fd4fc..a0b779890 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 245b0efaa..4aba461b6 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 9533575, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index 34acd86f3..76e2de4ed 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index 37ad103be..a5a9a0a28 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 62179da9d..d75fbfb33 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 7175789, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 3649311ef..53a8dba20 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -15,7 +15,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "additions_sound": { "sound": "tfg:ambient.upper_nether_cave.additions", diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index d25e960e3..95fb1affa 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index 42778b30b..9f2b96211 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index d804e9ef3..143ac2e11 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 2300b4e28..843cfe253 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 8ab9b85f4..61ec76bf1 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index ab90d033f..2e46cbaf2 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index e17187968..720efe591 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 504b50089..820b5ad67 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 841f118df..fc2615b45 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ From af57d9a37c7ce0bffbb8368387f9a89f6f36b1e3 Mon Sep 17 00:00:00 2001 From: silllil Date: Mon, 26 Jan 2026 01:48:52 +0100 Subject: [PATCH 016/157] changed the colors required for different coloured bricks (#2859) Co-authored-by: Lily Oelbeck --- kubejs/server_scripts/createdeco/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index ff015f84f..bf47b6af5 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -138,7 +138,7 @@ const registerCreatedecoRecipes = (event) => { //#endregion //#region Brick Recipes - const dyeTypes = ['blue', 'green', 'white', 'yellow', 'black', 'red', 'brown'] + const dyeTypes = ['black', 'red', 'gray', 'green', 'blue', 'white', 'brown'] global.CREATE_DECO_BRICK_TYPES.forEach((type, index) => { event.remove({ output: `createdeco:${type}_bricks` }); From 75b0cea0000f0982faf8ea11287ee5eddffa4f41 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 25 Jan 2026 19:22:50 -0600 Subject: [PATCH 017/157] Artisan Table (#2857) * artisan table merging (#2766) * these should be good * Update recipes.miscellaneous.js * little typo Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> * fix typo, my bad gang * fix charnia * fixed recycling issues from the material rewrite, updated everything to the new recycling helper method * I'll move these eventually --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: Pyritie * artisan table assets * asset update * Update recipes.artisan_table.js * asset update * lang * tag refactor * waiter! more assets please * recipes * done? * I forgor --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: Pyritie --- .../quests/chapters/questssteam_age.snbt | 21 +- .../assets/tfg/blockstates/artisan_table.json | 19 + kubejs/assets/tfg/lang/en_us.json | 6 +- .../tfg/models/block/artisan_table.json | 468 ++++++++++++++ .../assets/tfg/models/item/artisan_table.json | 3 + .../tfg/textures/block/artisan_table.png | Bin 0 -> 1157 bytes .../tfg/textures/block/artisan_table_n.png | Bin 0 -> 104 bytes .../tfg/textures/block/artisan_table_s.png | Bin 0 -> 330 bytes .../gui/artisan_table/artisan_table.png | Bin 0 -> 3744 bytes .../artisan_table/blank_phenolic_board.png | Bin 0 -> 220 bytes .../gui/artisan_table/blank_resin_board.png | Bin 0 -> 230 bytes .../gui/artisan_table/casting_mold_active.png | Bin 0 -> 204 bytes .../gui/artisan_table/casting_mold_border.png | Bin 0 -> 1646 bytes .../artisan_table/casting_mold_inactive.png | Bin 0 -> 212 bytes .../artisan_table/extruder_mold_active.png | Bin 0 -> 208 bytes .../artisan_table/extruder_mold_border.png | Bin 0 -> 1367 bytes .../artisan_table/phenolic_board_border.png | Bin 0 -> 1054 bytes .../phenolic_board_border_4x.png | Bin 0 -> 1197 bytes .../artisan_table/printed_phenolic_board.png | Bin 0 -> 451 bytes .../gui/artisan_table/printed_resin_board.png | Bin 0 -> 439 bytes .../gui/artisan_table/resin_board_border.png | Bin 0 -> 1068 bytes .../artisan_table/resin_board_border_4x.png | Bin 0 -> 1216 bytes .../tfg/loot_tables/blocks/artisan_table.json | 20 + kubejs/server_scripts/tacz/recipes.misc.js | 32 - .../tfg/machines/recipes.molds.js | 340 ++--------- .../tfg/primitive/recipes.artisan_table.js | 572 ++++++++++++++++++ .../tfg/primitive/tags.primitive.js | 17 +- kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/recipes.miscellaneous.js | 1 + kubejs/server_scripts/tfg/tags.js | 1 + 30 files changed, 1170 insertions(+), 331 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/artisan_table.json create mode 100644 kubejs/assets/tfg/models/block/artisan_table.json create mode 100644 kubejs/assets/tfg/models/item/artisan_table.json create mode 100644 kubejs/assets/tfg/textures/block/artisan_table.png create mode 100644 kubejs/assets/tfg/textures/block/artisan_table_n.png create mode 100644 kubejs/assets/tfg/textures/block/artisan_table_s.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/artisan_table.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/blank_phenolic_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/blank_resin_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_active.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_inactive.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_active.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border_4x.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/printed_phenolic_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/printed_resin_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/resin_board_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/resin_board_border_4x.png create mode 100644 kubejs/data/tfg/loot_tables/blocks/artisan_table.json create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 063f32332..433379c42 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -695,14 +695,21 @@ shape: "square" size: 1.0d subtitle: "{quests.steam_age.circuit_boards.subtitle}" - tasks: [{ - id: "2B8B038789480789" - item: "gtceu:resin_printed_circuit_board" - type: "item" - }] + tasks: [ + { + id: "2B8B038789480789" + item: "gtceu:resin_printed_circuit_board" + type: "item" + } + { + id: "171A20DD9F208437" + item: "tfg:artisan_table" + type: "item" + } + ] title: "{quests.steam_age.circuit_boards.title}" - x: -9.5d - y: 10.5d + x: -10.0d + y: 10.0d } { dependencies: ["46FA9DD4755A5548"] diff --git a/kubejs/assets/tfg/blockstates/artisan_table.json b/kubejs/assets/tfg/blockstates/artisan_table.json new file mode 100644 index 000000000..ab7af4fcc --- /dev/null +++ b/kubejs/assets/tfg/blockstates/artisan_table.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/artisan_table", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/artisan_table" + }, + "facing=south": { + "model": "tfg:block/artisan_table", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/artisan_table", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 3075912c4..c7ae766bd 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -810,6 +810,8 @@ "block.tfg.impure_moderate_core": "Impure Moderate Core", "block.tfg.moderate_core_frame": "Moderate Core Frame", "block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "tfg.block_entity.artisan_table": "Artisan Table", + "block.tfg.artisan_table": "Artisan Table", "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", @@ -1746,6 +1748,8 @@ "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "tfg.tooltip.component.smr_generator_1": "§eBase Production:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "Dedicated to produce power from sCO2 and the Small Modular Reactor.\n Use Lubricant and Booster to increase its efficiency and manage the cooling loop of the SMR.", + "tfg.tooltip.show_recipes": "Show Recipes", + "emi.category.tfg.artisan_table": "Artisan Table", "tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn", "tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff", "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", @@ -4017,7 +4021,7 @@ "quests.steam_age.resin_boards.desc": "Did you know tree taps can drip directly into GregTech pipes and drums? Now you do!", "quests.steam_age.circuit_boards.title": "Electronics #2: Circuit Boards", "quests.steam_age.circuit_boards.subtitle": "The easier component for circuits", - "quests.steam_age.circuit_boards.desc": "Combine those Resin Circuit Boards with some Copper Wires and you've got the base for your first &aCircuit&r!", + "quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.", "quests.steam_age.vacuum_chamber.title": "Vacuum Chamber", "quests.steam_age.vacuum_chamber.subtitle": "Putting the Vacuum in Vacuum Tubes", "quests.steam_age.vacuum_chamber.desc": "This machine is the final step in making your first Vacuum Tubes. Place it above a Basin and give it some power, and make sure the machine is set to Vacuumizing mode.\n\nThis machine can also help liquefy glue and rubber while being heated by either a Charcoal Forge or a Blaze Burner.", diff --git a/kubejs/assets/tfg/models/block/artisan_table.json b/kubejs/assets/tfg/models/block/artisan_table.json new file mode 100644 index 000000000..5219925d6 --- /dev/null +++ b/kubejs/assets/tfg/models/block/artisan_table.json @@ -0,0 +1,468 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/artisan_table", + "particle": "#0" + }, + "elements": [ + { + "from": [0.98, 0, 1], + "to": [2.98, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 1, 3]}, + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 12], + "to": [3, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 1, 14]}, + "faces": { + "north": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [13, 0, 12], + "to": [15, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 1, 14]}, + "faces": { + "north": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [13.02, 0, 1], + "to": [15.02, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [15.1, 1, 3]}, + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [0.5, 3, 14], + "to": [3.5, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 3, 16]}, + "faces": { + "north": {"uv": [0, 0, 1.5, 6], "texture": "#0"}, + "east": {"uv": [1.5, 0, 2.5, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 6], "texture": "#0"}, + "west": {"uv": [2.5, 0, 1.5, 6], "texture": "#0"}, + "up": {"uv": [2.5, 0, 4, 1], "texture": "#0"}, + "down": {"uv": [2.5, 1, 4, 0], "texture": "#0"} + } + }, + { + "from": [0.4, 13.1, 14.5], + "to": [3.6, 15.1, 15.5], + "rotation": {"angle": 0, "axis": "y", "origin": [3.5, 14.1, 15.5]}, + "faces": { + "north": {"uv": [14.5, 15, 16, 16], "texture": "#0"}, + "east": {"uv": [3.5, 1, 4, 1.5], "texture": "#0"}, + "south": {"uv": [14.5, 15, 16, 16], "texture": "#0"}, + "west": {"uv": [2.5, 1, 3.5, 1.5], "texture": "#0"}, + "up": {"uv": [4, 1.5, 2.5, 1], "texture": "#0"}, + "down": {"uv": [16, 16, 14.5, 15.5], "texture": "#0"} + } + }, + { + "from": [1.5, 7.5, 11], + "to": [2.5, 8.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 7.5, 17]}, + "faces": { + "north": {"uv": [0, 6, 0.5, 6.5], "texture": "#0"}, + "east": {"uv": [3, 6, 0, 6.5], "texture": "#0"}, + "south": {"uv": [2.5, 6, 3, 6.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 6.5], "texture": "#0"}, + "up": {"uv": [0, 6.5, 3, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3, 6.5, 0, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0.6, 5.7, 16.5], + "to": [1.6, 9.7, 16.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [1.6, 5.7, 16.5]}, + "faces": { + "north": {"uv": [0, 6, 2, 6.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 6, 2, 6.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [16, 16, 15.5, 15.5], "texture": "#0"}, + "down": {"uv": [16, 15.5, 15.5, 16], "texture": "#0"} + } + }, + { + "from": [13.5, 9, 3], + "to": [14.5, 13, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11, 11]}, + "faces": { + "north": {"uv": [9.5, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [5.5, 0, 6, 2], "texture": "#0"}, + "west": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [10, 0.5, 5.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 2, 10, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1.5, 9, 3], + "to": [2.5, 13, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 11, 11]}, + "faces": { + "north": {"uv": [9.5, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [5.5, 0, 6, 2], "texture": "#0"}, + "west": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [10, 0.5, 5.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 2, 10, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 9, 12.5], + "to": [7, 13, 13.5], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 11, 13.5]}, + "faces": { + "north": {"uv": [6, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [7.5, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 6.5, 2], "texture": "#0"}, + "up": {"uv": [8, 0.5, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2, 8, 1.5], "texture": "#0"} + } + }, + { + "from": [3, 9, 1.5], + "to": [13, 18, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 9, 3.5]}, + "faces": { + "north": {"uv": [10, 0, 15, 4.5], "texture": "#0"}, + "east": {"uv": [10, 0, 10.5, 4.5], "texture": "#0"}, + "south": {"uv": [15, 0, 10, 4.5], "texture": "#0"}, + "west": {"uv": [14.5, 0, 15, 4.5], "texture": "#0"}, + "up": {"uv": [15, 0.5, 10, 0], "texture": "#0"}, + "down": {"uv": [15, 4.5, 10, 4], "texture": "#0"} + } + }, + { + "from": [3, 7, 1], + "to": [13, 9, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 7, 3]}, + "faces": { + "north": {"uv": [15, 2.5, 16, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2.5, 1.5, 3.5, 2.5], "texture": "#0"}, + "south": {"uv": [15, 2.5, 16, 7.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2.5, 1.5, 3.5, 2.5], "texture": "#0"}, + "up": {"uv": [16, 7.5, 15, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 7.5, 15, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [7, 9, 5.5], + "to": [13, 13, 14.5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 11, 14.5]}, + "faces": { + "north": {"uv": [0, 6.5, 3, 8.5], "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 6.5, 3, 8.5], "texture": "#0"}, + "west": {"uv": [2.5, 8, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 3, 12.5], "texture": "#0"}, + "down": {"uv": [0, 8, 3, 12.5], "texture": "#0"} + } + }, + { + "from": [8.5, 9.5, 14.5], + "to": [11.5, 11.5, 14.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [11.5, 11.5, 14.5]}, + "faces": { + "north": {"uv": [2.5, 2.5, 4, 3.5], "texture": "#0"}, + "east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "south": {"uv": [2.5, 2.5, 4, 3.5], "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [16, 16, 15.5, 15.5], "texture": "#0"}, + "down": {"uv": [16, 15.5, 15.5, 16], "texture": "#0"} + } + }, + { + "name": "mold", + "from": [6, 14.2, 5.5], + "to": [11, 14.2, 10.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [11, 14.2, 10.5]}, + "faces": { + "north": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "east": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "south": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "west": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "up": {"uv": [7, 15, 4.5, 12.5], "texture": "#0"}, + "down": {"uv": [2.5, 2.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "top", + "from": [1, 13, 2], + "to": [15, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 13, 6]}, + "faces": { + "north": {"uv": [15, 4.5, 8, 5], "texture": "#0"}, + "east": {"uv": [14.5, 4.5, 15, 10.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8, 10, 15, 10.5], "texture": "#0"}, + "west": {"uv": [8.5, 10.5, 8, 4.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4.5, 15, 10.5], "texture": "#0"}, + "down": {"uv": [8, 10.5, 15, 4.5], "texture": "#0"} + } + }, + { + "name": "paper", + "from": [1.8, 14.1, 5.8], + "to": [10.8, 14.1, 12.8], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8.8, 14.1, 12.8]}, + "faces": { + "north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "east": {"uv": [15.5, 16, 16, 15.5], "texture": "#0"}, + "south": {"uv": [15.5, 16, 16, 15.5], "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 12.5, 4.5, 16], "texture": "#0"}, + "down": {"uv": [4.5, 16, 0, 12.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 2.5], + "to": [12, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 14, 3.5]}, + "faces": { + "north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"} + } + }, + { + "from": [10.9, 17, 2.6], + "to": [11.9, 21, 2.6], + "rotation": {"angle": 45, "axis": "y", "origin": [11.9, 17, 2.6]}, + "faces": { + "north": {"uv": [3.5, 4, 4, 6], "texture": "#0"}, + "east": {"uv": [0, 1.5, 0, 3], "texture": "#0"}, + "south": {"uv": [3.5, 4, 4, 6], "texture": "#0"}, + "west": {"uv": [1, 1.5, 1, 3], "texture": "#0"}, + "up": {"uv": [0.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0.5, 1, 0, 1], "texture": "#0"} + } + }, + { + "from": [9.5, 14, 2.5], + "to": [10.5, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [10.5, 14, 3.5]}, + "faces": { + "north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"} + } + }, + { + "from": [9.5, 17, 3], + "to": [10.5, 20, 3], + "rotation": {"angle": 45, "axis": "y", "origin": [10, 17, 3]}, + "faces": { + "north": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "east": {"uv": [0, 1.5, 0, 3], "texture": "#0"}, + "south": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "west": {"uv": [1, 1.5, 1, 3], "texture": "#0"}, + "up": {"uv": [0.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0.5, 1, 0, 1], "texture": "#0"} + } + }, + { + "from": [8, 14, 2.5], + "to": [9, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 3.5]}, + "faces": { + "north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"} + } + }, + { + "from": [8, 17, 3], + "to": [9, 20, 3], + "rotation": {"angle": 45, "axis": "y", "origin": [8.5, 17, 3]}, + "faces": { + "north": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "east": {"uv": [0, 1.5, 0, 3], "texture": "#0"}, + "south": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "west": {"uv": [1, 1.5, 1, 3], "texture": "#0"}, + "up": {"uv": [0.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0.5, 1, 0, 1], "texture": "#0"} + } + }, + { + "name": "cutter", + "from": [15, 9, 5.7], + "to": [15, 15, 11.7], + "rotation": {"angle": -45, "axis": "x", "origin": [15, 9, 11.7]}, + "faces": { + "north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "east": {"uv": [5, 2, 8, 5], "texture": "#0"}, + "south": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "west": {"uv": [8, 2, 5, 5], "texture": "#0"}, + "up": {"uv": [0, 2, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 2, 0, 0], "texture": "#0"} + } + }, + { + "from": [2.84814, 14.2, 5.84814], + "to": [7.84814, 15.2, 7.84814], + "rotation": {"angle": 0, "axis": "y", "origin": [2.84814, 14.2, 7.84814]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6, 7, 5, 7.5], "texture": "#0"}, + "up": {"uv": [6, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.5, 6, 2.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 15.96444, 5.84814], + "to": [5, 15.96444, 7.84814], + "rotation": {"angle": -22.5, "axis": "z", "origin": [3, 15.96444, 7.84814]}, + "faces": { + "north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "south": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [7, 7.5, 6, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 7.5, 6, 6.5], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 153, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, -180, 0], + "translation": [0, 6.75, 0], + "scale": [1.5, 1.5, 1.5] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -2], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "legs", + "origin": [12, 0, 12], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "vise", + "origin": [12.5, 1, 1], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "sides", + "origin": [2.5, 10, 5], + "color": 0, + "children": [8, 9, 10, 11, 12] + }, + { + "name": "drawer", + "origin": [4, 10, 2.5], + "color": 0, + "children": [13, 14] + }, + { + "name": "table_top", + "origin": [5, 13.2, 5.5], + "color": 0, + "children": [15, 16, 17] + }, + { + "name": "tool_rack", + "origin": [4, 13, 11.5], + "color": 0, + "children": [ + { + "name": "tool1", + "origin": [4, 13, 11.5], + "color": 0, + "children": [18, 19] + }, + { + "name": "tool2", + "origin": [4, 13, 11.5], + "color": 0, + "children": [20, 21] + }, + { + "name": "tool3", + "origin": [4, 13, 11.5], + "color": 0, + "children": [22, 23] + }, + 24, + { + "name": "plane", + "origin": [13.15186, 13, 8.15186], + "color": 0, + "children": [25, 26] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/artisan_table.json b/kubejs/assets/tfg/models/item/artisan_table.json new file mode 100644 index 000000000..403b73459 --- /dev/null +++ b/kubejs/assets/tfg/models/item/artisan_table.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/artisan_table" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/artisan_table.png b/kubejs/assets/tfg/textures/block/artisan_table.png new file mode 100644 index 0000000000000000000000000000000000000000..074b058721c3fa9dc947a47e446dbbb66cb46f3a GIT binary patch literal 1157 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUR-P`7Ar*7>gq_b;4wd#^j;aqErr1{8>b_QgP|ij~-&I7vNhde;sJHEk z_9k}0R=I0?wZMxKywr#T*7bKkDK%GTQYwaR4A8{2v(zxnpfY@Rf0o4eb__*=G@@7=a^ z*%{L|ujl28H+f2yHhixasJiTY$mDnU)-9<`H+5EBeP!rSfu# z%W}I|`2uys7OtMo&d!@r<#bDbZ>jg4%_jEpoRf-sv`u-Kf7bk)5&B?JlUc_Cg@5iW z8ScE2D`rpA(7AqkkzUWqlb$~Q{_X{A>*985S{{Ah;^-)|JoQ|_4!3dx78#$TrZay$ zylpjY`gG;*;_H8M?%J^7!J2jJ9_^J5m$hM<*X{qlTf)4MQ}?~Mgd@fwgdiv@&mrzrEkIzA`u^R&(Z@8EY}DWUGT8XanB@_pt(d!&psSkb_sJ7> zOgP(lyO8bB6RxzaIxbt5e--_5ZQ=9=kwudxtdZvbp0Iw6%x{Zu`7ej=+?k_4sn9eg z`{lb=dj1Cz<`lC^yi4=gRoh*B=ilGEMrvvbo-5ez9#YBKvF_CFcgxv@ZvOvf;u#tt zvXe~A15h#TIFW(-Ltjw$IhJT z5!UhO`CWO^wLxi0|5oj!!$wbKI@p~K{3vhEJ2A6nAH%;DL1(%=Ox{jPv3^(g(*Mi0 zJ8idjwbz{xtytH=ux_4q*pY)?S9wDmUrw9zK9ceIZT7k6HqU-;{Cca^-lo-fg6|4SCntD+m>kGaivGr z@_h12ompYOqr@_9f3@wg`I+-%>dMzf`cvf&@!zkz8-B-{#U$tS%D3W6A6w|U+Ee#r@-=PU)AhXV=bul^&dyFydLp&PHQC8e##C4EAp2WG)=BYFl5T3BS=dzopr0M+Iwod5s; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/artisan_table_n.png b/kubejs/assets/tfg/textures/block/artisan_table_n.png new file mode 100644 index 0000000000000000000000000000000000000000..e17ca0db4dfcef4b8bef12e9dd39d1e3b8f973fe GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{#C5nP=V=hhXE~m22#uGoS*`BEL{(JJ%lJK#;hntDnm{r-UW|vyd1+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/artisan_table_s.png b/kubejs/assets/tfg/textures/block/artisan_table_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e14c94986d18aa9607a98f873ad5e9ad869daa2b GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNff}SppArY-_r`ZZMD+sj8 zORoIrqbcj3oZ&n1)}3P;zsSTj&r;Il=@WXYe!yVn$IuSzchBE#(s?OSdr(2|$)_&Q!@dMvvne(Lh5 z@-u5sG%?umnJ-_gb|B;utCH9Wy#paZKB|AYwp&e#@hDJS>>%OqnEyuLw%o_nd%6NF z-%7;Jd3`psL4HcHe8h9xWAm$-mjo@G)u(rTo*d7E*B+wF)++AQs^{v9D^O%yWXn8z z?-GWUOZ9fW(X?RP#LOa|_~ObGTPAe|#so?0w6*P%Bfc{{kYKDe+T`nXkum6%J;Rqd l$Ja1ESMpi7Fi*Ar*7p-rbvb+e5tJ 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 dGtf}ii{ zy9&Q`&EJ+KnW)V>lTr4QIpZI*|LQJx4{mgTe~DWM4ft94t! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_active.png b/kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_active.png new file mode 100644 index 0000000000000000000000000000000000000000..a57ab6c55499f9da3dcecc804bf53f588e343845 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0y~yVBi5^4mJh`hOp9@=L`%ClRaG=Lo_C~PBaudtiaevfcBa0BBQTt3>^VickJeSE;7+1 z%4qh~_SZbj?rV#+_uCm-uA8YG@*!%g%8wIky37tQ|8wsHtGYrV`>zL+Z!s`1FnGH9 KxvX)(IdMdH}} z@?&LYcXL?P{ib!fsP1E6|F<$@Vd_I|g|a>P`;>h-%c^Uk+3A3nIzDXcE{zcbnTr>FMOj}_0(K0ZFLa_w1ZC%&B9VU>OB zrT*5<-z2xXHepVN`*r@merkI)cq1*7cR4?E@|bzUO>;l*MET3*{B>~|i?#ET7CRg$ z&-<~c@YtcozX>&pQzvygEfciiFEV0Sd{y3Gi}f4_1G9l>oCm8WE5n1|^72d`VkIxn zIUFd@-@|!KlHwX?zQMhu3VAmXnDM4wo_AfeiwO2Ry&cT0i>$fimd~z=T_BN|M z-%j0PzH1Vhq`c^Z-M8=a_v?4;G-!Rd_14Wrr%&cAm@VV){-mrr|KZ*MkK5a>Ui@nQ z>Buy#8CHh+yF`Tk|N9(%WU8RM(W41oQ$*uEX6A)>&8)n`!NA2e=ktkb9*%dt>yzH} zJhbq8=TKZ4VED+TTt?jgUv-ncoc*DXA2%{3y_>lB;)So%u+|}3P>Npt=x!7`Np3l0Or?bod7%#(tzxwYV{`e8m+E;QnZTH3% zr>n%y&-OdR#t<=$RjFzE$A1w|J=OB9c5ofO;k^58degBteKy8rQm>})=^ZvX^O8Bt zr=>)Oo%6iI^q^GpG{v)?a{T8F=W&FeEB-I}YS$A_rRfuHzd2UvRhklfm*a^*(eq;( zOD#8@%wsV#xEV50$*)LFal5YUm6!G+mo`Ne{?7J{oL;(mul&BWe+T}xom1YTZMl6BotumkZ>!mZ#kGubkGqJ?Mm%zftP4 zW-F0bC)AcVuRg{c#<8Tly@b9PoLa93h zH5^XNm9CX~dt%cajwd2T(U%WeWIa7$GQD(W9!r)|itM!HnXNg$m~7rYU%f|p^$fma zf?Sn#b^BJuwk+EnD6ZM|F#B2gv-}xtg4GUlHL@oa%9>~JBpjRg`}gmS>?x8^o~lpI^`6e`Q8s_+rqDWJcS(Wi)Y6oxmk(NKsi(+ZI%u(_ zCFd8@o{sbB3@-iCeA zC%v~;y961Q>}Z&hd}rTp%UyT%7>oNjj#31_upTB zJrrDUN^n!&%LI`_XZh{g#T9&gE&|^B4}-nC%RV$$U{dVOveHWt~yTIk)+=>(LNTw)Eu_?y)j(D(Wfh zEf$z*uqOS(KX!Rny_XG3TlX-f|NHbnTH~o>1+&0*hX-|w*0FT>p7t<)JSl8K>fDxt zH#3Wr6O?B3Pg2%UReYN9X)>1{1M?BxJNtf1G92mR$oTWZRpG^9`F-Em!}zAm(44qJ z#ewIDuENTHDHBdVUlF|0HDKo~p?R_zhJxM9Gmg2WG^uU=w08G=rU<=+ik`fj!tbr? z-_;88MlAlaZOYRtD^t#RSt}GIti05AI<8USpPvJnCBDg{6e>4gP&{+1?ksL zybC@vVZxs+DP}X;*DCYO+1j`E&#xm7QqI0P*K&Q8=OLrwH70W(7zXL`=JQ-Hn80^M S!-s)^fx*+&&t;ucLK6V4-C8{W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_active.png b/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_active.png new file mode 100644 index 0000000000000000000000000000000000000000..9b05d102d032cf0b8747299c9cb3b6eab04f5643 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yVBi5^4mJh`hOp9@=L`%C(>+}rLo_C~PITlutRTP~ znvh+=31wy}XJ9Wa^qW^W(zO20uHJ`S8pTj@FWv#iFB_l&-t7`9D z6%}3yh8^BzyHqAHH>xa&Ejo96#|A#$?bn|3dv8+z+q_uKbBX9SKOZyWdk>D9dd)JC zy%hC-n~3S7s~pVpqms4v*Dcz)#p-r-cxkrmmd_TRegz>~Pmf3|NEPz_d7bIRz`(%Z M>FVdQ&MBb@0Ql-oyZ`_I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_border.png b/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_border.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6d25301fb4f14b4087809e06eaea03fa986176 GIT binary patch literal 1367 zcmeAS@N?(olHy`uVBq!ia0y~yU;twdHU#}|3H)BKi*6camC>_*)V5Z(2tt(SkaTPug_!=TGeO@@%g!)F|3H1zL1GdU&@o}iA zdL=`kI}So2xMW^uxQ>vTcb?0^GfACw+SsL`0uXEH&kJ z(oqr8+H{krYOmd`w|aVUcdWvE#BIdd-oDMBdG+9@J7!0d3YYO!esZ{MQuXpu_?p{| zdDGv@oSZdX|NjiZ;CXeIj~x^L6Lo~)^rjitC!Sw_W{Ra#)-1R6@&DT@m0cPHnzrZv zFa7Ej-hU=#QpWb`Gt!g1RA*d2DCBi~;nZI56H#mX+!i0*qo~t9f04$SbGet_ehXL` zvT^6mms8H3nb^zr`$F3U=d|a~4Be|r&8APdnbY-h`V+?fZ>v`|O`W=B^%>PAnPrX~ zzqO^xLPA|vUoD)vvt>@5Vb6-J9&g)aKRFdE4}Ln$W@>u!fJWP$n>%-2=;g3a*tzKw z*V;`tMdsQ5=6zZ;lc`}%rqte|ROzizbG?~e9vyD~|KZ0+e~sy0!1QZXy+q##-<-~^STzw`%qc?H4 zxgS0|;lTWyz3r`sxb)ZOCf}bwp)_{-s;l)A&ZqAT)$6+Mw{+5u`v2@AT&yQ0 zZ{^?nbMmd&ERMM7(9oJc6%S-iAIPw7Q@LtWuI^H?d4Ih7$`bKbCr2ixs2rCMw=Q#R z&vGwJInlXio4-rkZFQyfZ-oz?ojCD2pXDLWlee>PyX?>Y?V{k+^D_In3SXt!jvIX%RO1bjz-ARok`=anYAes(yd_e#rj9 zJN5MQ>mL979RB$1k8j-T?r7BYG6M4^D7|r#w@;5zk zAj7!sNRh;`4E6XYTWgh|773iYIR|Qq#`?7ki_iYp7||2$px1T%UCFNree+(IR4rL_ zWJj#8;GS<8`~O-bqI`Pg>2i8nMEZ)mQnJ2qrGMFTbNN*2!#kuAX-JjlE`yEG1gaOT16S=p9ad%D4Nv z+L59|aIg%r}=C9r(0M5_|PZp%p_O*WTtWDvtEwf*ZYo&aqQn4``120x&EumN?S!&KdSpF zHYMrb(&HTpO!;=Ux;kdZo+N!@Km0IYUcK@Q$1N4P3=EB`;z|j^-d5f_fBZQfv#iPI z(fRnLF3h}2OFCVJ4o01RntIA)+g{Pt3~NQd^O>?Yb1W70(#*-JESFonzpl;DO;#sP zf$3!Ep%kIwZ)t9mB7ztN9dnwiFBv$Mr3G`9EV(f8(FeaHI$~3r{GXja?Rv}N=_8}3 z`!{Ru|8E<}p!8`$XD@qz*Wbsl%6H!DUmkz2zSh*YQ+TJ|r$4n`+cq8lIrT`C;?@sk zLeEbxdRU-gZ&P!=@!UG=ZtgAmrq>*oh?KJlMrr^1^*Fr8P$*SXhqM8C) zA4v4N-MruzwBcHj>E@2yZO8N!mgJxt?9Q`%dW0n9st!y(Lh#entNl zuN3jDJ1(nT%4S~ccvIASL1|*_a#5w-amrgY*1B=HT0Oqz`YS@YMQLu~YNgsr>m7aP#BMH2 zX_n`^WWD%I)`cGKce*_0XWiMNztF?|ir%H=QriW)?lk5GUeVg5Z|bD6$;8|>aP|qi zs~ihY1WoBw>L_v1RjQS`mik>)NPU}ZOuAC-s*PL= zPnfRhezdIlwM)wV?3REhrmL=SI4&{%Cie33hILUOXKkGBaX%CSU&S>84#LnpI9NyBMoB-|qMQ z&6-i#Yef6x@74Z&axu1K$)}TNzH5GcDgIr1|25X-{r&57wKw}N@9*C*$#=H4+3$aU z)7$6#wcq{iPRx@hN+-qlS^xhL@jA!s$BO03_tsg;uT#FB+%wU>zB=%=+s|W<{%~mj zZ#yaxyu*?!sas}$P3VtGMZqwabxA!FFJ^>XPAlzCEnHp0aKiFc&JCu?DGUq@44$rj JF6*2UngHvw?mqwk literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border_4x.png b/kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border_4x.png new file mode 100644 index 0000000000000000000000000000000000000000..f397102b7f52b9c750a4f134075dbf5a9f6c24c7 GIT binary patch literal 1197 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/loot_tables/blocks/artisan_table.json b/kubejs/data/tfg/loot_tables/blocks/artisan_table.json new file mode 100644 index 000000000..59792a68b --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/artisan_table.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:artisan_table" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/kubejs/server_scripts/tacz/recipes.misc.js b/kubejs/server_scripts/tacz/recipes.misc.js index c37803055..f0d7632f7 100644 --- a/kubejs/server_scripts/tacz/recipes.misc.js +++ b/kubejs/server_scripts/tacz/recipes.misc.js @@ -26,38 +26,6 @@ function registerTACZMiscRecipes(event) { ['tacz:target', 'minecraft:minecart'] ).id('tfg_tacz:target_minecart'); - - //Molds - event.shaped('tfg:small_casing_extruder_mold',[ - ' A ', - 'B ', - ' C' - ],{ - A: '#forge:tools/wire_cutters', - B: 'gtceu:empty_mold', - C: '#forge:tools/files' - }).id('tfg:small_casing_extruder_mold'); - - event.shaped('tfg:large_casing_extruder_mold',[ - ' ', - 'AB ', - ' C' - ],{ - A: '#forge:tools/wire_cutters', - B: 'gtceu:empty_mold', - C: '#forge:tools/files' - }).id('tfg:large_casing_extruder_mold'); - - event.shaped('tfg:shell_casing_extruder_mold',[ - ' C', - 'AB ', - ' ' - ],{ - A: '#forge:tools/wire_cutters', - B: 'gtceu:empty_mold', - C: '#forge:tools/files' - }).id('tfg:shell_casing_extruder_mold'); - //Mechanisms event.shaped('tfg:flintlock_mechanism', [ 'ABC', diff --git a/kubejs/server_scripts/tfg/machines/recipes.molds.js b/kubejs/server_scripts/tfg/machines/recipes.molds.js index 74bf13c2e..f6271a63a 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.molds.js +++ b/kubejs/server_scripts/tfg/machines/recipes.molds.js @@ -6,278 +6,57 @@ */ function registerTFGMoldRecipes(event) { - event.shaped('tfg:mining_hammer_head_extruder_mold', [ - 'Sfh', - ' ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:sword_head_extruder_mold', [ - 'Shf', - ' ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:pickaxe_head_extruder_mold', [ - 'S ', - 'hf ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:axe_head_extruder_mold', [ - 'S ', - ' fh', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:hoe_head_extruder_mold', [ - 'S ', - ' hf', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:scythe_head_extruder_mold', [ - 'S ', - ' ', - 'fh ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:file_head_extruder_mold', [ - 'S ', - ' ', - 'hf ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:hammer_head_extruder_mold', [ - 'Sf ', - ' h ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:saw_head_extruder_mold', [ - 'Sh ', - ' f ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:knife_head_extruder_mold', [ - 'S f', - ' ', - ' h' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:butchery_knife_head_extruder_mold', [ - 'S h', - ' ', - ' f' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:shovel_head_extruder_mold', [ - 'S ', - 'f ', - 'h ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:spade_head_extruder_mold', [ - 'S ', - 'f ', - ' h' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:propick_head_extruder_mold', [ - 'Sxf', - ' ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:javelin_head_extruder_mold', [ - 'S x', - 'f ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:chisel_head_extruder_mold', [ - 'S ', - 'xf ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:mace_head_extruder_mold', [ - 'S ', - ' xf', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:lamp_casting_mold', [ - 'Sh ', - ' ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:trapdoor_casting_mold', [ - 'S h', - ' ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:chain_casting_mold', [ - 'S ', - 'h ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:bell_casting_mold', [ - 'S ', - ' h ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:mattock_head_extruder_mold', [ - ' h', - 'fS ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:fish_hook_extruder_mold', [ - 'f ', - ' S ', - ' h' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:whisk_extruder_mold', [ - 'f h', - ' S ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) + /** @type {['huge'|'large'|'normal'|'small'|'tiny']}*/ + const pipe_sizes = [ + 'huge', + 'large', + 'normal', + 'small', + 'tiny' + ]; - event.shaped('tfg:screwdriver_tip_extruder_mold', [ - 'f ', - ' S ', - ' h ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) + let prev_size; + pipe_sizes.forEach((size) => { + if (size !== 'huge'){ + event.shaped(`gtceu:${size}_pipe_casting_mold`, [ + 'ABC' + ], { + A: '#forge:tools/hammers', + B: `gtceu:${prev_size}_pipe_casting_mold`, + C: '#forge:tools/mallets' + }).id(`tfg:shaped/${prev_size}_${size}_casting_mold`) + + event.shaped(`gtceu:${size}_pipe_extruder_mold`, [ + 'ABC' + ], { + A: '#forge:tools/hammers', + B: `gtceu:${prev_size}_pipe_extruder_mold`, + C: '#forge:tools/mallets' + }).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`) + } + prev_size = size; + }); - event.shaped('tfg:wrench_tip_extruder_mold', [ - 'f ', - 'hS ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) + pipe_sizes.reverse().forEach((size) => { + if (size !== 'tiny'){ + event.shaped(`gtceu:${size}_pipe_casting_mold`, [ + 'ABC' + ], { + A: '#forge:tools/mallets', + B: `gtceu:${prev_size}_pipe_casting_mold`, + C: '#forge:tools/hammers' + }).id(`tfg:shaped/${prev_size}_${size}_casting_mold`) - event.shaped('tfg:wire_cutter_head_extruder_mold', [ - 'hS ', - ' ', - ' f ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - let steelIngots = ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4); - let steelDusts = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4); + event.shaped(`gtceu:${size}_pipe_extruder_mold`, [ + 'ABC' + ], { + A: '#forge:tools/mallets', + B: `gtceu:${prev_size}_pipe_extruder_mold`, + C: '#forge:tools/hammers' + }).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`) + } + prev_size = size; + }); global.TFG_EXTRUDER_MOLDS.forEach(mold => { @@ -289,7 +68,7 @@ function registerTFGMoldRecipes(event) { .itemOutputs(mold) .duration(120) .EUt(GTValues.VA[GTValues.LV]) - }) + }); global.TFG_CASTING_MOLDS.forEach(mold => { @@ -301,23 +80,6 @@ function registerTFGMoldRecipes(event) { .itemOutputs(mold) .duration(120) .EUt(GTValues.VA[GTValues.LV]) - }) + }); - //TODO: Fix this code to respect full molds - // //craft mold to scrub nbt - // const molds = Ingredient.of('#tfc:fired_molds').itemIds; - - // molds.forEach(mold => { - // event.shapeless(Item.of(mold), [mold]) - // .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`); - // }); - - // //craft vessel to scrub nbt - // const vessels = Ingredient.of('#tfc:fired_vessels').itemIds; - - // vessels.forEach(vessel => { - // event.shapeless(Item.of(vessel), [vessel]) - // .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`); - // }); - -} +}; diff --git a/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js new file mode 100644 index 000000000..340244b36 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js @@ -0,0 +1,572 @@ +// priority: 0 +"use strict"; + +function registerTFGArtisanTableRecipes(event) { + + // Removals (`type` didnt want to work here). + event.remove({ id: /gtceu:shaped\/shape_.*/, input: 'gtceu:empty_mold'}); + event.remove({ id: /gtceu:shaped\/shape_.*/, input: /gtceu:.*_extruder_mold/}); + event.remove({ id: 'gtceu:shaped/basic_circuit_board'}); + event.remove({ id: 'gtceu:shaped/good_circuit_board'}); + + //Table Recipe + TFGHelpers.registerMaterialInfo('tfg:artisan_table', [GTMaterials.WroughtIron, 6, GTMaterials.Wood, 3, GTMaterials.Copper, 1/9]) + + event.shaped('tfg:artisan_table', [ + 'CBC', + 'AAA', + 'B B' + ], { + A: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.WroughtIron, 1), + B: 'firmalife:treated_wood', + C: '#forge:screws/any_bronze' + }).id('tfg:shaped/artisan_table'); + + //#region Molds + + /** + * Mold pattern definitions. + * @param {string} name - Base id of the mold item. + * @param {boolean} genCast - Whether to generate a casting mold recipe. + * @param {boolean} genExtrude - Whether to generate an extruder mold recipe. + * @param {string[]} pattern - 6x6 pattern for the mold. 'X' for solid, ' ' for empty. + * @type {{name: string, genCast: boolean, genExtrude: boolean, pattern: string[]}[]} moldPatterns + */ + const moldPatterns = [ + { name: 'tfg:lamp', genCast: true, genExtrude: false, pattern: [ + "XX XX", + "X X", + "X XX X", + "X XX X", + "X XX X", + "X X" + ]}, + { name: 'tfg:trapdoor', genCast: true, genExtrude: false, pattern: [ + " ", + " XXXX ", + " ", + " ", + " XXXX ", + " " + ]}, + { name: 'tfg:chain', genCast: true, genExtrude: false, pattern: [ + "X X", + "X XX X", + "X X", + "XX XX", + "X X", + "X XX X" + ]}, + { name: 'tfg:bell', genCast: true, genExtrude: false, pattern: [ + "XX XX", + "X X", + "X X", + "X X", + " ", + " " + ]}, + { name: 'gtceu:plate', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "X X", + "X X", + "X X", + "X X", + "XXXXXX" + ]}, + { name: 'gtceu:gear', genCast: true, genExtrude: true, pattern: [ + "XX XX", + "X X", + " XX ", + " XX ", + "X X", + "XX XX" + ]}, + { name: 'gtceu:bottle', genCast: true, genExtrude: true, pattern: [ + "X X", + "XX XX", + "XX XX", + "X X", + "X X", + "X X" + ]}, + { name: 'gtceu:ingot', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "XX XX", + "XX XX", + "XX XX", + "XX XX", + "XXXXXX" + ]}, + { name: 'gtceu:ball', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "XX XX", + "X X", + "X X", + "XX XX", + "XXXXXX" + ]}, + { name: 'gtceu:cylinder', genCast: true, genExtrude: false, pattern: [ + "XX XX", + "X X", + " ", + " ", + "X X", + "XX XX" + ]}, + { name: 'gtceu:block', genCast: true, genExtrude: true, pattern: [ + " ", + " ", + " ", + " ", + " ", + " " + ]}, + { name: 'gtceu:nugget', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "XXXXXX", + "XX XXX", + "XX XXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:anvil', genCast: true, genExtrude: false, pattern: [ + " ", + " ", + "X X", + "XX XX", + "X X", + "XXXXXX" + ]}, + { name: 'gtceu:name', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "X X X ", + " X X X", + "X X X ", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:small_gear', genCast: true, genExtrude: true, pattern: [ + "XXX XX", + "XX X", + "X X ", + "XX X", + "XXX XX", + "XXXXXX" + ]}, + { name: 'gtceu:rotor', genCast: true, genExtrude: true, pattern: [ + " XXXX ", + "X XX X", + "XX XX", + "XX XX", + "X XX X", + " XXXX " + ]}, + { name: 'gtceu:pill', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "XXXXXX", + "XX XX", + "X XX", + "X XXX", + "XXXXXX" + ]}, + { name: 'gtceu:huge_pipe', genCast: true, genExtrude: true, pattern: [ + " ", + " XXXX ", + " XXXX ", + " XXXX ", + " XXXX ", + " " + ]}, + + { name: 'gtceu:rod', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XX XX", + "XX XX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:bolt', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XX X", + "XXX XX", + "XXX XX", + "XXXXXX" + ]}, + { name: 'gtceu:ring', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XX", + "X XX X", + "X XX X", + "XX XX", + "XXXXXX" + ]}, + { name: 'gtceu:cell', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX X", + "X XX X", + "X XX X", + "X XX", + "XXXXXX" + ]}, + { name: 'gtceu:wire', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XXX", + "XXXXXX", + "XXXXXX", + "XXX XX", + "XXXXXX" + ]}, + { name: 'gtceu:foil', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XXXXXX", + " ", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:small_casing', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "X X X ", + "XXXXXX", + "X X X ", + "XXXXXX" + ]}, + { name: 'tfg:shell_casing', genCast: false, genExtrude: true, pattern: [ + " XXXX", + " XXXX", + "XXXXXX", + "XXXXXX", + "XXXX ", + "XXXX " + ]}, + { name: 'tfg:large_casing', genCast: false, genExtrude: true, pattern: [ + "XX XX", + "XX XX", + " XXXX", + " XXXX", + "XXXX ", + "XXXX " + ]}, + + //Tools + { name: 'tfg:mining_hammer_head', genCast: false, genExtrude: true, pattern: [ + " XXXXX", + " X", + " ", + " X", + " XXXXX", + "XXXXXX" + ]}, + { name: 'tfg:sword_head', genCast: false, genExtrude: true, pattern: [ + " XXXX", + " XXX", + "X XX", + "XX X", + "XXX X", + "XXXXX " + ]}, + { name: 'tfg:pickaxe_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "X X", + " XXXX ", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:shovel_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "X X", + "X X", + "X X", + "XX XX", + "XXXXXX" + ]}, + { name: 'tfg:axe_head', genCast: false, genExtrude: true, pattern: [ + "X XXXX", + " X", + " ", + " X", + "X XXXX", + "XXXXXX" + ]}, + { name: 'tfg:hoe_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + " ", + " XXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:scythe_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "X ", + " XX", + " XXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:file_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XXX", + "XX XXX", + "XX XXX", + "XX XXX", + "XX XXX" + ]}, + { name: 'tfg:hammer_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + " ", + " ", + "XX XX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:saw_head', genCast: false, genExtrude: true, pattern: [ + " XXXX", + " XXX", + "X XX", + "X X", + "XX ", + "XXXX " + ]}, + { name: 'tfg:knife_head', genCast: false, genExtrude: true, pattern: [ + "XXX XX", + "XX XX", + "XX XX", + "XX XX", + "XX XX", + "XXXXXX" + ]}, + { name: 'tfg:butchery_knife_head', genCast: false, genExtrude: true, pattern: [ + "X XXXX", + "X XXXX", + "X XX", + "X X", + "X X X", + "X X" + ]}, + { name: 'tfg:spade_head', genCast: false, genExtrude: true, pattern: [ + "X X", + "X X", + "X X", + "X X", + "XX XX", + "XX XX" + ]}, + { name: 'tfg:propick_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + " X", + " XXXX ", + " XXXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:javelin_head', genCast: false, genExtrude: true, pattern: [ + " XXX", + " XX", + " X", + "X ", + "XX X", + "XXX XX" + ]}, + { name: 'tfg:chisel_head', genCast: false, genExtrude: true, pattern: [ + "XXX XX", + "XXX XX", + "XXX XX", + "XXX XX", + "XXX XX", + "XXXXXX" + ]}, + { name: 'tfg:mace_head', genCast: false, genExtrude: true, pattern: [ + "XX XX", + "X X", + "X X", + "X X", + "X X", + "XX XX" + ]}, + { name: 'tfg:mattock_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + " X", + " XX ", + "XXXXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:fish_hook', genCast: false, genExtrude: true, pattern: [ + "XXX XX", + "XXXX X", + "X XX X", + "X XX X", + "XX XX", + "XXXXXX" + ]}, + { name: 'tfg:whisk', genCast: false, genExtrude: true, pattern: [ + " X X ", + "XX XX", + " XX ", + " XX ", + "XX XX", + " X X " + ]}, + { name: 'tfg:screwdriver_tip', genCast: false, genExtrude: true, pattern: [ + "XX X", + "XXX XX", + "XX X", + "XXX XX", + "XXX XX", + "XXX XX" + ]}, + { name: 'tfg:wrench_tip', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XXX", + "XX XXX", + "XX XXX", + "XX XXX", + "X XX" + ]}, + { name: 'tfg:wire_cutter_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX X", + "X X X", + "X XXX", + "X XXX", + "XXXXXX" + ]} + + /* + , + { name: 'tfg:', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XXXXXX", + "XXXXXX", + "XXXXXX", + "XXXXXX" + ]} + */ + ]; + + /** Checks for duplicate patterns for the same mold type. */ + function patternsEqual(p1, p2) { + for (let i = 0; i < p1.length; i++) { + if (p1[i] !== p2[i]) return false; + }; + return true; + }; + /** Checks for duplicate mirrored patterns for the same mold type. */ + function patternsMirrorEqual(p1, p2) { + for (let i = 0; i < p1.length; i++) { + if (p1[i] !== p2[i].split('').reverse().join('')) return false; + }; + return true; + }; + // Error logging for duplicate patterns. + let patternsChecked = []; + for (let i = 0; i < moldPatterns.length; i++) { + for (let j = i + 1; j < moldPatterns.length; j++) { + + let a = moldPatterns[i]; + let b = moldPatterns[j]; + let shareCast = a.genCast && b.genCast; + let shareExtrude = a.genExtrude && b.genExtrude; + + if (shareCast || shareExtrude) { + if (patternsEqual(a.pattern, b.pattern) || patternsMirrorEqual(a.pattern, b.pattern)) { + patternsChecked.push({a: a.name, b: b.name}); + }; + }; + }; + }; + if (patternsChecked.length !== 0) { + throw new Error( + `Duplicate artisan table mold patterns detected between: ${patternsChecked.map(pair => `\n${pair.a} and ${pair.b}`).join(', ')}` + ); + }; + + // Create Artisan Table recipes for molds. + moldPatterns.forEach((mold) => { + if (mold.genCast){ + event.custom({ + "result": {"item": `${mold.name}_casting_mold`}, + "pattern": mold.pattern, + "artisanType": "tfg:casting_mold", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/${linuxUnfucker(mold.name)}_casting_mold`); + }; + if (mold.genExtrude){ + event.custom({ + "result": {"item": `${mold.name}_extruder_mold`}, + "pattern": mold.pattern, + "artisanType": "tfg:extruder_mold", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/${linuxUnfucker(mold.name)}_extruder_mold`); + }; + }); + + //#endregion + + //#region Circuits + + event.custom({ + "result": {"item": "gtceu:resin_printed_circuit_board"}, + "pattern": [ + "X XXXX", + " XX X", + "X X X", + "X XX X", + " XXX X", + "XXX X" + ], + "artisanType": "tfg:resin_board", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/resin_printed_circuit_board`); + + event.custom({ + "result": {"item": "gtceu:resin_printed_circuit_board", "count": 4}, + "pattern": [ + "X XXXX", + " XX X", + "X X X", + "X XX X", + " XXX X", + "XXX X" + ], + "artisanType": "tfg:resin_board_4x", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/resin_printed_circuit_board_4x`); + + event.custom({ + "result": {"item": "gtceu:phenolic_printed_circuit_board"}, + "pattern": [ + "X XX ", + " XXXX ", + "XX X ", + "XX XXX", + "XX XX ", + " XX " + ], + "artisanType": "tfg:phenolic_board", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/phenolic_printed_circuit_board`); + + event.custom({ + "result": {"item": "gtceu:phenolic_printed_circuit_board", "count": 4}, + "pattern": [ + "X XX ", + " XXXX ", + "XX X ", + "XX XXX", + "XX XX ", + " XX " + ], + "artisanType": "tfg:phenolic_board_4x", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/phenolic_printed_circuit_board_4x`); + //#endregion + + +} diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js index 092078b9c..54f10a270 100644 --- a/kubejs/server_scripts/tfg/primitive/tags.primitive.js +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -72,6 +72,20 @@ function registerTFGPrimitiveItemTags(event) { event.add('forge:string', 'tfg:phantom_thread') event.add('forge:string', 'tfg:polycaprolactam_string') event.add('forge:string', 'firmalife:pineapple_yarn') + + // Artisan Table + event.add('tfg:artisan_table_inputs', 'gtceu:empty_mold') + event.add('tfg:artisan_table_inputs', 'gtceu:resin_circuit_board') + event.add('tfg:artisan_table_inputs', 'gtceu:copper_single_wire') + event.add('tfg:artisan_table_inputs', 'gtceu:copper_quadruple_wire') + event.add('tfg:artisan_table_inputs', 'gtceu:phenolic_circuit_board') + event.add('tfg:artisan_table_inputs', 'gtceu:silver_single_wire') + event.add('tfg:artisan_table_inputs', 'gtceu:silver_quadruple_wire') + event.add('tfg:artisan_table_tools', '#forge:tools/hammers') + event.add('tfg:artisan_table_tools', '#forge:tools/mallets') + event.add('tfg:artisan_table_tools', '#forge:tools/files') + event.add('tfg:artisan_table_tools', '#forge:tools/wire_cutters') + event.add('tfg:artisan_table_tools', '#forge:tools/screwdrivers') } function registerTFGPrimitiveBlockTags(event) { @@ -90,8 +104,7 @@ function registerTFGPrimitiveBlockTags(event) { function registerTFGPrimitiveFluidTags(event) { forEachMaterial(material => { let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) - return; + if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) return; if (!ChemicalHelper.get(TagPrefix.gearSmall, material, 1).isEmpty()) { event.add('tfg:usable_in_small_gear_mold', material.getFluid().getFluidType().toString()) diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 925a225b1..3366ed27d 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -49,6 +49,7 @@ const registerTFGRecipes = (event) => { registerTFGClayRecipes(event) registerTFGEquipmentRecipes(event) registerTFGDyeRecipes(event) + registerTFGArtisanTableRecipes(event) registerTFGCasingRecipes(event) registerTFGEnderPearlRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 5392b40ab..ad5bc65a4 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -177,4 +177,5 @@ function registerTFGMiscellaneousRecipes(event) { .duration(5*20) .EUt(GTValues.VA[GTValues.LV]) .addMaterialInfo(true); + } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 119a5b49b..a1c988e5f 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -46,6 +46,7 @@ const registerTFGItemTags = (event) => { event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle') + //#endregion // Airplane Upgrades From d84e79abb097f47e33f7446d62654c94d96c164c Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Mon, 26 Jan 2026 10:39:04 +0800 Subject: [PATCH 018/157] Update zh_cn lang for patchouli book (#2861) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book --------- Co-authored-by: 闫茂源 --- .../field_guide/zh_cn/entries/beneath/piglins.json | 2 +- .../field_guide/zh_cn/entries/mechanics/bloomery.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json index a29717042..de7c4663d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json @@ -27,7 +27,7 @@ { "type": "patchouli:text", "title": "堡垒遗迹", - "text": "掠夺一个 $(thing)堡垒遗迹$() 可能危险,但回报也很丰厚!你能获得如下物品:$(li)金、玫瑰金、生铁、黑青铜和银锭$(li)黑青铜武器、工具和护甲$(li)高岭土和石墨$(li)永久光源$(li)布料、皮革、种子和食物$(li)以及其他宝藏!" + "text": "掠夺一个 $(thing)堡垒遗迹$() 可能危险,但回报也很丰厚!你能获得如下物品:$(li)金、玫瑰金、生铁、黑青铜和银锭$(li)黑青铜武器、工具和护甲$(li)高岭土和石墨$(li)灯笼$(li)、布料、皮革、种子和食物$(li)以及其他宝藏!" }, { "type": "patchouli:spotlight", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json index 7d6c41d3c..9cda74328 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json @@ -6,7 +6,7 @@ "pages": [ { "type": "patchouli:text", - "text": "$(thing)锻铁炉$()是一种能将$(thing)铁矿$()烧炼成$(thing)生铁方坯$()的装置。生铁方坯可进一步锻造成$(thing)锻铁$()。$(l:the_world/ores_and_minerals#hematite)赤铁矿$()、$(l:the_world/ores_and_minerals#limonite)褐铁矿$()和$(l:the_world/ores_and_minerals#magnetite)磁铁矿$()均含铁。直接熔化这些矿石只会得到无用的$(thing)铸铁$()而非$(thing)锻铁$()。另外,所有含铁物品熔化时都只会变成铸铁。锻铁炉是把铸铁变为锻铁的唯一方法。锻铁炉接受任何含铁物品,包括铁矿石或铸铁锭。" + "text": "$(thing)锻铁炉$()是一种用于将$(thing)铁矿$()烧炼成$(thing)生铁方坯$()的装置,生铁方坯可被进一步加工成$(thing)锻铁$()。常见的铁矿包括$(l:tfg_ores/earth_vein_index#normal_hematite)赤铁矿$()、$(l:tfg_ores/earth_vein_index#normal_limonite)褐铁矿$()和$(l:tfg_ores/earth_vein_index#normal_magnetite)磁铁矿$()。这些矿石直接熔化只会得到$(thing)铸铁$(),而非$(thing)锻铁$()。实际上,所有含铁物品熔化后都只会变成铸铁。若要将它们转化为可用的锻铁,就需要使用锻铁炉。任何含铁物品都可用于锻铁炉,包括铁制工具和铸铁锭!" }, { "type": "patchouli:crafting", @@ -22,19 +22,19 @@ }, { "type": "patchouli:text", - "text": "锻铁炉最多可容纳 48 个 $(thing)输入项$(),每层烟囱最多放16件物品。可通过堆叠额外的石头来加高至多两层烟囱,每层额外的烟囱可以多容纳16件物品。$(br2)要向锻铁炉中加入物品,只需将物品从烟囱顶部投入烟囱中即可。如果烟囱中出现灰色物质就说明成功了。" + "text": "锻铁炉最多可容纳 48 个 $(thing)输入项$(),每层烟囱最多放16件物品。可通过堆叠额外的石头来加高至多两层烟囱,每层额外的烟囱可以多容纳16件物品。$(br2)向锻铁炉添加物品时,请攀至烟囱顶部并将物品投入其中。若观察到内部形成灰色的矿石堆,即表示投放成功。$(br2)你可以使用$(item)木炭$()或$(item)煤炭$()作为锻铁炉的燃料。" }, { "type": "patchouli:image", "images": [ "tfc:textures/gui/book/tutorial/bloomery_hole.png" ], - "text": "将物品添加到锻铁炉中。", + "text": "每生产一块$(thing)生铁方坯$(),锻铁炉需要消耗$(thing)1份燃料$()和$(thing)144mB铸铁$()。", "border": true }, { "type": "patchouli:text", - "text": "锻铁炉会将每$(thing)1份木炭$()和$(thing)144mB铸铁$()转化成一块$(thing)方坯$()。在投入所需的$(thing)木炭$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" + "text": "若你不想费心计算配比,我们推荐使用$(item)25份金属矿粉$()和$(item)22份燃料$()的组合。在投入所需的$(thing)燃料$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" }, { "type": "patchouli:multiblock", From 809bca72cf7aa9ea64d396b4bb001a2e9002f166 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 25 Jan 2026 20:52:47 -0600 Subject: [PATCH 019/157] fix render type and changelog --- CHANGELOG.md | 1 + kubejs/assets/tfg/models/block/artisan_table.json | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aee86aa42..98d84cca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie +- Added the Artisan Table to "knap" GT molds and circuits. @BlueBoat29 @Redeix ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/tfg/models/block/artisan_table.json b/kubejs/assets/tfg/models/block/artisan_table.json index 5219925d6..c1b27c983 100644 --- a/kubejs/assets/tfg/models/block/artisan_table.json +++ b/kubejs/assets/tfg/models/block/artisan_table.json @@ -2,6 +2,7 @@ "format_version": "1.9.0", "credit": "Made with Blockbench", "texture_size": [32, 32], + "render_type": "minecraft:cutout", "textures": { "0": "tfg:block/artisan_table", "particle": "#0" From 25dae7eadaa528af1c8455a910f9841386266c42 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 26 Jan 2026 03:55:21 +0000 Subject: [PATCH 020/157] langs and emi --- kubejs/assets/ad_astra/lang/es_es.json | 169 ++++++++++++++++++ .../category/properties/ae2_condenser.json | 2 +- .../properties/ae2_item_transformation.json | 2 +- .../properties/ae2_p2p_attunement.json | 2 +- .../emi/category/properties/afc_tree_tap.json | 2 +- .../category/properties/create_deploying.json | 2 +- .../category/properties/create_draining.json | 2 +- .../properties/create_item_application.json | 2 +- .../create_sandpaper_polishing.json | 2 +- .../properties/create_sequenced_assembly.json | 2 +- .../properties/create_spout_filling.json | 2 +- .../properties/createaddition_rolling.json | 2 +- .../properties/deafission_component_fr.json | 2 +- .../deafission_fission_component.json | 2 +- .../deafission_fission_reactor_coolant.json | 2 +- .../deafission_fission_reactor_fuel.json | 2 +- ...deafission_fission_reactor_processing.json | 2 +- .../diggerhelmet_helmet_repair.json | 2 +- .../domum_ornamentum_architects_cutter.json | 2 +- .../emi/category/properties/emi_info.json | 2 +- .../emi/category/properties/emi_tag.json | 2 +- .../exposure_photograph_printing.json | 2 +- .../exposure_photograph_stacking.json | 2 +- .../properties/firmalife_bowl_pot.json | 2 +- .../category/properties/firmalife_drying.json | 2 +- .../properties/firmalife_mixing_bowl.json | 2 +- .../category/properties/firmalife_oven.json | 2 +- .../properties/firmalife_smoking.json | 2 +- .../properties/firmalife_stomping.json | 2 +- .../category/properties/firmalife_vat.json | 2 +- .../properties/framedblocks_framing_saw.json | 2 +- .../properties/greate_automatic_packing.json | 2 +- .../properties/greate_automatic_shaped.json | 2 +- .../greate_automatic_shapeless.json | 2 +- .../properties/greate_block_cutting.json | 2 +- .../category/properties/greate_crushing.json | 2 +- .../properties/greate_fan_washing.json | 2 +- .../category/properties/greate_milling.json | 2 +- .../category/properties/greate_mixing.json | 2 +- .../category/properties/greate_packing.json | 2 +- .../category/properties/greate_pressing.json | 2 +- .../category/properties/greate_sawing.json | 2 +- .../properties/gtceu_air_scrubber.json | 2 +- .../properties/gtceu_alloy_blast_smelter.json | 2 +- .../properties/gtceu_alloy_smelter.json | 2 +- .../properties/gtceu_aqueous_accumulator.json | 2 +- .../properties/gtceu_arc_furnace.json | 2 +- .../gtceu_arc_furnace_recycling.json | 2 +- .../category/properties/gtceu_assembler.json | 2 +- .../properties/gtceu_assembly_line.json | 2 +- .../category/properties/gtceu_autoclave.json | 2 +- .../emi/category/properties/gtceu_bender.json | 2 +- .../category/properties/gtceu_bioreactor.json | 2 +- .../category/properties/gtceu_brewery.json | 2 +- .../emi/category/properties/gtceu_canner.json | 2 +- .../category/properties/gtceu_centrifuge.json | 2 +- .../category/properties/gtceu_chem_dyes.json | 2 +- .../properties/gtceu_chemical_bath.json | 2 +- .../properties/gtceu_chemical_reactor.json | 2 +- .../properties/gtceu_circuit_assembler.json | 2 +- .../gtceu_coal_liquefaction_tower.json | 2 +- .../category/properties/gtceu_coke_oven.json | 2 +- .../gtceu_combustion_generator.json | 2 +- .../category/properties/gtceu_compressor.json | 2 +- .../category/properties/gtceu_cracker.json | 2 +- .../emi/category/properties/gtceu_cutter.json | 2 +- .../properties/gtceu_distillation_tower.json | 2 +- .../category/properties/gtceu_distillery.json | 2 +- .../gtceu_electric_blast_furnace.json | 2 +- .../properties/gtceu_electrolyzer.json | 2 +- .../gtceu_electromagnetic_separator.json | 2 +- .../properties/gtceu_evaporation_tower.json | 2 +- .../category/properties/gtceu_extractor.json | 2 +- .../properties/gtceu_extractor_recycling.json | 2 +- .../category/properties/gtceu_extruder.json | 2 +- .../category/properties/gtceu_fermenter.json | 2 +- .../properties/gtceu_fission_reactor.json | 2 +- .../properties/gtceu_fluid_heater.json | 2 +- .../properties/gtceu_fluid_solidifier.json | 2 +- .../category/properties/gtceu_food_oven.json | 2 +- .../properties/gtceu_food_processor.json | 2 +- .../properties/gtceu_forge_hammer.json | 2 +- .../properties/gtceu_forming_press.json | 2 +- .../properties/gtceu_fusion_reactor.json | 2 +- .../properties/gtceu_gas_collector.json | 2 +- .../properties/gtceu_gas_pressurizer.json | 2 +- .../properties/gtceu_gas_turbine.json | 2 +- .../category/properties/gtceu_greenhouse.json | 2 +- .../properties/gtceu_heat_exchanger.json | 2 +- .../gtceu_hydroponics_facility.json | 2 +- .../gtceu_implosion_compressor.json | 2 +- .../properties/gtceu_ingot_molding.json | 2 +- .../properties/gtceu_large_boiler.json | 2 +- .../gtceu_large_chemical_reactor.json | 2 +- .../properties/gtceu_large_solar_panel.json | 2 +- .../gtceu_large_solar_panel_tier2.json | 2 +- .../gtceu_large_solar_panel_tier3.json | 2 +- .../properties/gtceu_laser_engraver.json | 2 +- .../emi/category/properties/gtceu_lathe.json | 2 +- .../category/properties/gtceu_macerator.json | 2 +- .../properties/gtceu_macerator_recycling.json | 2 +- .../emi/category/properties/gtceu_mixer.json | 2 +- .../properties/gtceu_moon_dust_harvester.json | 2 +- .../gtceu_nuclear_fuel_factory.json | 2 +- .../properties/gtceu_nuclear_turbine.json | 2 +- .../properties/gtceu_ore_bathing.json | 2 +- .../properties/gtceu_ore_crushing.json | 2 +- .../properties/gtceu_ore_forging.json | 2 +- .../category/properties/gtceu_ore_washer.json | 2 +- .../properties/gtceu_ostrum_harvester.json | 2 +- .../gtceu_ostrum_linear_accelerator.json | 2 +- .../emi/category/properties/gtceu_packer.json | 2 +- .../gtceu_pisciculture_fishery.json | 2 +- .../properties/gtceu_plasma_generator.json | 2 +- .../category/properties/gtceu_polarizer.json | 2 +- .../properties/gtceu_programmed_circuit.json | 2 +- .../properties/gtceu_pyrolyse_oven.json | 2 +- .../properties/gtceu_research_station.json | 2 +- .../properties/gtceu_rock_breaker.json | 2 +- .../category/properties/gtceu_scanner.json | 2 +- .../emi/category/properties/gtceu_sifter.json | 2 +- .../properties/gtceu_steam_bloomery.json | 2 +- .../properties/gtceu_steam_boiler.json | 2 +- .../properties/gtceu_steam_turbine.json | 2 +- .../properties/gtceu_thermal_centrifuge.json | 2 +- .../properties/gtceu_vacuum_freezer.json | 2 +- .../properties/gtceu_wire_coating.json | 2 +- .../category/properties/gtceu_wiremill.json | 2 +- .../properties/minecraft_smelting.json | 2 +- .../properties/minecraft_smithing.json | 2 +- .../properties/minecraft_stonecutting.json | 2 +- .../category/properties/rnr_block_mod.json | 2 +- .../emi/category/properties/rnr_mattock.json | 2 +- .../properties/tacz_attachment_query.json | 2 +- .../properties/taczammoquery_ammo_query.json | 2 +- .../emi/category/properties/tfc_alloying.json | 2 +- .../emi/category/properties/tfc_anvil.json | 2 +- .../properties/tfc_blast_furnace.json | 2 +- .../emi/category/properties/tfc_bloomery.json | 2 +- .../emi/category/properties/tfc_casting.json | 2 +- .../emi/category/properties/tfc_chisel.json | 2 +- .../category/properties/tfc_glassworking.json | 2 +- .../emi/category/properties/tfc_heating.json | 2 +- .../properties/tfc_instant_barrel.json | 2 +- .../properties/tfc_instant_fluid_barrel.json | 2 +- .../emi/category/properties/tfc_jam_pot.json | 2 +- .../emi/category/properties/tfc_loom.json | 2 +- .../emi/category/properties/tfc_quern.json | 2 +- .../emi/category/properties/tfc_scraping.json | 2 +- .../properties/tfc_sealed_barrel.json | 2 +- .../emi/category/properties/tfc_sewing.json | 2 +- .../category/properties/tfc_simple_pot.json | 2 +- .../emi/category/properties/tfc_soup_pot.json | 2 +- .../emi/category/properties/tfc_welding.json | 2 +- .../properties/tfg_artisan_table.json | 1 + .../category/properties/tfg_blaze_burner.json | 2 +- .../properties/tfg_block_interaction.json | 2 +- .../vintageimprovements_centrifugation.json | 2 +- .../vintageimprovements_coiling.json | 2 +- .../vintageimprovements_curving.json | 2 +- ...rovements_grinder_sandpaper_polishing.json | 2 +- .../vintageimprovements_hammering.json | 2 +- .../vintageimprovements_laser_cutting.json | 2 +- .../vintageimprovements_polishing.json | 2 +- .../vintageimprovements_pressurizing.json | 2 +- .../vintageimprovements_vacuumizing.json | 2 +- .../vintageimprovements_vibrating.json | 2 +- kubejs/assets/tfchotornot/lang/zh_cn.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 11 +- kubejs/assets/tfg/lang/zh_cn.json | 10 +- 170 files changed, 354 insertions(+), 171 deletions(-) create mode 100644 kubejs/assets/ad_astra/lang/es_es.json create mode 100644 kubejs/assets/emi/category/properties/tfg_artisan_table.json diff --git a/kubejs/assets/ad_astra/lang/es_es.json b/kubejs/assets/ad_astra/lang/es_es.json new file mode 100644 index 000000000..5ec62777e --- /dev/null +++ b/kubejs/assets/ad_astra/lang/es_es.json @@ -0,0 +1,169 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.ad_astra.oxygen_distributor": "Distribuidor de aire respirable", + "block.ad_astra.infernal_spire_block": "Chapitel infernal", + "block.ad_astra.moon_sand": "Arena Lunar", + "block.ad_astra.moon_stone": "Anortosita en bruto", + "block.ad_astra.moon_cobblestone": "Roca de anortosita", + "block.ad_astra.moon_cobblestone_slab": "Losa de roca de anortosita", + "block.ad_astra.moon_cobblestone_stairs": "Escaleras de roca de anortosita", + "block.ad_astra.moon_pillar": "Pilar de anortosita", + "block.ad_astra.moon_stone_brick_slab": "Losa de ladrillos de anortosita", + "block.ad_astra.moon_stone_brick_stairs": "Escaleras de ladrillos de anortosita", + "block.ad_astra.moon_stone_brick_wall": "Muro de ladrillos de anortosita", + "block.ad_astra.moon_stone_bricks": "Ladrillos de anortosita", + "block.ad_astra.moon_stone_slab": "Losa de anortosita en bruto", + "block.ad_astra.moon_stone_stairs": "Escaleras de anortosita en bruto", + "block.ad_astra.chiseled_moon_stone_bricks": "Ladrillos de anortosita cincelados", + "block.ad_astra.chiseled_moon_stone_slab": "Losa de ladrillos de anortosita cincelados", + "block.ad_astra.chiseled_moon_stone_stairs": "Escaleras de ladrillos de anortosita cincelados", + "block.ad_astra.cracked_moon_stone_bricks": "Ladrillos de anortosita agrietados", + "block.ad_astra.polished_moon_stone": "Anortosita pulida", + "block.ad_astra.polished_moon_stone_slab": "Losa de anortosita pulida", + "block.ad_astra.polished_moon_stone_stairs": "Escaleras de anortosita pulida", + "block.ad_astra.sky_stone": "Meteorito", + "block.ad_astra.moon_deepslate": "Norita en bruto", + "block.ad_astra.cheese_block": "Bloque de queso lunar", + "block.ad_astra.moon_cheese_ore": "Mena de queso de anortosita", + "block.ad_astra.glacian_log": "Tallo glacial", + "block.ad_astra.stripped_glacian_log": "Tallo glacial sin corteza", + "block.ad_astra.glacian_leaves": "Lamella glacial", + "block.ad_astra.mars_sand": "Arena de argilita", + "block.ad_astra.mars_stone": "Argilita en bruto", + "block.ad_astra.mars_cobblestone": "Roca de argilita", + "block.ad_astra.mars_cobblestone_slab": "Losa de roca de argilita", + "block.ad_astra.mars_cobblestone_stairs": "Escaleras de roca de argilita", + "block.ad_astra.mars_pillar": "Pilar de argilita", + "block.ad_astra.mars_stone_brick_slab": "Losa de ladrillos de argilita", + "block.ad_astra.mars_stone_brick_stairs": "Escaleras de ladrillos de argilita", + "block.ad_astra.mars_stone_brick_wall": "Muro de ladrillos de argilita", + "block.ad_astra.mars_stone_bricks": "Ladrillos de argilita", + "block.ad_astra.mars_stone_slab": "Losa de argilita en bruto", + "block.ad_astra.mars_stone_stairs": "Escaleras de argilita en bruto", + "block.ad_astra.chiseled_mars_stone_bricks": "Ladrillos de argilita cincelados", + "block.ad_astra.chiseled_mars_stone_slab": "Losa de argilita cincelada", + "block.ad_astra.chiseled_mars_stone_stairs": "Escaleras de argilita cincelada", + "block.ad_astra.cracked_mars_stone_bricks": "Ladrillos de argilita agrietados", + "block.ad_astra.polished_mars_stone": "Argilita pulida", + "block.ad_astra.polished_mars_stone_slab": "Losa de argilita pulida", + "block.ad_astra.polished_mars_stone_stairs": "Escaleras de argilita pulida", + "block.ad_astra.conglomerate": "Roca de cubierta de meseta", + "block.ad_astra.polished_conglomerate": "Roca de cubierta de meseta pulida", + "block.ad_astra.venus_sand": "Arena de traquita", + "block.ad_astra.venus_stone": "Traquita en bruto", + "block.ad_astra.venus_cobblestone": "Roca de traquita", + "block.ad_astra.venus_cobblestone_slab": "Losa de roca de traquita", + "block.ad_astra.venus_cobblestone_stairs": "Escaleras de roca de traquita", + "block.ad_astra.venus_pillar": "Pilar de traquita", + "block.ad_astra.venus_stone_brick_slab": "Losa de ladrillos de traquita", + "block.ad_astra.venus_stone_brick_stairs": "Escaleras de ladrillos de traquita", + "block.ad_astra.venus_stone_brick_wall": "Muro de ladrillos de traquita", + "block.ad_astra.venus_stone_bricks": "Ladrillos de traquita", + "block.ad_astra.venus_stone_slab": "Losa de traquita en bruto", + "block.ad_astra.venus_stone_stairs": "Escaleras de traquita en bruto", + "block.ad_astra.chiseled_venus_stone_bricks": "Ladrillos de traquita cincelados", + "block.ad_astra.chiseled_venus_stone_slab": "Losa de traquita cincelada", + "block.ad_astra.chiseled_venus_stone_stairs": "Escaleras de traquita cinceladas", + "block.ad_astra.cracked_venus_stone_bricks": "Ladrillos de traquita agrietados", + "block.ad_astra.polished_venus_stone": "Traquita pulida", + "block.ad_astra.polished_venus_stone_slab": "Losa de traquita pulida", + "block.ad_astra.polished_venus_stone_stairs": "Escaleras de traquita pulidas", + "block.ad_astra.venus_sandstone": "Arenisca de traquita", + "block.ad_astra.venus_sandstone_bricks": "Ladrillos de arenisca de traquita", + "block.ad_astra.venus_sandstone_brick_slab": "Losa de ladrillos de arenisca de traquita", + "block.ad_astra.venus_sandstone_brick_stairs": "Escaleras de ladrillos de arenisca de traquita", + "block.ad_astra.cracked_venus_sandstone_bricks": "Ladrillos de arenisca de traquita agrietados", + "block.ad_astra.mercury_stone": "Komatita en bruto", + "block.ad_astra.mercury_cobblestone": "Roca de komatita", + "block.ad_astra.mercury_cobblestone_slab": "Losa de roca de komatita", + "block.ad_astra.mercury_cobblestone_stairs": "Escaleras de roca de komatita", + "block.ad_astra.mercury_pillar": "Pilar de komatita", + "block.ad_astra.mercury_stone_brick_slab": "Losa de ladrillos de komatita", + "block.ad_astra.mercury_stone_brick_stairs": "Escaleras de ladrillos de komatita", + "block.ad_astra.mercury_stone_brick_wall": "Muro de ladrillos de komatita", + "block.ad_astra.mercury_stone_bricks": "Ladrillos de komatita", + "block.ad_astra.mercury_stone_slab": "Losa de komatita en bruto", + "block.ad_astra.mercury_stone_stairs": "Escaleras de komatita en bruto", + "block.ad_astra.chiseled_mercury_stone_bricks": "Ladrillos de komatita cincelados", + "block.ad_astra.chiseled_mercury_stone_slab": "Losa de komatita cincelados", + "block.ad_astra.chiseled_mercury_stone_stairs": "Escaleras de komatita cinceladas", + "block.ad_astra.cracked_mercury_stone_bricks": "Ladrillos de komatita agrietados", + "block.ad_astra.polished_mercury_stone": "Komatita pulida", + "block.ad_astra.polished_mercury_stone_slab": "Losa de komatita pulida", + "block.ad_astra.polished_mercury_stone_stairs": "Escaleras de komatita pulidas", + "block.ad_astra.glacio_stone": "Fonolita en bruto", + "block.ad_astra.glacio_cobblestone": "Roca de fonolita", + "block.ad_astra.glacio_cobblestone_slab": "Losa de roca de fonolita", + "block.ad_astra.glacio_cobblestone_stairs": "Escaleras de roca de fonolita", + "block.ad_astra.glacio_pillar": "Pilar de fonolita", + "block.ad_astra.glacio_stone_brick_slab": "Losa de ladrillos de fonolita", + "block.ad_astra.glacio_stone_brick_stairs": "Escaleras de ladrillos de fonolita", + "block.ad_astra.glacio_stone_brick_wall": "Muro de ladrillos de fonolita", + "block.ad_astra.glacio_stone_bricks": "Ladrillos de fonolita", + "block.ad_astra.glacio_stone_slab": "Losa de fonolita en bruto", + "block.ad_astra.glacio_stone_stairs": "Escaleras de fonolita en bruto", + "block.ad_astra.chiseled_glacio_stone_bricks": "Ladrillos de fonolita cincelados", + "block.ad_astra.chiseled_glacio_stone_slab": "Losa de fonolita cincelada", + "block.ad_astra.chiseled_glacio_stone_stairs": "Escaleras de fonolita cinceladas", + "block.ad_astra.cracked_glacio_stone_bricks": "Ladrillos de fonolita agrietados", + "block.ad_astra.polished_glacio_stone": "Fonolita pulida", + "block.ad_astra.polished_glacio_stone_slab": "Losa de fonolita pulida", + "block.ad_astra.polished_glacio_stone_stairs": "Escaleras de fonolita pulida", + "block.ad_astra.glacio_globe": "Globo de Europa", + "entity.ad_astra.corrupted_lunarian": "Zombi lunar", + "entity.ad_astra.martian_raptor": "Ave de presa esquelética", + "entity.ad_astra.tier_1_rocket": "Cohete de R-Aluminacero", + "entity.ad_astra.tier_2_rocket": "Cohete de titanio ASM 4914", + "entity.ad_astra.tier_3_rocket": "Cohete de acero de tungsteno 45-Ti", + "entity.ad_astra.tier_1_rover": "Astromóvil", + "fluid_type.ad_astra.oxygen": "Aire respirable", + "item.ad_astra.steel_cable": "Cable RF básico", + "item.ad_astra.desh_cable": "Cable RF avanzado", + "item.ad_astra.tier_1_rocket": "Cohete de R-Aluminacero", + "item.ad_astra.tier_2_rocket": "Cohete de titanio ASM 4914", + "item.ad_astra.tier_3_rocket": "Cohete de acero de tungsteno 45-Ti", + "item.ad_astra.oxygen_bucket": "Cubo con aire respirable", + "item.ad_astra.tier_1_rover": "Astromóvil", + "item.ad_astra.photovoltaic_etrium_cell": "Celda fotovoltáica avanzada", + "item.ad_astra.photovoltaic_vesnium_cell": "Celda fotovoltáica de energium", + "item.ad_astra.ostrum_tank": "Ostrum Booster Tank", + "item.ad_astra.steel_engine": "Motor de cohete de acero", + "item.ad_astra.desh_engine": "Motor de cohete de desh", + "item.ad_astra.ostrum_engine": "Motor de cohete de ostrum", + "item.ad_astra.netherite_space_helmet": "§bCasco espacial de acero de tungsteno", + "item.ad_astra.netherite_space_suit": "§bTraje espacial de acero de tungsteno", + "item.ad_astra.netherite_space_pants": "§bPantalones espaciales de acero de tungsteno", + "item.ad_astra.netherite_space_boots": "§bBotas espaciales de acero de tungsteno", + "item.ad_astra.cheese": "Queso lunar", + "dimension.ad_astra.glacio": "Europa", + "dimension.ad_astra.glacio_orbit": "Órbita de Europa", + "painting.ad_astra.glacio.title": "Europa", + "planet.ad_astra.glacio": "Europa", + "planet.ad_astra.glacio_orbit": "Órbita de Europa", + "tagprefix.moon_stone": "Mena de %s de anortosita", + "tagprefix.moon_deepslate": "Mena de %s de norita", + "tagprefix.mars_stone": "Mena de %s de argilita", + "tagprefix.venus_stone": "Mena de %s de traquita", + "tagprefix.mercury_stone": "Mena de %s de komatita", + "tagprefix.glacio_stone": "Mena de %s de fonolita", + "info.ad_astra.solar_panel": "Genera energía solar durante el día. La energía generada es dependiente del planeta.", + "tooltip.ad_astra.energy": "%s FE / %s FE", + "tooltip.ad_astra.energy_generation_per_tick": "Genera %s FE por tick", + "tooltip.ad_astra.energy_in": "Entrada: %s FE/t", + "tooltip.ad_astra.energy_out": "Salida: %s FE/t", + "tooltip.ad_astra.energy_per_tick": "%s FE/t", + "tooltip.ad_astra.energy_transfer_tick": "Transferencia: %s FE/t", + "tooltip.ad_astra.energy_use_per_tick": "Usa %s FE por tick", + "tooltip.ad_astra.max_energy_in": "Entrada máxima: %s FE/t", + "tooltip.ad_astra.max_energy_out": "Salida máxima: %s FE/t", + "tooltip.ad_astra.max_generation": "Máximo: %s FE/t", + "tooltip.ad_astra.max_fluid_in": "Entrada máxima: %s mB/t", + "tooltip.ad_astra.max_fluid_out": "Salida máxima: %s mB/t", + "tooltip.ad_astra.fluid": "%s mB / %s mB %s", + "tooltip.ad_astra.fluid_generation_per_iteration": "Genera %s mB por iteración", + "tooltip.ad_astra.fluid_in": "Entrada: %s mB/t", + "tooltip.ad_astra.fluid_out": "Salida: %s mB/t", + "tooltip.ad_astra.fluid_per_tick": "%s mB/t", + "tooltip.ad_astra.fluid_transfer_tick": "Transferencia: %s mB/t", + "tooltip.ad_astra.fluid_use_per_iteration": "Usa %s mB por iteración" +} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index e5989a692..6b95888a8 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":158}} \ No newline at end of file +{"ae2:condenser":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_item_transformation.json b/kubejs/assets/emi/category/properties/ae2_item_transformation.json index c3db93797..b43191b1e 100644 --- a/kubejs/assets/emi/category/properties/ae2_item_transformation.json +++ b/kubejs/assets/emi/category/properties/ae2_item_transformation.json @@ -1 +1 @@ -{"ae2:item_transformation":{"order":49}} \ No newline at end of file +{"ae2:item_transformation":{"order":50}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index bd9501a4b..067e17ad4 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":170}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/afc_tree_tap.json b/kubejs/assets/emi/category/properties/afc_tree_tap.json index b74daf269..06826601c 100644 --- a/kubejs/assets/emi/category/properties/afc_tree_tap.json +++ b/kubejs/assets/emi/category/properties/afc_tree_tap.json @@ -1 +1 @@ -{"afc:tree_tap":{"order":29}} \ No newline at end of file +{"afc:tree_tap":{"order":30}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_deploying.json b/kubejs/assets/emi/category/properties/create_deploying.json index b87208177..dad06c61b 100644 --- a/kubejs/assets/emi/category/properties/create_deploying.json +++ b/kubejs/assets/emi/category/properties/create_deploying.json @@ -1 +1 @@ -{"create:deploying":{"order":52}} \ No newline at end of file +{"create:deploying":{"order":53}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index ee5f9237c..89073cb93 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":173}} \ No newline at end of file +{"create:draining":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_item_application.json b/kubejs/assets/emi/category/properties/create_item_application.json index bbbc8bb09..b818d965b 100644 --- a/kubejs/assets/emi/category/properties/create_item_application.json +++ b/kubejs/assets/emi/category/properties/create_item_application.json @@ -1 +1 @@ -{"create:item_application":{"order":53}} \ No newline at end of file +{"create:item_application":{"order":54}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json b/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json index 345f16be3..ae6ea0d54 100644 --- a/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json +++ b/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json @@ -1 +1 @@ -{"create:sandpaper_polishing":{"order":50}} \ No newline at end of file +{"create:sandpaper_polishing":{"order":51}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_sequenced_assembly.json b/kubejs/assets/emi/category/properties/create_sequenced_assembly.json index 2dc37de33..acf9aafff 100644 --- a/kubejs/assets/emi/category/properties/create_sequenced_assembly.json +++ b/kubejs/assets/emi/category/properties/create_sequenced_assembly.json @@ -1 +1 @@ -{"create:sequenced_assembly":{"order":55}} \ No newline at end of file +{"create:sequenced_assembly":{"order":56}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index dbc8fd535..267530a67 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":174}} \ No newline at end of file +{"create:spout_filling":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index 3524eee33..ff2e73280 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":81}} \ No newline at end of file +{"createaddition:rolling":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_fr.json b/kubejs/assets/emi/category/properties/deafission_component_fr.json index 23ab63472..875234609 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_fr.json +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -1 +1 @@ -{"deafission:component_fr":{"order":71}} \ No newline at end of file +{"deafission:component_fr":{"order":72}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_component.json b/kubejs/assets/emi/category/properties/deafission_fission_component.json index 41832a459..5784c5d53 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_component.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_component.json @@ -1 +1 @@ -{"deafission:fission_component":{"order":70}} \ No newline at end of file +{"deafission:fission_component":{"order":71}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json index 5f41b7113..6c6afed67 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json @@ -1 +1 @@ -{"deafission:fission_reactor_coolant":{"order":67}} \ No newline at end of file +{"deafission:fission_reactor_coolant":{"order":68}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json index adc216b76..504f42e25 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json @@ -1 +1 @@ -{"deafission:fission_reactor_fuel":{"order":69}} \ No newline at end of file +{"deafission:fission_reactor_fuel":{"order":70}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json index 87bf66379..1d7899a11 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json @@ -1 +1 @@ -{"deafission:fission_reactor_processing":{"order":68}} \ No newline at end of file +{"deafission:fission_reactor_processing":{"order":69}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index 7715f2c79..3c15a19a7 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":165}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index b8c07b028..c2935cecb 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":169}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index de5b44335..5854418dc 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":179}} \ No newline at end of file +{"emi:info":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index 8913e2dd2..eda00a319 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":180}} \ No newline at end of file +{"emi:tag":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index d08557db7..707d2dbc2 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":163}} \ No newline at end of file +{"exposure:photograph_printing":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index c79168c91..25cf51b96 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":164}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json b/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json index 5c6d431f3..0b2540eca 100644 --- a/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json +++ b/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json @@ -1 +1 @@ -{"firmalife:bowl_pot":{"order":43}} \ No newline at end of file +{"firmalife:bowl_pot":{"order":44}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_drying.json b/kubejs/assets/emi/category/properties/firmalife_drying.json index 9e393a878..bf367d13c 100644 --- a/kubejs/assets/emi/category/properties/firmalife_drying.json +++ b/kubejs/assets/emi/category/properties/firmalife_drying.json @@ -1 +1 @@ -{"firmalife:drying":{"order":35}} \ No newline at end of file +{"firmalife:drying":{"order":36}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json b/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json index f8d8e7108..bee11e631 100644 --- a/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json +++ b/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json @@ -1 +1 @@ -{"firmalife:mixing_bowl":{"order":36}} \ No newline at end of file +{"firmalife:mixing_bowl":{"order":37}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_oven.json b/kubejs/assets/emi/category/properties/firmalife_oven.json index 3aff9e548..41eef1719 100644 --- a/kubejs/assets/emi/category/properties/firmalife_oven.json +++ b/kubejs/assets/emi/category/properties/firmalife_oven.json @@ -1 +1 @@ -{"firmalife:oven":{"order":37}} \ No newline at end of file +{"firmalife:oven":{"order":38}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_smoking.json b/kubejs/assets/emi/category/properties/firmalife_smoking.json index d2d5eeaa1..dfda139c9 100644 --- a/kubejs/assets/emi/category/properties/firmalife_smoking.json +++ b/kubejs/assets/emi/category/properties/firmalife_smoking.json @@ -1 +1 @@ -{"firmalife:smoking":{"order":39}} \ No newline at end of file +{"firmalife:smoking":{"order":40}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_stomping.json b/kubejs/assets/emi/category/properties/firmalife_stomping.json index 52133f4ce..dfdd42851 100644 --- a/kubejs/assets/emi/category/properties/firmalife_stomping.json +++ b/kubejs/assets/emi/category/properties/firmalife_stomping.json @@ -1 +1 @@ -{"firmalife:stomping":{"order":45}} \ No newline at end of file +{"firmalife:stomping":{"order":46}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_vat.json b/kubejs/assets/emi/category/properties/firmalife_vat.json index 1032b5898..5f18c652d 100644 --- a/kubejs/assets/emi/category/properties/firmalife_vat.json +++ b/kubejs/assets/emi/category/properties/firmalife_vat.json @@ -1 +1 @@ -{"firmalife:vat":{"order":44}} \ No newline at end of file +{"firmalife:vat":{"order":45}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index a95aa8971..38da3b56b 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":168}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index f73592900..698a21706 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":177}} \ No newline at end of file +{"greate:automatic_packing":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index a6906d2a3..b422abba8 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":175}} \ No newline at end of file +{"greate:automatic_shaped":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 0e8bd0689..442c0e107 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":176}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index 32291d555..2e41c54b1 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":167}} \ No newline at end of file +{"greate:block_cutting":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 3e8026cb5..640462ec6 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":119}} \ No newline at end of file +{"greate:crushing":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 1215ae3dc..7944b77b7 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":125}} \ No newline at end of file +{"greate:fan_washing":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 01f14ecb5..954c52b28 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":118}} \ No newline at end of file +{"greate:milling":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index 67983151f..3c5c093c7 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":123}} \ No newline at end of file +{"greate:mixing":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_packing.json b/kubejs/assets/emi/category/properties/greate_packing.json index 54da5b3e9..e8e4b2d6d 100644 --- a/kubejs/assets/emi/category/properties/greate_packing.json +++ b/kubejs/assets/emi/category/properties/greate_packing.json @@ -1 +1 @@ -{"greate:packing":{"order":21}} \ No newline at end of file +{"greate:packing":{"order":22}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 915a21b25..6ec0e927b 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":108}} \ No newline at end of file +{"greate:pressing":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index b14496925..9fa83720a 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":95}} \ No newline at end of file +{"greate:sawing":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index f41aab06a..6699a164c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":74}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index f8fc50a7d..ef4356bb7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":135}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index 176573172..f6e4b0423 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":75}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index f14c7de77..92c064469 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":77}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index 169b35cfb..86d984b45 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":78}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index c3807af7f..6186ec92e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":159}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index e547ae894..8edabc0e4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":79}} \ No newline at end of file +{"gtceu:assembler":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index dbce179a4..fd55fae87 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":136}} \ No newline at end of file +{"gtceu:assembly_line":{"order":137}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index 37a92f362..a53a009d1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":80}} \ No newline at end of file +{"gtceu:autoclave":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index ac1b79c9b..72563097a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":83}} \ No newline at end of file +{"gtceu:bender":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index df5863ec1..5954ef3db 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":137}} \ No newline at end of file +{"gtceu:bioreactor":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index 8cc06a1e4..422d93589 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":84}} \ No newline at end of file +{"gtceu:brewery":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index 9ac566d07..526901f9c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":85}} \ No newline at end of file +{"gtceu:canner":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index 849e253b1..d8004471f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":87}} \ No newline at end of file +{"gtceu:centrifuge":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index 0ac44f86d..ff35d2403 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":89}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 14bbcd091..77fb65f40 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":88}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index 0b579ef62..6dea103e0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":91}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 3c50acf2a..45bdc0ff5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":93}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 7c3d1662f..13f13109d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":138}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coke_oven.json b/kubejs/assets/emi/category/properties/gtceu_coke_oven.json index 7c5fb7c74..6e875cd64 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coke_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_coke_oven.json @@ -1 +1 @@ -{"gtceu:coke_oven":{"order":59}} \ No newline at end of file +{"gtceu:coke_oven":{"order":60}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json b/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json index 23a9fd588..cdfa90630 100644 --- a/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json @@ -1 +1 @@ -{"gtceu:combustion_generator":{"order":61}} \ No newline at end of file +{"gtceu:combustion_generator":{"order":62}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index b4608cf12..52e2dbf69 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":94}} \ No newline at end of file +{"gtceu:compressor":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index f2f6ef99b..886e4779b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":139}} \ No newline at end of file +{"gtceu:cracker":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index 1af20f965..f265e3581 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":96}} \ No newline at end of file +{"gtceu:cutter":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index 72a980557..dbb857434 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":98}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index 88cdd2fe7..abe5bff62 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":97}} \ No newline at end of file +{"gtceu:distillery":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index a06f87714..20666032f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":140}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index 64bd5759c..3d59509ee 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":99}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index 5f99ad041..55b6d8105 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":100}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 6384d23bf..75b000ec2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":141}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index a31e5a37e..a098ce001 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":102}} \ No newline at end of file +{"gtceu:extractor":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 6e0143e12..99ab62d51 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":161}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index 4d76a1d27..f191dc87e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":104}} \ No newline at end of file +{"gtceu:extruder":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index 222919a16..d5c266326 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":105}} \ No newline at end of file +{"gtceu:fermenter":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index fad7a9f11..6e14a9976 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":142}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index 511826e95..ea2cd6df9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":106}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index c27aac3b2..4f6b62384 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":107}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_food_oven.json b/kubejs/assets/emi/category/properties/gtceu_food_oven.json index 8eb36875b..e34fe713b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_food_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_food_oven.json @@ -1 +1 @@ -{"gtceu:food_oven":{"order":38}} \ No newline at end of file +{"gtceu:food_oven":{"order":39}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_food_processor.json b/kubejs/assets/emi/category/properties/gtceu_food_processor.json index 951432e03..619dd2ff7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_food_processor.json +++ b/kubejs/assets/emi/category/properties/gtceu_food_processor.json @@ -1 +1 @@ -{"gtceu:food_processor":{"order":46}} \ No newline at end of file +{"gtceu:food_processor":{"order":47}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index 5c7caff41..05db31d07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":109}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index ac1ab08a5..213ce1954 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":111}} \ No newline at end of file +{"gtceu:forming_press":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 696302445..3f4912970 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":143}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index 0855a78a8..c7c01db93 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":112}} \ No newline at end of file +{"gtceu:gas_collector":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index c55dcefef..7231cc1c7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":113}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json b/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json index ae2caa47f..1e6ab6dee 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json @@ -1 +1 @@ -{"gtceu:gas_turbine":{"order":62}} \ No newline at end of file +{"gtceu:gas_turbine":{"order":63}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index 20d1e3946..efa9331fc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":144}} \ No newline at end of file +{"gtceu:greenhouse":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 11bb3eba1..462decfd8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":145}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index 3c4d85d63..baafe3f50 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":146}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 5aca7e4c1..0a8de3528 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":147}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index 971a52dbe..d02888088 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":76}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_boiler.json b/kubejs/assets/emi/category/properties/gtceu_large_boiler.json index 767c4742a..311888a6b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_boiler.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_boiler.json @@ -1 +1 @@ -{"gtceu:large_boiler":{"order":57}} \ No newline at end of file +{"gtceu:large_boiler":{"order":58}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index 8d9aefd8f..47a56c517 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":92}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json index 2ee7e3233..75fe09b10 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json @@ -1 +1 @@ -{"gtceu:large_solar_panel":{"order":63}} \ No newline at end of file +{"gtceu:large_solar_panel":{"order":64}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json index 348ef5499..c4f897724 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json @@ -1 +1 @@ -{"gtceu:large_solar_panel_tier2":{"order":64}} \ No newline at end of file +{"gtceu:large_solar_panel_tier2":{"order":65}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json index 579c5fe10..ed2df2f6e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json @@ -1 +1 @@ -{"gtceu:large_solar_panel_tier3":{"order":65}} \ No newline at end of file +{"gtceu:large_solar_panel_tier3":{"order":66}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 9f146f15f..4a437912f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":115}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index 7659c2ad4..c980bccd7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":117}} \ No newline at end of file +{"gtceu:lathe":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 35d939495..196bf9eff 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":120}} \ No newline at end of file +{"gtceu:macerator":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index 8f6be3973..d347311b6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":160}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index ca10c1c19..414afa0ea 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":122}} \ No newline at end of file +{"gtceu:mixer":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 7adafaf6b..83720c659 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":148}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 386165365..345240e54 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":149}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json index 95573260b..803a8afce 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json @@ -1 +1 @@ -{"gtceu:nuclear_turbine":{"order":66}} \ No newline at end of file +{"gtceu:nuclear_turbine":{"order":67}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index da316554a..df113f580 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":90}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index e3e09a0f7..d95deb28b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":121}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index 2be9b523a..e3a94606a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":110}} \ No newline at end of file +{"gtceu:ore_forging":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 99fc46d2e..405a50946 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":124}} \ No newline at end of file +{"gtceu:ore_washer":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index c9fdc1274..602826a05 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":150}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index e609def97..5ac587256 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":151}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 2f428dab9..7b19510f3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":126}} \ No newline at end of file +{"gtceu:packer":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index 2f137300b..a0bd0d75a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":152}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index 66f62c6f5..902dc1974 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":72}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index f77e2a7b1..77f51e722 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":127}} \ No newline at end of file +{"gtceu:polarizer":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index 1ca470d2f..2ddd1eaf6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":178}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index 3ee2775ce..d2931e90f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":153}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index 2e9c56869..7a62851bb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":154}} \ No newline at end of file +{"gtceu:research_station":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index d43366b28..8fc971e87 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":128}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index bc3c9eb07..f499fd75f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":129}} \ No newline at end of file +{"gtceu:scanner":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index 91729a678..08590a5a8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":131}} \ No newline at end of file +{"gtceu:sifter":{"order":132}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index cbf79f09e..4beba1a99 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":155}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json b/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json index aa5444e77..1344362df 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json @@ -1 +1 @@ -{"gtceu:steam_boiler":{"order":56}} \ No newline at end of file +{"gtceu:steam_boiler":{"order":57}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json b/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json index c04030c4c..2d062a1d3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json @@ -1 +1 @@ -{"gtceu:steam_turbine":{"order":58}} \ No newline at end of file +{"gtceu:steam_turbine":{"order":59}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index e2c701368..0bc83bd94 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":132}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index c35543341..5edc94182 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":156}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index 0bcd70b8e..a127850c7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":157}} \ No newline at end of file +{"gtceu:wire_coating":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index d6768e6e3..d33e56613 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":134}} \ No newline at end of file +{"gtceu:wiremill":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index 40e3a7239..e0a9398cb 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":73}} \ No newline at end of file +{"minecraft:smelting":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 0884f8637..3ef51601a 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":162}} \ No newline at end of file +{"minecraft:smithing":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index 8e40f1250..adbf423f4 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":166}} \ No newline at end of file +{"minecraft:stonecutting":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/rnr_block_mod.json b/kubejs/assets/emi/category/properties/rnr_block_mod.json index 8ab0b1d64..d24ca9768 100644 --- a/kubejs/assets/emi/category/properties/rnr_block_mod.json +++ b/kubejs/assets/emi/category/properties/rnr_block_mod.json @@ -1 +1 @@ -{"rnr:block_mod":{"order":47}} \ No newline at end of file +{"rnr:block_mod":{"order":48}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/rnr_mattock.json b/kubejs/assets/emi/category/properties/rnr_mattock.json index ef212895f..4964f4dc6 100644 --- a/kubejs/assets/emi/category/properties/rnr_mattock.json +++ b/kubejs/assets/emi/category/properties/rnr_mattock.json @@ -1 +1 @@ -{"rnr:mattock":{"order":48}} \ No newline at end of file +{"rnr:mattock":{"order":49}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 5a657c070..5120abdce 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":171}} \ No newline at end of file +{"tacz:attachment_query":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index df66f83aa..d1d6603bc 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":172}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_alloying.json b/kubejs/assets/emi/category/properties/tfc_alloying.json index 73194c877..7befe3371 100644 --- a/kubejs/assets/emi/category/properties/tfc_alloying.json +++ b/kubejs/assets/emi/category/properties/tfc_alloying.json @@ -1 +1 @@ -{"tfc:alloying":{"order":28}} \ No newline at end of file +{"tfc:alloying":{"order":29}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_anvil.json b/kubejs/assets/emi/category/properties/tfc_anvil.json index 41ead7698..dbbd48fb3 100644 --- a/kubejs/assets/emi/category/properties/tfc_anvil.json +++ b/kubejs/assets/emi/category/properties/tfc_anvil.json @@ -1 +1 @@ -{"tfc:anvil":{"order":19}} \ No newline at end of file +{"tfc:anvil":{"order":20}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_blast_furnace.json b/kubejs/assets/emi/category/properties/tfc_blast_furnace.json index bcf2aeb66..d5bfd0031 100644 --- a/kubejs/assets/emi/category/properties/tfc_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/tfc_blast_furnace.json @@ -1 +1 @@ -{"tfc:blast_furnace":{"order":27}} \ No newline at end of file +{"tfc:blast_furnace":{"order":28}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_bloomery.json b/kubejs/assets/emi/category/properties/tfc_bloomery.json index 64e2b0fc5..ca4669630 100644 --- a/kubejs/assets/emi/category/properties/tfc_bloomery.json +++ b/kubejs/assets/emi/category/properties/tfc_bloomery.json @@ -1 +1 @@ -{"tfc:bloomery":{"order":26}} \ No newline at end of file +{"tfc:bloomery":{"order":27}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_casting.json b/kubejs/assets/emi/category/properties/tfc_casting.json index 7ab19f53a..429cc3c55 100644 --- a/kubejs/assets/emi/category/properties/tfc_casting.json +++ b/kubejs/assets/emi/category/properties/tfc_casting.json @@ -1 +1 @@ -{"tfc:casting":{"order":18}} \ No newline at end of file +{"tfc:casting":{"order":19}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_chisel.json b/kubejs/assets/emi/category/properties/tfc_chisel.json index e1060b283..ca7e4f652 100644 --- a/kubejs/assets/emi/category/properties/tfc_chisel.json +++ b/kubejs/assets/emi/category/properties/tfc_chisel.json @@ -1 +1 @@ -{"tfc:chisel":{"order":33}} \ No newline at end of file +{"tfc:chisel":{"order":34}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_glassworking.json b/kubejs/assets/emi/category/properties/tfc_glassworking.json index 6e0a43dc4..eb9ecc48c 100644 --- a/kubejs/assets/emi/category/properties/tfc_glassworking.json +++ b/kubejs/assets/emi/category/properties/tfc_glassworking.json @@ -1 +1 @@ -{"tfc:glassworking":{"order":32}} \ No newline at end of file +{"tfc:glassworking":{"order":33}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_heating.json b/kubejs/assets/emi/category/properties/tfc_heating.json index 1d8ff6480..e96e69649 100644 --- a/kubejs/assets/emi/category/properties/tfc_heating.json +++ b/kubejs/assets/emi/category/properties/tfc_heating.json @@ -1 +1 @@ -{"tfc:heating":{"order":16}} \ No newline at end of file +{"tfc:heating":{"order":17}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_instant_barrel.json b/kubejs/assets/emi/category/properties/tfc_instant_barrel.json index d877178e4..bc8c355ee 100644 --- a/kubejs/assets/emi/category/properties/tfc_instant_barrel.json +++ b/kubejs/assets/emi/category/properties/tfc_instant_barrel.json @@ -1 +1 @@ -{"tfc:instant_barrel":{"order":23}} \ No newline at end of file +{"tfc:instant_barrel":{"order":24}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json b/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json index e7477e0f5..94fc2b3a4 100644 --- a/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json +++ b/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json @@ -1 +1 @@ -{"tfc:instant_fluid_barrel":{"order":24}} \ No newline at end of file +{"tfc:instant_fluid_barrel":{"order":25}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_jam_pot.json b/kubejs/assets/emi/category/properties/tfc_jam_pot.json index 0aef4616a..681c4b0ca 100644 --- a/kubejs/assets/emi/category/properties/tfc_jam_pot.json +++ b/kubejs/assets/emi/category/properties/tfc_jam_pot.json @@ -1 +1 @@ -{"tfc:jam_pot":{"order":42}} \ No newline at end of file +{"tfc:jam_pot":{"order":43}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_loom.json b/kubejs/assets/emi/category/properties/tfc_loom.json index e75a691b5..9cc1fda8b 100644 --- a/kubejs/assets/emi/category/properties/tfc_loom.json +++ b/kubejs/assets/emi/category/properties/tfc_loom.json @@ -1 +1 @@ -{"tfc:loom":{"order":31}} \ No newline at end of file +{"tfc:loom":{"order":32}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_quern.json b/kubejs/assets/emi/category/properties/tfc_quern.json index 236da9c3b..f63c00555 100644 --- a/kubejs/assets/emi/category/properties/tfc_quern.json +++ b/kubejs/assets/emi/category/properties/tfc_quern.json @@ -1 +1 @@ -{"tfc:quern":{"order":17}} \ No newline at end of file +{"tfc:quern":{"order":18}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_scraping.json b/kubejs/assets/emi/category/properties/tfc_scraping.json index e14d944ca..c4288360f 100644 --- a/kubejs/assets/emi/category/properties/tfc_scraping.json +++ b/kubejs/assets/emi/category/properties/tfc_scraping.json @@ -1 +1 @@ -{"tfc:scraping":{"order":30}} \ No newline at end of file +{"tfc:scraping":{"order":31}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json b/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json index e03845208..cc7562727 100644 --- a/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json +++ b/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json @@ -1 +1 @@ -{"tfc:sealed_barrel":{"order":25}} \ No newline at end of file +{"tfc:sealed_barrel":{"order":26}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_sewing.json b/kubejs/assets/emi/category/properties/tfc_sewing.json index 75fbf2ebf..c29ae1052 100644 --- a/kubejs/assets/emi/category/properties/tfc_sewing.json +++ b/kubejs/assets/emi/category/properties/tfc_sewing.json @@ -1 +1 @@ -{"tfc:sewing":{"order":34}} \ No newline at end of file +{"tfc:sewing":{"order":35}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_simple_pot.json b/kubejs/assets/emi/category/properties/tfc_simple_pot.json index 1fb8c60ce..479fb4384 100644 --- a/kubejs/assets/emi/category/properties/tfc_simple_pot.json +++ b/kubejs/assets/emi/category/properties/tfc_simple_pot.json @@ -1 +1 @@ -{"tfc:simple_pot":{"order":40}} \ No newline at end of file +{"tfc:simple_pot":{"order":41}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_soup_pot.json b/kubejs/assets/emi/category/properties/tfc_soup_pot.json index 2692e0a12..11e15e272 100644 --- a/kubejs/assets/emi/category/properties/tfc_soup_pot.json +++ b/kubejs/assets/emi/category/properties/tfc_soup_pot.json @@ -1 +1 @@ -{"tfc:soup_pot":{"order":41}} \ No newline at end of file +{"tfc:soup_pot":{"order":42}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_welding.json b/kubejs/assets/emi/category/properties/tfc_welding.json index 0d3fa1c3a..f8f98981d 100644 --- a/kubejs/assets/emi/category/properties/tfc_welding.json +++ b/kubejs/assets/emi/category/properties/tfc_welding.json @@ -1 +1 @@ -{"tfc:welding":{"order":20}} \ No newline at end of file +{"tfc:welding":{"order":21}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfg_artisan_table.json b/kubejs/assets/emi/category/properties/tfg_artisan_table.json new file mode 100644 index 000000000..1288ac4a4 --- /dev/null +++ b/kubejs/assets/emi/category/properties/tfg_artisan_table.json @@ -0,0 +1 @@ +{"tfg:artisan_table":{"order":16}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfg_blaze_burner.json b/kubejs/assets/emi/category/properties/tfg_blaze_burner.json index f5b18fcd8..697bd742c 100644 --- a/kubejs/assets/emi/category/properties/tfg_blaze_burner.json +++ b/kubejs/assets/emi/category/properties/tfg_blaze_burner.json @@ -1 +1 @@ -{"tfg:blaze_burner":{"order":60}} \ No newline at end of file +{"tfg:blaze_burner":{"order":61}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfg_block_interaction.json b/kubejs/assets/emi/category/properties/tfg_block_interaction.json index fa4725535..e4355d70b 100644 --- a/kubejs/assets/emi/category/properties/tfg_block_interaction.json +++ b/kubejs/assets/emi/category/properties/tfg_block_interaction.json @@ -1 +1 @@ -{"tfg:block_interaction":{"order":54}} \ No newline at end of file +{"tfg:block_interaction":{"order":55}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index 05eea7f7b..ee3e03c79 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":86}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 185fc7f00..9cb992072 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":133}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index d08896541..ecaad064d 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":103}} \ No newline at end of file +{"vintageimprovements:curving":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json index ad40e3992..128e27e83 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json @@ -1 +1 @@ -{"vintageimprovements:grinder_sandpaper_polishing":{"order":51}} \ No newline at end of file +{"vintageimprovements:grinder_sandpaper_polishing":{"order":52}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json b/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json index 648a027a6..cadc583f1 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json @@ -1 +1 @@ -{"vintageimprovements:hammering":{"order":22}} \ No newline at end of file +{"vintageimprovements:hammering":{"order":23}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index c014d6a25..aa0b4f013 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":114}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index 760cee391..fde04d7d1 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":116}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index f6bb70239..40a51fa64 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":82}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index 8e01ce0e6..9d955f31a 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":101}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 9cc5cbe70..05cc197f3 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":130}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/tfchotornot/lang/zh_cn.json b/kubejs/assets/tfchotornot/lang/zh_cn.json index b88627358..2be883ffd 100644 --- a/kubejs/assets/tfchotornot/lang/zh_cn.json +++ b/kubejs/assets/tfchotornot/lang/zh_cn.json @@ -3,8 +3,8 @@ "tfchotornot.creative_tab.tfchotornot": "群峦传说:冷热自知", "tooltip.tfchotornot.insulating_items": "佩戴于副手可避免负面效果", "tooltip.tfchotornot.toohot": "太烫了,无法接触!", - "tooltip.tfchotornot.toocold": "太冷了,不能处理!", - "tooltip.tfchotornot.toolight": "太亮了,不能处理!", + "tooltip.tfchotornot.toocold": "太冷了,无法接触!", + "tooltip.tfchotornot.toolight": "太轻了,无法接触!", "message.tfchotornot.item_getting_hot": "注意!副手物品过热!", "item.tfchotornot.mittens": "手套", "item.tfchotornot.burlap_potholder": "粗麻布隔热垫", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index c7ae766bd..c0d3908ba 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1202,6 +1202,7 @@ "item.tfg.fish_roe": "%s Roe", "item.tfg.rotten_voiding_cover": "Rotten Voiding Cover", "item.tfg.flora_pellets": "Flora Pellets", + "item.tfg.magnesia_refractory_brick_ingot": "Resin-Bonded Magnesia Refractory Brick", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1377,6 +1378,13 @@ "material.tfg.chloroplasts": "Chloroplasts", "material.tfg.nitrate_rich_water": "Nitrate Rich Water", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Nitrate Rich Semiheavy Ammoniacal Water", + "material.tfg.weak_red_steel": "Weak Red Steel", + "material.tfg.weak_blue_steel": "Weak Blue Steel", + "material.tfg.refractory_clay": "Refractory Clay", + "material.tfg.bakelite": "Bakelite", + "material.tfg.phenolic_resin": "Phenolic Resin", + "material.tfg.magnesium_hydroxide": "Magnesium Hydroxide", + "material.tfg.magnesia_refractory_brick": "Resin-Bonded Magnesia Refractory Brick", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1700,6 +1708,7 @@ "tfg.tooltip.hotornot_hot_equipment": "§7Provides protection from all §6hot§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§r", + "tfg.tooltip.polycaprolactam": "Also known as Nylon", "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch.", "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches.", "tfg.tooltip.machine.subtick": "This machine supports §2Subticking§r!", @@ -4021,7 +4030,7 @@ "quests.steam_age.resin_boards.desc": "Did you know tree taps can drip directly into GregTech pipes and drums? Now you do!", "quests.steam_age.circuit_boards.title": "Electronics #2: Circuit Boards", "quests.steam_age.circuit_boards.subtitle": "The easier component for circuits", - "quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.", + "quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit Boards&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.", "quests.steam_age.vacuum_chamber.title": "Vacuum Chamber", "quests.steam_age.vacuum_chamber.subtitle": "Putting the Vacuum in Vacuum Tubes", "quests.steam_age.vacuum_chamber.desc": "This machine is the final step in making your first Vacuum Tubes. Place it above a Basin and give it some power, and make sure the machine is set to Vacuumizing mode.\n\nThis machine can also help liquefy glue and rubber while being heated by either a Charcoal Forge or a Blaze Burner.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 2464e8c53..c40e74d68 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -810,6 +810,8 @@ "block.tfg.impure_moderate_core": "不纯慢化堆芯", "block.tfg.moderate_core_frame": "慢化堆芯框架", "block.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", + "tfg.block_entity.artisan_table": "工匠台", + "block.tfg.artisan_table": "工匠台", "fluid.tfg.heavy_ammoniacal_water": "重氨水", "fluid.tfg.semiheavy_ammoniacal_water": "半重氨水", "fluid.tfg.sulfur_fumes": "浓硫酸烟雾", @@ -1782,7 +1784,7 @@ "tfg.tooltip.hotornot_container": "§a可安全容纳§6高温§a、§b低温§a以及§e比空气轻§a的物品与流体。§r", "tfg.tooltip.hotornot_hot_equipment": "§7提供对所有§6高温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_cold_equipment": "§7提供对所有§b低温§7物品、流体和管道的防护。§r", - "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7d的气体的防护。§r", + "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7的气体的防护。§r", "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -1831,6 +1833,8 @@ "tfg.tooltip.component.nuclear_turbine_2": "每个高于 §5EV§r 阶段的转子支架 §7可提升§r 10% 效率,并使 EU/t 产出翻倍。", "tfg.tooltip.component.smr_generator_1": "§e基础产出:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "专为利用超临界二氧化碳与小模块化反应堆发电而设计。\n使用润滑剂与加速剂可提升其效率,并管理反应堆的冷却回路。", + "tfg.tooltip.show_recipes": "显示配方", + "emi.category.tfg.artisan_table": "工匠台", "tfg.gui.refrigerator.unify_dates.enabled": "过期日期统一:§a开", "tfg.gui.refrigerator.unify_dates.disabled": "过期日期统一:§a关", "tfg.machine.food_refrigerator_power_usage": "§7工作时消耗§r %s EU/t §7以保持食物新鲜。§r", @@ -2230,7 +2234,7 @@ "quests.create_logistics.rose_quartz_lens.desc": "无论你以何种方式获得了所需材料,你都需要一台&3车床&r来实际制造透镜。一台&7基础&3车床&r足以用一颗&d精美玫瑰石英&r宝石制作透镜,但如果你想仅用一块板来制作透镜,你将需要更好的设备,即一台&b高级&3车床&r。\n\n一旦制作完成,该透镜可以用于在&7基础&3激光刻录机&r中刻录&d双重红合金板&r来制造我们需要的&d发射器&r单元,并且在此过程中不会被消耗。", "quests.create_logistics.stock_link.title": "仓储链接站", "quests.create_logistics.stock_link.subtitle": "家里有存储总线了", - "quests.create_logistics.stock_link.desc": "你可以制造的第一个&2高级物流&r机器是&3仓储链接站&r,它可用于创建&d物流网络&r。当放置到&3打包机&r的任意一面时,仓储链接站将&a使打包机所连接的库存对网络可见&r!就其本身而言,仓储链接站并不是超级有用,但它是所有其他即将到来的机器的核心组件……\n\n记得先手持仓储链接站右键点击已放置的仓储链接站,将两者绑定以共享同一网络。要取消此操作,你可以简单地单独合成来仓储链接站清除其调谐。", + "quests.create_logistics.stock_link.desc": "你可以制造的第一个&2高级物流&r机器是&3仓储链接站&r,它可用于创建&d物流网络&r。当放置到&3打包机&r的任意一面时,仓储链接站将&a使打包机所连接的库存对网络可见&r!就其本身而言,仓储链接站并不是超级有用,但它是所有其他即将到来的机器的核心组件……\n\n记得先手持仓储链接站右键点击已放置的仓储链接站,将两者绑定以共享同一网络。要取消此操作,你可以简单地单独合成仓储链接站来清除其调谐。", "quests.create_logistics.stock_ticker.title": "仓储发报机", "quests.create_logistics.stock_ticker.subtitle": "服务员!服务员!再来点粉质壤土缠根泥土!", "quests.create_logistics.stock_ticker.desc.1": "如果你已经使用&3仓储链接站&r向&d物流网络&r提供了各种物品,下一步就是制作一个可以远程调用所述物品的东西……这就是&3仓储发报机&r的用武之地。与仓储发报机非常相似,你首先需要右击一个现有的链接,将仓储发报机绑定到该网络。然后你需要在仓储发报机旁边放置一个&3烈焰人燃烧室&r或任何坐在&3坐垫&r上的生物,让他们充当&3仓库管理员&r。", @@ -4102,7 +4106,7 @@ "quests.steam_age.resin_boards.desc": "没想到吧?树液采集器可直接将液体滴入格雷科技管道与桶!现在你掌握这个技巧了!", "quests.steam_age.circuit_boards.title": "电子学 #2:电路基板", "quests.steam_age.circuit_boards.subtitle": "更简易的电路元件", - "quests.steam_age.circuit_boards.desc": "将覆膜电路基板与铜导线组合,你就有了第一个&a电路&r的基础!", + "quests.steam_age.circuit_boards.desc": "通过在&3工匠台&r上进行一些精细操作,你可以将这些覆膜电路基板与铜导线组合,制造出你的第一块&a电路板&r!\n\n工匠台的工作原理与敲制类似,但此次需要额外放入物品和工具。", "quests.steam_age.vacuum_chamber.title": "真空腔室", "quests.steam_age.vacuum_chamber.subtitle": "为真空管赋予真空特性", "quests.steam_age.vacuum_chamber.desc": "这台机器是制作首批真空管的最终步骤。将其置于工作盆上方并接通应力,同时确保机器设置为真空模式。\n\n该设备在受木炭炉或烈焰人燃烧室加热时,还可用于液化胶水与橡胶。", From 8e2fa9164dbfe6b04cf639d215b66348f2f0c506 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 26 Jan 2026 13:31:50 +0000 Subject: [PATCH 021/157] add another page to the medicine quest --- config/ftbquests/quests/chapters/questsstoneage.snbt | 2 ++ kubejs/assets/gtceu/lang/en_us.json | 2 ++ kubejs/assets/tfg/lang/en_us.json | 1 + 3 files changed, 5 insertions(+) diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index b429838d3..fbce49270 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -2295,6 +2295,8 @@ "{quests.stone_age.medical_conditions.desc.1}" "{@pagebreak}" "{quests.stone_age.medical_conditions.desc.2}" + "{@pagebreak}" + "{quests.stone_age.medical_conditions.desc.3}" ] icon: "createdeco:decal_skull" id: "00117AD40FACB89D" diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 4f656545c..c07bbc0e6 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -190,6 +190,8 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", "tooltip.moldraw.shift_view_alloy": "§7§oHold (Shift) for Alloy Composition§r", + "gtceu.medical_condition.antidote.description.effect_removed": "Removes %s%% of the above conditions' effects", + "gtceu.medical_condition.antidote.description.effect_removed.all": "Removes all of the above conditions' effects", "gtceu.greenhouse": "Electric Greenhouse", "gtceu.steam_bloomery": "Steam Bloomery", "gtceu.food_oven": "Food Oven", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index c0d3908ba..60c4590a7 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4268,6 +4268,7 @@ "quests.stone_age.medical_conditions.subtitle": "Don't eat the Asbestos", "quests.stone_age.medical_conditions.desc.1": "Be careful what you pick up! Not all ores or dusts are safe to touch, and some will cause a buildup of a &6Medical Condition&r.\n\nEverything &cHazardous&r is written on its tooltip, so if you suddenly notice a debuff appearing, get that item out of your inventory! Putting it inside a container like a small vessel or backpack is safe.\n\nMost of these effects will slowly go away on their own, but if you let them build up long enough, you'll start getting a host of other nasty effects, up to and including &cdeath&r.", "quests.stone_age.medical_conditions.desc.2": "You will eventually need to work with some of these materials, so you have ways to deal with them.\n\nThe best way is to avoid getting any conditions in the first place - a Face Mask and Rubber Gloves will prevent inhalation and contact hazards respectively.\n\nThe second-best way is a cure: check out some of the &aPills, Tablets, and Salvos&r you can craft - they all help cure certain effects (and provide helpful buffs!), though the stronger cures have more annoying side-effects.", + "quests.stone_age.medical_conditions.desc.3": "Be careful around anything &cCarcinogenic&r or &cRadioactive&r - these conditions are &epermanent&r until you're able to craft Paracetamol in &7LV&r.", "quests.stone_age.medical_conditions.task": "I'm my own doctor", "quests.stone_age.copper_for_anvil.title": "Copper for the Anvil", "quests.stone_age.copper_for_anvil.subtitle": "You better get used to getting 14 ingots of something.", From 91fa880e82960367a47e35ab7186ce45690d3fb9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 26 Jan 2026 13:38:24 +0000 Subject: [PATCH 022/157] cl --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98d84cca7..a31ec81bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,16 +4,18 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie -- Added the Artisan Table to "knap" GT molds and circuits. @BlueBoat29 @Redeix +- Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan - Fixed missing borax to flux recipe @Pyritie ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.18] - 23-01-2026 ### Important notes From efb19e95675b670a8fddd50605df1f85883a217f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 23:19:23 +0000 Subject: [PATCH 023/157] Bump actions/checkout from 6.0.1 to 6.0.2 in the dependencies group (#2871) Bumps the dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 6.0.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b2db7eee..1ff05d7ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,7 +34,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 with: fetch-depth: 0 @@ -229,7 +229,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 with: fetch-depth: 0 @@ -313,7 +313,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 - name: 🔄 Replace strings shell: bash @@ -460,7 +460,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 - name: 📦 Download artifact uses: actions/download-artifact@v7.0.0 From 119040862373c8b2d9e3c9fa952b547ad36497aa Mon Sep 17 00:00:00 2001 From: Paradalope <68783833+Paradalope@users.noreply.github.com> Date: Mon, 26 Jan 2026 18:05:48 -0600 Subject: [PATCH 024/157] Update data.equipment.js (#2872) name of the branch, adds the resistances for the lavaproof blue steel boots (not the diving boots), which were previously missing. --- kubejs/server_scripts/tfg/equipment/data.equipment.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/tfg/equipment/data.equipment.js b/kubejs/server_scripts/tfg/equipment/data.equipment.js index 4263d344b..636982684 100644 --- a/kubejs/server_scripts/tfg/equipment/data.equipment.js +++ b/kubejs/server_scripts/tfg/equipment/data.equipment.js @@ -69,6 +69,12 @@ function registerTFGEquipmentData(event) { 13, 13, 15 + ) + event.itemDamageResistance( + 'minecraft:netherite_boots', + 13, + 13, + 15 ) event.itemDamageResistance( 'create:netherite_diving_boots', From f324e7e6daf6c8c8696018900653a38cceaaa802 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 00:10:22 +0000 Subject: [PATCH 025/157] New content for ULV + LV (#2873) * require black steel plates before the forge hammer, add some blue steel things post-deployer that require a colored steel anvil, start refractory clay dust * first draft of bakelite, new phenolic boards, new cupro coils * add another page to the medicine quest * cl * backup of lv quests * quest stuff and some recipe tweaks * tweak --------- Co-authored-by: Redeix --- CHANGELOG.md | 4 +- .../quests/chapters/create_logistics.snbt | 17 +- .../quests/chapters/ev__extreme_voltage.snbt | 1 - .../quests/chapters/gregtech_energy.snbt | 8 +- .../quests/chapters/lv__low_voltage.snbt | 785 ++++++++++++------ .../quests/chapters/questsmetallurgy.snbt | 5 + .../quests/chapters/questssteam_age.snbt | 157 ++-- .../quests/chapters/questsstoneage.snbt | 2 + .../quests/chapters/tips__tools.snbt | 24 +- kubejs/assets/gtceu/lang/en_us.json | 2 + kubejs/assets/tfg/alloys/weak_blue_steel.json | 3 + kubejs/assets/tfg/alloys/weak_red_steel.json | 3 + kubejs/assets/tfg/lang/en_us.json | 96 ++- kubejs/client_scripts/tooltips.js | 3 + .../create_additions/recipes.js | 6 +- kubejs/server_scripts/greate/recipes.js | 4 +- .../server_scripts/greate/recipes.removes.js | 43 + .../gregtech/recipes.machines.js | 52 +- .../gregtech/recipes.removes.js | 10 + kubejs/server_scripts/gregtech/tags.js | 4 +- kubejs/server_scripts/tfc/recipes.js | 4 +- kubejs/server_scripts/tfc/recipes.removes.js | 7 + kubejs/server_scripts/tfcbetterbf/recipes.js | 28 +- .../tfg/machines/recipes.bakelite.js | 70 ++ .../tfg/machines/recipes.coils.js | 77 ++ .../tfg/machines/recipes.multiblocks.js | 4 +- .../tfg/ores_and_materials/recipes.alloys.js | 29 + .../recipes.material_tools.js | 2 +- .../tfg/primitive/recipes.clay.js | 23 +- .../primitive/recipes.glue_and_chipboard.js | 15 - kubejs/server_scripts/tfg/recipes.js | 2 + .../vintage_improvements/recipes.js | 6 +- kubejs/startup_scripts/gtceu/constants.js | 2 + .../gtceu/material_modification.js | 6 +- kubejs/startup_scripts/tfg/items.js | 3 - kubejs/startup_scripts/tfg/materials.js | 42 + .../tfg/primitive/items.primitive.js | 1 - .../tfg/primitive/materials.primitive.js | 32 +- kubejs/startup_scripts/tfg/tag_prefixes.js | 3 + 39 files changed, 1092 insertions(+), 493 deletions(-) create mode 100644 kubejs/assets/tfg/alloys/weak_blue_steel.json create mode 100644 kubejs/assets/tfg/alloys/weak_red_steel.json create mode 100644 kubejs/server_scripts/tfg/machines/recipes.bakelite.js create mode 100644 kubejs/server_scripts/tfg/machines/recipes.coils.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 98d84cca7..a31ec81bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,16 +4,18 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie -- Added the Artisan Table to "knap" GT molds and circuits. @BlueBoat29 @Redeix +- Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan - Fixed missing borax to flux recipe @Pyritie ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.18] - 23-01-2026 ### Important notes diff --git a/config/ftbquests/quests/chapters/create_logistics.snbt b/config/ftbquests/quests/chapters/create_logistics.snbt index 9d7f8c168..914590ae0 100644 --- a/config/ftbquests/quests/chapters/create_logistics.snbt +++ b/config/ftbquests/quests/chapters/create_logistics.snbt @@ -131,6 +131,8 @@ dependencies: [ "572A8983FA12152A" "3AF956758FA289A8" + "07E7678095258EDB" + "383A14A5C65B3ADF" ] dependency_requirement: "one_completed" description: ["{quests.create_logistics.rose_quartz_lens.desc}"] @@ -209,8 +211,9 @@ { dependencies: [ "7C4807A247AF36A1" - "648BCF486E16CCB2" + "713C8D6A20BF3A0E" ] + dependency_requirement: "one_completed" description: ["{quests.create_logistics.stock_link.desc}"] id: "76490E046A44BCC3" size: 2.0d @@ -225,7 +228,11 @@ y: -1.0d } { - dependencies: ["76490E046A44BCC3"] + dependencies: [ + "76490E046A44BCC3" + "50FE830DA6F403B2" + ] + dependency_requirement: "one_completed" description: [ "{quests.create_logistics.stock_ticker.desc.1}" "{@pagebreak}" @@ -245,7 +252,11 @@ y: -2.5d } { - dependencies: ["76490E046A44BCC3"] + dependencies: [ + "76490E046A44BCC3" + "50FE830DA6F403B2" + ] + dependency_requirement: "one_completed" description: ["{quests.create_logistics.redstone_requester.desc}"] id: "3F44CFF8A6018F3E" subtitle: "{quests.create_logistics.redstone_requester.subtitle}" diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 40fd2428b..a736b2b47 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -92,7 +92,6 @@ { dependencies: [ "601088B7920140B2" - "3FBDC8552F7D8008" "3B18DE7395776B41" ] description: ["{quests.extreme_voltage.t2_rocket.desc}"] diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index a962839dd..e52987dc3 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -118,10 +118,7 @@ y: -7.0d } { - dependencies: [ - "06B2E38F7DCF2678" - "22510C5F2386B453" - ] + dependencies: ["06B2E38F7DCF2678"] dependency_requirement: "one_completed" description: ["{quests.gregtech_energy.produce_energy.desc}"] icon: "gtceu:lv_field_generator" @@ -1083,12 +1080,15 @@ "4C620105AAC49381" "0C718329245D9619" ] + description: ["{quests.low_voltage.lv_biodiesel.desc}"] id: "139C7DF629329753" + subtitle: "{quests.low_voltage.lv_biodiesel.subtitle}" tasks: [{ id: "7BA9FDD1F45B53F6" item: "gtceu:bio_diesel_bucket" type: "item" }] + title: "{quests.low_voltage.lv_biodiesel.title}" x: -9.0d y: -7.0d } diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 60e1d570a..42831456c 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -10,20 +10,55 @@ { id: "0EA7766FE6845121" linked_quest: "0FFBB6177DEB0A23" - x: -8.0d - y: 11.5d + x: -14.5d + y: 15.0d } { id: "46612C429BCA8A18" linked_quest: "6BAC3BE1D4FE0F6B" - x: 7.5d - y: 4.0d + x: 2.5d + y: 10.0d } { id: "5E5AD44B50E0B15B" linked_quest: "31A6A236B6710B95" - x: 7.5d - y: 5.0d + x: 4.5d + y: 12.0d + } + { + id: "5BC9534E2B4A16A2" + linked_quest: "2262F1FD4EAB777F" + shape: "octagon" + size: 1.5d + x: -2.5d + y: 14.0d + } + { + id: "3E4C0AAC278DC9F1" + linked_quest: "341E2F290344BEEE" + shape: "octagon" + size: 1.5d + x: -10.5d + y: 4.0d + } + { + id: "00B51E50BEBF7E1D" + linked_quest: "3F44CFF8A6018F3E" + x: -8.5d + y: 6.0d + } + { + id: "34F6462681BB5D77" + linked_quest: "7C4807A247AF36A1" + x: -8.5d + y: 2.0d + } + { + id: "343F16805E04BFBE" + linked_quest: "2D2CB8104E40E808" + shape: "heart" + x: 7.0d + y: 6.0d } ] quests: [ @@ -42,7 +77,7 @@ }] title: "{quests.low_voltage.lv_fluid_regulator.title}" x: 6.0d - y: -1.5d + y: -8.5d } { dependencies: ["38993B4697B0E16C"] @@ -62,7 +97,7 @@ }] title: "{quests.low_voltage.lv_robot_arm.title}" x: 6.0d - y: -4.5d + y: -11.5d } { dependencies: ["7EED0084BA59FED1"] @@ -78,7 +113,7 @@ }] title: "{quests.low_voltage.lv_conveyor.title}" x: 4.5d - y: -3.0d + y: -10.0d } { dependencies: ["7EED0084BA59FED1"] @@ -94,7 +129,7 @@ }] title: "{quests.low_voltage.lv_pump.title}" x: 4.5d - y: -1.5d + y: -8.5d } { dependencies: ["7EED0084BA59FED1"] @@ -110,18 +145,13 @@ }] title: "{quests.low_voltage.lv_piston.title}" x: 4.5d - y: -4.5d + y: -11.5d } { dependencies: ["7FA1525D681C4B4A"] - description: [ - "{quests.low_voltage.lv_steam_turbine.desc.1}" - "{@pagebreak}" - "{quests.low_voltage.lv_steam_turbine.desc.2}" - ] + description: ["{quests.low_voltage.lv_steam_turbine.desc}"] id: "6E186F9C57155BFA" optional: true - shape: "hexagon" size: 1.0d subtitle: "{quests.low_voltage.lv_steam_turbine.subtitle}" tasks: [{ @@ -130,8 +160,8 @@ type: "item" }] title: "{quests.low_voltage.lv_steam_turbine.title}" - x: 7.5d - y: 9.5d + x: 1.0d + y: -6.0d } { dependencies: ["7FA1525D681C4B4A"] @@ -148,16 +178,20 @@ type: "item" }] title: "{quests.low_voltage.lv_amp_explanation.title}" - x: 5.5d - y: 10.5d + x: 2.0d + y: -8.0d } { - dependencies: ["45B71324028F6E68"] + dependencies: [ + "45B71324028F6E68" + "39F6BCF4B8DFC7D4" + ] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.aluminium_ingot.desc}"] hide_dependency_lines: false id: "7567E885B7166603" shape: "octagon" - size: 1.5d + size: 2.0d subtitle: "{quests.low_voltage.aluminium_ingot.subtitle}" tasks: [{ id: "161B5813936E5E42" @@ -165,21 +199,19 @@ type: "item" }] title: "{quests.low_voltage.aluminium_ingot.title}" - x: -10.0d - y: 11.5d + x: -12.5d + y: 14.0d } { dependencies: [ - "49896161B31DB7B4" - "5B891BA4897FD73C" "1912758422EEB006" + "5B891BA4897FD73C" + "49896161B31DB7B4" ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_battery_preparation.desc}"] - hide_dependency_lines: true icon: "gtceu:battery_alloy_ingot" id: "6D9D54FAB21EC086" - size: 1.0d subtitle: "{quests.low_voltage.lv_battery_preparation.subtitle}" tasks: [ { @@ -195,8 +227,8 @@ } ] title: "{quests.low_voltage.lv_battery_preparation.title}" - x: 7.5d - y: -0.5d + x: 5.0d + y: 4.0d } { dependencies: [ @@ -223,14 +255,10 @@ }] title: "{quests.low_voltage.cover_behaviour.title}" x: 6.0d - y: -3.0d + y: -10.0d } { - dependencies: [ - "32EA7E81885C8E87" - "10ECB471A77F5136" - "07E7678095258EDB" - ] + dependencies: ["47B899144B865516"] dependency_requirement: "one_completed" description: [ "{quests.low_voltage.machine_auto_output_behaviour.desc.1}" @@ -239,7 +267,7 @@ ] icon: "minecraft:hopper" id: "64E1E87B8AF72968" - shape: "square" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.machine_auto_output_behaviour.subtitle}" tasks: [{ @@ -248,11 +276,11 @@ type: "checkmark" }] title: "{quests.low_voltage.machine_auto_output_behaviour.title}" - x: -5.0d - y: -0.5d + x: -2.5d + y: 2.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: [ "{quests.low_voltage.lv_wiremill.desc.1}" "{@pagebreak}" @@ -277,11 +305,11 @@ type: "item" }] title: "{quests.low_voltage.lv_wiremill.title}" - x: -3.0d - y: 0.5d + x: -1.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_bender.desc}"] id: "10ECB471A77F5136" size: 1.0d @@ -302,11 +330,11 @@ type: "item" }] title: "{quests.low_voltage.lv_bender.title}" - x: -5.0d - y: 1.5d + x: -3.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: [ "{quests.low_voltage.lv_lathe.desc.1}" "{@pagebreak}" @@ -328,11 +356,11 @@ type: "item" }] title: "{quests.low_voltage.lv_lathe.title}" - x: -4.0d - y: 1.0d + x: -5.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_polariser.desc}"] id: "29379C91D6E00436" size: 1.0d @@ -343,8 +371,8 @@ type: "item" }] title: "{quests.low_voltage.lv_polariser.title}" - x: -1.0d - y: -0.5d + x: 3.0d + y: -1.0d } { dependencies: [ @@ -370,8 +398,8 @@ type: "item" }] title: "{quests.low_voltage.lbb.title}" - x: 9.0d - y: 9.5d + x: 0.0d + y: -5.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -391,18 +419,19 @@ type: "item" }] title: "{quests.low_voltage.lv_superconductor.title}" - x: -12.0d - y: 7.5d + x: -14.5d + y: 10.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_chemical_bath.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_chemical_bath.desc.2}" ] - hide_dependency_lines: true id: "330BDB559A7BAB35" + optional: true + shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lv_chemical_bath.subtitle}" tasks: [{ @@ -411,8 +440,8 @@ type: "item" }] title: "{quests.low_voltage.lv_chemical_bath.title}" - x: -4.0d - y: 13.5d + x: 2.5d + y: 3.0d } { dependencies: ["64E1E87B8AF72968"] @@ -429,7 +458,7 @@ } } id: "59F0060B55307311" - shape: "square" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.programmed_circuits.subtitle}" tasks: [{ @@ -438,11 +467,11 @@ type: "checkmark" }] title: "{quests.low_voltage.programmed_circuits.title}" - x: -6.5d - y: -0.5d + x: -4.5d + y: 2.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["63CD0236B337EAAD"] description: ["{quests.low_voltage.lv_canner.desc}"] id: "37307A46E70011D3" size: 1.0d @@ -453,8 +482,8 @@ type: "item" }] title: "{quests.low_voltage.lv_canner.title}" - x: 5.0d - y: 1.5d + x: 2.5d + y: 6.0d } { dependencies: [ @@ -482,8 +511,8 @@ type: "item" }] title: "{quests.low_voltage.lv_battery.title}" - x: 7.5d - y: 1.0d + x: 5.0d + y: 6.0d } { dependencies: ["3E6DC423FE4A99F7"] @@ -512,11 +541,14 @@ type: "item" }] title: "{quests.low_voltage.lv_battery_buffer_4x.title}" - x: 7.5d - y: 2.5d + x: 5.0d + y: 8.0d } { - dependencies: ["1646BF9194100E57"] + dependencies: [ + "1646BF9194100E57" + "2FC7B1E867E4194E" + ] description: [ "{quests.low_voltage.lv_ebf.desc.1}" "{@pagebreak}" @@ -541,14 +573,22 @@ type: "item" }] title: "{quests.low_voltage.lv_ebf.title}" - x: -10.0d - y: 7.5d + x: -12.5d + y: 10.0d } { - dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.other_machines.desc}"] hide_dependency_lines: false - icon: "gtceu:crushed_sulfur_ore" + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:crushed_sphalerite_ore" + } id: "701BCADAE5CF6CA5" shape: "circle" size: 1.0d @@ -559,8 +599,8 @@ type: "checkmark" }] title: "{quests.low_voltage.other_machines.title}" - x: 5.5d - y: 4.5d + x: 2.5d + y: 12.0d } { description: ["{quests.low_voltage.lv_age_progression.desc}"] @@ -576,7 +616,7 @@ }] title: "{quests.low_voltage.lv_age_progression.title}" x: 0.0d - y: -3.0d + y: -12.5d } { dependencies: [ @@ -586,7 +626,8 @@ dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_fluid_solidifier.desc}"] id: "581CDF545E1EA1FD" - size: 1.0d + shape: "octagon" + size: 1.5d subtitle: "{quests.low_voltage.lv_fluid_solidifier.subtitle}" tasks: [{ id: "20B1CA4DB2750E84" @@ -594,8 +635,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_solidifier.title}" - x: -8.0d - y: 3.5d + x: -4.5d + y: 6.0d } { dependencies: [ @@ -621,13 +662,13 @@ type: "item" }] title: "{quests.low_voltage.lv_ore_prospector.title}" - x: 9.0d - y: 1.0d + x: 7.0d + y: 7.0d } { dependencies: [ "6042514C8FC54334" - "5B2696206205CB2E" + "02E5D186ABF719F0" ] description: ["{quests.low_voltage.cupronickel_coil.desc}"] icon: { @@ -647,11 +688,10 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_coil.title}" - x: -8.0d - y: 7.5d + x: -10.5d + y: 10.0d } { - dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_gas_collector.desc}"] id: "15928F50AE80A5CF" shape: "square" @@ -663,11 +703,11 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_collector.title}" - x: -4.0d - y: 9.5d + x: -8.5d + y: 12.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_chemical_reactor.desc.1}" "{@pagebreak}" @@ -697,17 +737,19 @@ } ] title: "{quests.low_voltage.lv_chemical_reactor.title}" - x: -6.0d - y: 3.5d + x: -2.5d + y: 6.0d } { - dependencies: ["10ECB471A77F5136"] + dependencies: ["63CD0236B337EAAD"] description: [ "{quests.low_voltage.universal_cell.desc.1}" "{@pagebreak}" "{quests.low_voltage.universal_cell.desc.2}" ] id: "292938760AB9A12B" + optional: true + shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.universal_cell.subtitle}" tasks: [{ @@ -723,16 +765,14 @@ type: "item" }] title: "{quests.low_voltage.universal_cell.title}" - x: -6.5d - y: 1.5d + x: 1.0d + y: 8.0d } { dependencies: ["581CDF545E1EA1FD"] description: ["{quests.low_voltage.mold_rotor.desc}"] icon: "gtceu:rotor_casting_mold" id: "115C4226F6473F0C" - optional: true - shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.mold_rotor.subtitle}" tasks: [ @@ -748,29 +788,35 @@ } ] title: "{quests.low_voltage.mold_rotor.title}" - x: -9.5d - y: 3.5d + x: -6.5d + y: 7.0d } { - dependencies: ["5B891BA4897FD73C"] + dependencies: ["5B2696206205CB2E"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.soldering_alloy.desc}"] - icon: "gtceu:soldering_alloy_dust" + icon: "gtceu:soldering_alloy_bucket" id: "713C8D6A20BF3A0E" shape: "square" size: 1.0d subtitle: "{quests.low_voltage.soldering_alloy.subtitle}" - tasks: [{ - id: "67F9F84D66E32728" - item: "gtceu:soldering_alloy_dust" - type: "item" - }] + tasks: [ + { + id: "5F6344C5B4DCE4C8" + item: "gtceu:soldering_alloy_bucket" + optional_task: true + type: "item" + } + { + id: "1095906933C39F9A" + type: "checkmark" + } + ] title: "{quests.low_voltage.soldering_alloy.title}" - x: 4.0d - y: 11.5d + x: -6.5d + y: 4.0d } { - dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_electroliser.desc.1}" "{@pagebreak}" @@ -788,11 +834,11 @@ type: "item" }] title: "{quests.low_voltage.lv_electroliser.title}" - x: -6.0d - y: 7.5d + x: -2.5d + y: 12.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_cutter.desc}"] id: "3A8D7FC6F316C38C" size: 1.0d @@ -813,11 +859,11 @@ type: "item" }] title: "{quests.low_voltage.lv_cutter.title}" - x: -2.0d - y: 0.0d + x: 1.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["63CD0236B337EAAD"] description: [ "{quests.low_voltage.lv_centrifuge.desc.1}" "{@pagebreak}" @@ -834,8 +880,8 @@ type: "item" }] title: "{quests.low_voltage.lv_centrifuge.title}" - x: -2.0d - y: 9.5d + x: -2.5d + y: 10.0d } { dependencies: ["37307A46E70011D3"] @@ -852,11 +898,11 @@ type: "item" }] title: "{quests.low_voltage.lv_sprayer.title}" - x: 5.0d - y: 0.0d + x: 2.5d + y: 8.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_assembler.desc.1}" "{@pagebreak}" @@ -873,10 +919,10 @@ }] title: "{quests.low_voltage.lv_assembler.title}" x: 0.0d - y: 9.5d + y: 6.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_extractor.desc.1}" "{@pagebreak}" @@ -891,8 +937,8 @@ type: "item" }] title: "{quests.low_voltage.lv_extractor.title}" - x: -6.0d - y: 5.5d + x: -4.5d + y: 4.0d } { dependencies: ["0DBC148D92A9F69F"] @@ -912,7 +958,7 @@ }] title: "{quests.low_voltage.lv_circuit_assembler.title}" x: 0.0d - y: 16.5d + y: 19.5d } { dependencies: ["1A77CA35F054F988"] @@ -930,8 +976,8 @@ type: "item" }] title: "{quests.low_voltage.lv_arc_furnace.title}" - x: -6.0d - y: 11.5d + x: -4.5d + y: 13.0d } { dependencies: [ @@ -973,8 +1019,8 @@ } ] title: "{quests.low_voltage.lv_oxygen.title}" - x: -6.0d - y: 9.5d + x: -4.5d + y: 12.0d } { dependencies: ["5263F866638D875C"] @@ -1004,11 +1050,11 @@ } ] title: "{quests.low_voltage.lv_glue.title}" - x: -2.0d - y: 11.5d + x: -4.5d + y: 10.0d } { - dependencies: ["5B891BA4897FD73C"] + dependencies: ["701BCADAE5CF6CA5"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.gallium_arsenide.desc}"] id: "4073577B7EF9B593" @@ -1020,14 +1066,13 @@ type: "item" }] title: "{quests.low_voltage.gallium_arsenide.title}" - x: 2.0d - y: 11.5d + x: 2.5d + y: 14.0d } { dependencies: [ - "0EAC071414AEC07E" - "330BDB559A7BAB35" - "63CD0236B337EAAD" + "1C5F5EDAEE355130" + "628C72BC441DAAB5" ] description: [ "{quests.low_voltage.t2_circuit_board.desc.1}" @@ -1042,8 +1087,8 @@ item: "gtceu:phenolic_printed_circuit_board" type: "item" }] - x: -2.0d - y: 13.5d + x: -3.5d + y: 16.0d } { dependencies: [ @@ -1061,7 +1106,7 @@ }] title: "{quests.low_voltage.lv_diode.title}" x: 0.0d - y: 11.5d + y: 14.0d } { dependencies: [ @@ -1070,8 +1115,8 @@ ] description: ["{quests.low_voltage.1_mv_circuit.desc}"] id: "0DBC148D92A9F69F" - shape: "gear" - size: 1.5d + shape: "octagon" + size: 2.0d subtitle: "{quests.low_voltage.1_mv_circuit.subtitle}" tasks: [{ id: "70313E1917121E14" @@ -1080,7 +1125,7 @@ }] title: "{quests.low_voltage.1_mv_circuit.title}" x: 0.0d - y: 13.5d + y: 16.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1094,19 +1139,20 @@ type: "item" }] title: "{quests.low_voltage.aluminium_dust.title}" - x: -10.0d - y: 9.5d + x: -12.5d + y: 12.0d } { - dependencies: ["1E9BE8D3F8A602DC"] description: ["{quests.low_voltage.multiblock_tech.desc}"] hide_text_until_complete: false icon: "gtceu:heatproof_machine_casing" id: "2FC7B1E867E4194E" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.multiblock_tech.subtitle}" tasks: [ { + disable_toast: true id: "1B5378C55DC4AE73" item: { Count: 1 @@ -1119,23 +1165,13 @@ type: "item" } { - id: "3201D38691813B6D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:ulv_output_bus)item(gtceu:lv_output_bus))" - } - } - title: "{quests.low_voltage.multiblock_tech.task.2}" - type: "item" - } - { + disable_toast: true id: "1F39902E1FB41053" item: "gtceu:maintenance_hatch" type: "item" } { + disable_toast: true id: "705D4CC1AA36EF10" item: "gtceu:lv_muffler_hatch" type: "item" @@ -1147,6 +1183,7 @@ type: "item" } { + disable_toast: true id: "7E3D72FA8499654D" item: { Count: 1 @@ -1160,49 +1197,29 @@ } { count: 2L + disable_toast: true id: "64F174F0EDAED10E" item: "gtceu:lv_energy_input_hatch" type: "item" } + { + disable_toast: true + id: "226789AAB78CDC09" + item: "gtceu:lv_output_bus" + type: "item" + } ] title: "{quests.low_voltage.multiblock_tech.title}" - x: -10.0d - y: 5.5d + x: -12.5d + y: 8.0d } { - dependencies: ["22510C5F2386B453"] - description: [ - "{quests.low_voltage.lv_rock_crusher.desc.1}" - "{@pagebreak}" - "{quests.low_voltage.lv_rock_crusher.desc.2}" + dependencies: [ + "2E36E5755B2F551C" + "4B4F052F00435AFE" + "2D2CB8104E40E808" ] - icon: "gtceu:lv_rock_crusher" - id: "1F2359106FC95603" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.low_voltage.lv_rock_crusher.subtitle}" - tasks: [{ - id: "37396BE76A4F64C5" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Rock Crusher\"}" - } - "ftbfiltersystem:filter": "or(item(gtceu:lv_rock_crusher)item(gtceu:mv_rock_crusher)item(gtceu:hv_rock_crusher)item(gtceu:ev_rock_crusher)item(gtceu:iv_rock_crusher)item(gtceu:luv_rock_crusher)item(gtceu:zpm_rock_crusher)item(gtceu:uv_rock_crusher))" - } - } - title: "{quests.low_voltage.lv_rock_crusher.task}" - type: "item" - }] - title: "{quests.low_voltage.lv_rock_crusher.title}" - x: 3.5d - y: 0.5d - } - { - dependencies: ["3E6DC423FE4A99F7"] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_turbo_charge.desc}"] icon: "gtceu:lv_charger_4x" id: "2DB259568F347C0E" @@ -1227,42 +1244,30 @@ }] title: "{quests.low_voltage.lv_turbo_charge.title}" x: 9.0d - y: -0.5d + y: 6.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_mixer.desc}"] id: "5B891BA4897FD73C" subtitle: "{quests.low_voltage.lv_mixer.subtitle}" tasks: [{ - id: "337A6B670842F80A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"LV Mixer\"}" - } - "ftbfiltersystem:filter": "or(item(greate:steel_mechanical_mixer)item(gtceu:lv_mixer))" - } - } - title: "{quests.low_voltage.lv_mixer.task}" + id: "7595657F7017B1F6" + item: "gtceu:lv_mixer" type: "item" }] title: "{quests.low_voltage.lv_mixer.title}" - x: 2.0d - y: 9.5d + x: 5.0d + y: -1.0d } { - dependencies: ["12565AB92A2BF976"] + dependencies: ["648BCF486E16CCB2"] description: [ "{quests.low_voltage.lv_machine_hull.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_machine_hull.desc.2}" ] id: "22510C5F2386B453" - shape: "gear" - size: 2.5d subtitle: "{quests.low_voltage.lv_machine_hull.subtitle}" tasks: [{ id: "499CACFF0350B3CA" @@ -1271,7 +1276,7 @@ }] title: "{quests.low_voltage.lv_machine_hull.title}" x: 0.0d - y: 4.5d + y: -10.0d } { dependencies: ["15928F50AE80A5CF"] @@ -1301,11 +1306,11 @@ } ] title: "{quests.low_voltage.lv_nitrogen.title}" - x: -4.0d - y: 11.5d + x: -10.5d + y: 12.0d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_motor.desc}"] icon: "gtceu:lv_electric_motor" id: "7EED0084BA59FED1" @@ -1320,7 +1325,7 @@ }] title: "{quests.low_voltage.lv_motor.title}" x: 3.0d - y: -3.0d + y: -10.0d } { dependencies: ["581CDF545E1EA1FD"] @@ -1342,14 +1347,16 @@ } ] title: "{quests.low_voltage.mold_plate.title}" - x: -9.5d - y: 2.5d + x: -6.5d + y: 6.0d } { dependencies: ["3E6DC423FE4A99F7"] + description: ["{quests.low_voltage.night_vision_goggles.desc}"] id: "4B4F052F00435AFE" optional: true shape: "heart" + subtitle: "{quests.low_voltage.night_vision_goggles.subtitle}" tasks: [{ id: "00E6EDB1E4C1482F" item: { @@ -1359,15 +1366,15 @@ } type: "item" }] - x: 9.0d - y: 2.5d + x: 7.0d + y: 5.0d } { dependencies: ["7FA1525D681C4B4A"] description: ["{quests.steam_age.alternator.desc.1}"] + icon: "createaddition:alternator" id: "2DC24661CAD557B0" optional: true - shape: "hexagon" subtitle: "{quests.steam_age.alternator.subtitle}" tasks: [ { @@ -1391,11 +1398,14 @@ } ] title: "{quests.steam_age.alternator.title}" - x: 7.5d - y: 8.0d + x: -1.0d + y: -6.0d } { - dependencies: ["7567E885B7166603"] + dependencies: [ + "7567E885B7166603" + "1C5F5EDAEE355130" + ] description: [ "{quests.low_voltage.mv_hull.desc1}" "{@pagebreak}" @@ -1411,22 +1421,51 @@ type: "item" }] title: "{quests.low_voltage.mv_hull.title}" - x: -10.0d - y: 15.0d + x: -12.5d + y: 17.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: [ + "170B544373A16112" + "2DC24661CAD557B0" + "1AD51E2B66EA7F67" + "6E186F9C57155BFA" + ] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_machine_casing.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:red_steel_wire_cutter" + tag: { + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 3 + MaxDamage: 15359 + ToolSpeed: 11.0f + } + HideFlags: 2 + } + } id: "12565AB92A2BF976" + shape: "circle" + size: 1.5d subtitle: "{quests.low_voltage.lv_machine_casing.subtitle}" tasks: [{ - id: "7459A24E5EBE148D" - item: "gtceu:lv_machine_casing" - type: "item" + id: "373E2FE9A8AB14B3" + type: "checkmark" }] title: "{quests.low_voltage.lv_machine_casing.title}" x: 0.0d - y: 1.0d + y: -3.5d } { dependencies: ["0DBC148D92A9F69F"] @@ -1451,11 +1490,11 @@ type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" - x: 2.25d - y: 13.5d + x: 2.5d + y: 16.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: ["{quests.low_voltage.lv_aqueous_accumulator.desc}"] icon: "tfg:lv_aqueous_accumulator" id: "47E6F8AC20D51814" @@ -1475,8 +1514,8 @@ type: "item" }] title: "{quests.low_voltage.lv_aqueous_accumulator.title}" - x: 2.0d - y: 0.0d + x: 2.5d + y: 2.0d } { dependencies: [ @@ -1488,7 +1527,6 @@ description: ["{quests.low_voltage.lv_combuston_gen.desc}"] id: "170B544373A16112" optional: true - shape: "hexagon" subtitle: "{quests.low_voltage.lv_combuston_gen.subtitle}" tasks: [{ id: "2B36CA88F25D5449" @@ -1496,8 +1534,8 @@ type: "item" }] title: "{quests.low_voltage.lv_combuston_gen.title}" - x: 7.5d - y: 11.0d + x: -3.0d + y: -6.0d } { dependencies: ["22510C5F2386B453"] @@ -1516,8 +1554,8 @@ type: "checkmark" }] title: "{quests.low_voltage.link_chapter.title}" - x: 5.5d - y: 8.5d + x: 0.0d + y: -8.0d } { dependencies: ["5F3063C539C9CBBF"] @@ -1539,8 +1577,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: 11.0d - y: 11.0d + x: -6.5d + y: -6.5d } { dependencies: ["55213ACBF5F5D398"] @@ -1555,8 +1593,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seed_oil.title}" - x: 10.0d - y: 11.0d + x: -5.5d + y: -6.5d } { dependencies: ["1D979CB5862BD480"] @@ -1571,12 +1609,10 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: 9.0d - y: 11.0d + x: -4.5d + y: -6.5d } { - dependencies: ["1912758422EEB006"] - dependency_requirement: "one_completed" description: ["{quests.low_voltage.cupronickel_ingot.desc}"] id: "6042514C8FC54334" shape: "diamond" @@ -1587,8 +1623,8 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_ingot.title}" - x: -8.0d - y: 9.5d + x: -10.5d + y: 8.0d } { dependencies: ["7567E885B7166603"] @@ -1617,14 +1653,10 @@ } ] title: "{quests.low_voltage.aluminium_greate.title}" - x: -12.0d - y: 11.5d + x: -14.5d + y: 14.0d } { - dependencies: [ - "5263F866638D875C" - "3D98819A799D2E64" - ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.oil.desc}"] hide_dependency_lines: true @@ -1639,8 +1671,8 @@ type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: 10.0d - y: 12.0d + x: -5.5d + y: -5.5d } { dependencies: [ @@ -1650,7 +1682,6 @@ description: ["{quests.low_voltage.lv_gas_turbine.desc}"] id: "1AD51E2B66EA7F67" optional: true - shape: "hexagon" subtitle: "{quests.low_voltage.lv_gas_turbine.subtitle}" tasks: [{ id: "295425BB3FED8220" @@ -1658,8 +1689,8 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_turbine.title}" - x: 7.5d - y: 6.5d + x: 3.0d + y: -6.0d } { dependencies: ["2CEE3C0972650C81"] @@ -1690,8 +1721,8 @@ } ] title: "{quests.low_voltage.lv_naphtha_light.title}" - x: 9.0d - y: 12.0d + x: -4.5d + y: -5.5d } { dependencies: ["5F3063C539C9CBBF"] @@ -1707,8 +1738,8 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_syngas.title}" - x: 9.0d - y: 6.5d + x: 4.5d + y: -6.0d } { dependencies: [ @@ -1725,8 +1756,8 @@ type: "item" }] title: "{quests.low_voltage.glowstone.title}" - x: -8.0d - y: 5.5d + x: -6.5d + y: 5.0d } { dependencies: ["22510C5F2386B453"] @@ -1747,8 +1778,222 @@ type: "checkmark" }] title: "{quests.low_voltage.lost.title}" - x: 1.5d - y: 5.0d + x: -2.0d + y: -10.0d + } + { + dependencies: [ + "32EA7E81885C8E87" + "3A8D7FC6F316C38C" + "10ECB471A77F5136" + "5B891BA4897FD73C" + "07E7678095258EDB" + "29379C91D6E00436" + ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.next_machines.desc}"] + icon: { + Count: 1 + id: "gtceu:lv_blue_steel_wrench" + tag: { + Charge: 2147483647L + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { + Mode: 2b + } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 3 + MaxDamage: 6143 + ToolSpeed: 34.0f + } + HideFlags: 2 + MaxCharge: 2147483647L + } + } + id: "47B899144B865516" + shape: "circle" + size: 1.5d + subtitle: "{quests.low_voltage.next_machines.subtitle}" + tasks: [{ + id: "4E3F61B3665C360D" + type: "checkmark" + }] + title: "{quests.low_voltage.next_machines.title}" + x: 0.0d + y: 2.0d + } + { + dependencies: ["3D98819A799D2E64"] + description: ["{quests.low_voltage.lv_distillery.desc}"] + id: "26C843A618A39A44" + subtitle: "{quests.low_voltage.lv_distillery.subtitle}" + tasks: [{ + id: "7A2467AC143CE86C" + item: "gtceu:lv_distillery" + type: "item" + }] + x: -4.5d + y: 8.0d + } + { + dependencies: ["26C843A618A39A44"] + description: [ + "{quests.low_voltage.phenolic_resin.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.phenolic_resin.desc.2}" + ] + icon: "tfg:phenolic_resin_bucket" + id: "671F90ADCDF476A8" + subtitle: "{quests.low_voltage.phenolic_resin.subtitle}" + tasks: [ + { + id: "173ED252A38EC942" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"tfg:phenolic_resin\"}})nbt(fuzzy:{Fluid:{FluidName:\"tfg:phenolic_resin\"}})item(tfg:phenolic_resin_bucket))" + } + } + optional_task: true + title: "{material.tfg.phenolic_resin}" + type: "item" + } + { + id: "7427C1BCD5B921B6" + type: "checkmark" + } + ] + title: "{material.tfg.phenolic_resin}" + x: -6.5d + y: 10.0d + } + { + dependencies: ["671F90ADCDF476A8"] + description: [ + "{quests.low_voltage.bakelite.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.bakelite.desc.2}" + ] + id: "1C5F5EDAEE355130" + shape: "octagon" + size: 1.5d + subtitle: "{quests.low_voltage.bakelite.subtitle}" + tasks: [{ + id: "0938AC37E76A29D7" + item: "tfg:bakelite_plate" + type: "item" + }] + title: "{material.tfg.bakelite}" + x: -6.5d + y: 16.0d + } + { + description: ["{quests.low_voltage.lv_forming_press.desc}"] + icon: "gtceu:lv_forming_press" + id: "628C72BC441DAAB5" + subtitle: "{quests.low_voltage.lv_forming_press.subtitle}" + tasks: [{ + id: "60128F9B939ED982" + item: "gtceu:lv_forming_press" + type: "item" + }] + x: -3.5d + y: 18.0d + } + { + dependencies: [ + "671F90ADCDF476A8" + "6FFD4990FF07078A" + "698DCAB4F014EB3B" + ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.refractory_brick.desc}"] + id: "02E5D186ABF719F0" + subtitle: "{quests.low_voltage.refractory_brick.subtitle}" + tasks: [{ + id: "5E377C9A0AD52487" + item: "tfg:magnesia_refractory_brick_ingot" + type: "item" + }] + x: -8.5d + y: 10.0d + } + { + description: ["{quests.low_voltage.magnesia.desc}"] + id: "698DCAB4F014EB3B" + shape: "diamond" + subtitle: "{quests.low_voltage.magnesia.subtitle}" + tasks: [{ + id: "57C83D16611E601A" + item: "gtceu:magnesia_dust" + type: "item" + }] + x: -8.5d + y: 8.0d + } + { + dependencies: ["47B899144B865516"] + description: ["{quests.low_voltage.food_machines.desc}"] + icon: "tfg:lv_food_processor" + id: "3B6A7B1E9114C2A9" + optional: true + shape: "heart" + subtitle: "{quests.low_voltage.food_machines.subtitle}" + tasks: [ + { + id: "12EE86BCBC04FCCE" + item: "tfg:lv_food_processor" + type: "item" + } + { + id: "4A3187B73528B908" + item: "tfg:lv_food_oven" + type: "item" + } + { + id: "2D6C7761076670A5" + item: "tfg:rotten_voiding_cover" + optional_task: true + type: "item" + } + ] + title: "{quests.low_voltage.food_machines.title}" + x: 2.5d + y: 4.0d + } + { + dependencies: [ + "713C8D6A20BF3A0E" + "7C4807A247AF36A1" + ] + dependency_requirement: "one_completed" + description: ["{quests.create_logistics.stock_link.desc}"] + disable_toast: true + id: "50FE830DA6F403B2" + subtitle: "{quests.create_logistics.stock_link.subtitle}" + tasks: [{ + id: "7B71B5DBEFD84C1F" + item: "create:stock_link" + type: "item" + }] + title: "{quests.create_logistics.stock_link.title}" + x: -8.5d + y: 4.0d + } + { + description: ["{quests.low_voltage.lv_laser_engraver.desc}"] + id: "383A14A5C65B3ADF" + subtitle: "{quests.low_voltage.lv_laser_engraver.subtitle}" + tasks: [{ + id: "4CB619C294C16642" + item: "gtceu:lv_laser_engraver" + type: "item" + }] + x: -10.5d + y: 2.0d } ] subtitle: ["{quests.low_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 132a73332..61a20311b 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -415,6 +415,7 @@ description: ["{quests.metal_age.anvil_recycling.desc}"] icon: "tfc:firepit" id: "3B2550394C94CEC9" + shape: "circle" size: 1.0d subtitle: "{quests.metal_age.anvil_recycling.subtitle}" tasks: [{ @@ -646,6 +647,7 @@ } } id: "5792DDAA82895E67" + shape: "circle" subtitle: "{quests.metal_age.red_blu.subtitle}" tasks: [{ id: "63890641DCD6659F" @@ -719,6 +721,7 @@ description: ["{quests.metal_age.wrought_iron_goodies.desc}"] icon: "create:chute" id: "20C2CE92459BE14A" + shape: "circle" subtitle: "{quests.metal_age.wrought_iron_goodies.subtitle}" tasks: [{ id: "60605AA92B6947D8" @@ -734,6 +737,7 @@ description: ["{quests.metal_age.fire_clay_ingredients.desc}"] icon: "minecraft:cartography_table" id: "5A936E9BCF30AA3D" + shape: "circle" subtitle: "{quests.metal_age.fire_clay_ingredients.subtitle}" tasks: [{ id: "39CA01175999A291" @@ -816,6 +820,7 @@ description: ["{quests.metal_age.steel_goodies.desc}"] icon: "greate:steel_mechanical_pump" id: "0C9B7745D812555A" + shape: "circle" subtitle: "{quests.metal_age.steel_goodies.subtitle}" tasks: [{ id: "3EB7C3AE88950E4B" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 433379c42..753639ff5 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -19,20 +19,22 @@ { id: "39027CF4DC307D33" linked_quest: "5E186CD5E83BFDF0" - x: -28.5d + x: -27.0d y: 2.0d } { id: "0CE64B9914191C56" linked_quest: "6FFD4990FF07078A" shape: "diamond" - x: -9.5d + x: -9.0d y: 11.5d } { id: "23A27702FF816291" linked_quest: "6903C72A254A7B08" - x: -12.5d + shape: "octagon" + size: 2.0d + x: -11.5d y: 8.0d } { @@ -40,27 +42,27 @@ linked_quest: "48A8E3210B2BAE1C" shape: "octagon" size: 2.0d - x: -28.5d + x: -27.0d y: 0.0d } { id: "7C03FE015586C652" linked_quest: "55213ACBF5F5D398" shape: "heart" - x: -12.0d + x: -10.5d y: 16.0d } { id: "65E0B13E245D2E5F" linked_quest: "379F434116632A89" - x: -26.0d + x: -24.5d y: 1.0d } { id: "68F5E521F2DB0A86" linked_quest: "0404FBCC34011053" shape: "heart" - x: -13.0d + x: -11.5d y: 16.0d } { @@ -77,6 +79,14 @@ x: -22.5d y: 4.0d } + { + id: "6C8C3BBD2BA9853B" + linked_quest: "56CA2EB7812529C5" + shape: "gear" + size: 1.5d + x: -13.0d + y: 13.5d + } ] quests: [ { @@ -84,7 +94,11 @@ "7B045998769930F0" "55FDF06AC0C01D0B" ] - description: ["{quests.steam_age.basic_millstone.desc}"] + description: [ + "{quests.steam_age.basic_millstone.desc.1}" + "{@pagebreak}" + "{quests.steam_age.basic_millstone.desc.2}" + ] id: "48C1E980F7D64317" size: 1.0d subtitle: "{quests.steam_age.basic_millstone.subtitle}" @@ -94,7 +108,7 @@ type: "item" }] title: "{quests.steam_age.basic_millstone.title}" - x: -20.5d + x: -19.0d y: 0.0d } { @@ -112,7 +126,7 @@ type: "item" }] title: "{quests.steam_age.horse_crank.title}" - x: -24.5d + x: -23.0d y: -2.0d } { @@ -131,7 +145,7 @@ type: "item" }] title: "{quests.steam_age.helve_hammer.title}" - x: -20.5d + x: -19.0d y: -4.0d } { @@ -159,7 +173,7 @@ } ] title: "{quests.steam_age.basic_greate.title}" - x: -20.5d + x: -19.0d y: -2.0d } { @@ -173,7 +187,7 @@ type: "item" }] title: "{quests.steam_age.water_wheel.title}" - x: -14.5d + x: -13.0d y: 0.0d } { @@ -195,7 +209,7 @@ } ] title: "{quests.steam_age.windmill.title}" - x: -14.5d + x: -13.0d y: -4.0d } { @@ -210,7 +224,7 @@ type: "item" }] title: "{quests.steam_age.metal_casing.title}" - x: -9.5d + x: -8.0d y: -2.0d } { @@ -227,7 +241,7 @@ type: "item" }] title: "{quests.steam_age.steel_encased_fan.title}" - x: -5.5d + x: -4.0d y: 4.0d } { @@ -247,7 +261,7 @@ type: "item" }] title: "{quests.steam_age.steel_pump.title}" - x: -3.5d + x: -2.0d y: 2.0d } { @@ -297,7 +311,7 @@ } ] title: "{quests.steam_age.steam_engine.title}" - x: -5.5d + x: -4.0d y: -2.0d } { @@ -316,7 +330,7 @@ type: "item" }] title: "{quests.steam_age.mechanical_saw.title}" - x: -9.5d + x: -8.0d y: 0.0d } { @@ -330,7 +344,7 @@ type: "item" }] title: "{quests.steam_age.mechanical_harvester.title}" - x: -9.5d + x: -8.0d y: -4.0d } { @@ -358,7 +372,7 @@ } ] title: "{quests.steam_age.chute.title}" - x: -12.0d + x: -10.5d y: 0.0d } { @@ -376,7 +390,7 @@ type: "item" }] title: "{quests.steam_age.mold_table.title}" - x: -3.5d + x: -2.0d y: 4.0d } { @@ -406,7 +420,7 @@ } ] title: "{quests.steam_age.steel_greate.title}" - x: -5.5d + x: -4.0d y: 2.0d } { @@ -424,7 +438,7 @@ type: "item" }] title: "{quests.steam_age.steel_millstone.title}" - x: -7.5d + x: -6.0d y: 2.0d } { @@ -523,8 +537,8 @@ } ] title: "{quests.steam_age.miner.title}" - x: -10.0d - y: 17.0d + x: -9.0d + y: 18.0d } { dependencies: [ @@ -681,7 +695,7 @@ type: "item" }] title: "{quests.steam_age.item_pipes.title}" - x: -12.0d + x: -10.5d y: 2.0d } { @@ -708,7 +722,7 @@ } ] title: "{quests.steam_age.circuit_boards.title}" - x: -10.0d + x: -9.0d y: 10.0d } { @@ -777,8 +791,8 @@ type: "item" }] title: "{quests.steam_age.vacuum_tubes.title}" - x: -8.0d - y: 14.0d + x: -7.0d + y: 15.0d } { dependencies: ["7DB7AB5349218605"] @@ -828,7 +842,7 @@ type: "item" }] title: "{quests.steam_age.resistors.title}" - x: -5.0d + x: -4.0d y: 11.5d } { @@ -844,8 +858,8 @@ type: "item" }] title: "{quests.steam_age.coiling_machine.title}" - x: -5.0d - y: 16.0d + x: -4.0d + y: 17.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -860,8 +874,8 @@ type: "item" }] title: "{quests.steam_age.steel_mixer.title}" - x: -5.0d - y: 14.5d + x: -4.0d + y: 15.5d } { dependencies: ["2C35D4E01AEC02AA"] @@ -875,8 +889,8 @@ type: "item" }] title: "{quests.steam_age.lathe.title}" - x: -6.0d - y: 17.0d + x: -5.0d + y: 18.0d } { dependencies: [ @@ -913,8 +927,8 @@ type: "item" }] title: "{quests.steam_age.vibrating_table.title}" - x: -8.0d - y: 17.0d + x: -7.0d + y: 18.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -933,8 +947,8 @@ type: "item" }] title: "{quests.steam_age.rolling_mill.title}" - x: -5.0d - y: 13.0d + x: -4.0d + y: 14.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -948,8 +962,8 @@ type: "item" }] title: "{quests.steam_age.steel_saw.title}" - x: -7.0d - y: 17.0d + x: -6.0d + y: 18.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -963,8 +977,8 @@ type: "item" }] title: "{quests.steam_age.curving_press.title}" - x: -9.0d - y: 17.0d + x: -8.0d + y: 18.0d } { dependencies: [ @@ -1124,7 +1138,7 @@ } ] title: "{quests.steam_age.fluid_pipes.title}" - x: -3.5d + x: -2.0d y: 0.0d } { @@ -1150,7 +1164,7 @@ type: "item" }] title: "{quests.steam_age.fluid_drums.title}" - x: -1.5d + x: 0.0d y: 2.0d } { @@ -1179,8 +1193,8 @@ type: "item" }] title: "{quests.steam_age.potin.title}" - x: -3.5d - y: 14.5d + x: -2.5d + y: 15.5d } { dependencies: ["6F1BC99BE641B671"] @@ -1207,7 +1221,7 @@ } ] title: "{quests.steam_age.create_tools.title}" - x: -22.5d + x: -21.0d y: -4.0d } { @@ -1240,7 +1254,10 @@ y: 16.0d } { - dependencies: ["6AA07588374B59AB"] + dependencies: [ + "6AA07588374B59AB" + "56CA2EB7812529C5" + ] description: ["{quests.steam_age.vacuum_chamber.desc}"] id: "5F3063C539C9CBBF" subtitle: "{quests.steam_age.vacuum_chamber.subtitle}" @@ -1250,7 +1267,7 @@ type: "item" }] title: "{quests.steam_age.vacuum_chamber.title}" - x: -12.5d + x: -11.5d y: 15.0d } { @@ -1321,7 +1338,7 @@ } ] title: "{quests.steam_age.poor_paths.title}" - x: -26.0d + x: -24.5d y: -3.5d } { @@ -1373,7 +1390,7 @@ } ] title: "{quests.steam_age.normal_paths.title}" - x: -26.5d + x: -25.0d y: -2.0d } { @@ -1431,7 +1448,7 @@ } ] title: "{quests.steam_age.good_paths.title}" - x: -26.0d + x: -24.5d y: -0.5d } { @@ -1453,7 +1470,7 @@ type: "item" }] title: "{quests.steam_age.lv_circuit.title}" - x: -8.0d + x: -7.0d y: 8.0d } { @@ -1468,7 +1485,7 @@ type: "item" }] title: "{quests.steam_age.paper.title}" - x: -3.5d + x: -2.5d y: 11.5d } { @@ -1491,7 +1508,7 @@ type: "item" }] title: "{quests.metal_age.bronze_goodies.title}" - x: -22.5d + x: -21.0d y: -2.0d } { @@ -1515,7 +1532,7 @@ type: "item" }] title: "{quests.metal_age.wrought_iron_goodies.title}" - x: -12.0d + x: -10.5d y: -2.0d } { @@ -1539,7 +1556,7 @@ type: "item" }] title: "{quests.metal_age.steel_goodies.title}" - x: -5.5d + x: -4.0d y: 0.0d } { @@ -1621,7 +1638,7 @@ type: "item" }] title: "{quests.steam_age.rotation_speed_controller.title}" - x: -7.5d + x: -6.0d y: 0.0d } { @@ -1638,7 +1655,7 @@ type: "item" }] title: "{quests.steam_age.resin_boards.title}" - x: -11.5d + x: -10.5d y: 11.5d } { @@ -1672,7 +1689,7 @@ } ] title: "{quests.metal_age.coke_oven.title}" - x: -14.5d + x: -13.0d y: -2.0d } { @@ -1707,7 +1724,7 @@ type: "item" }] title: "{quests.steam_age.basic_mech_press.title}" - x: -18.5d + x: -17.0d y: -2.0d } { @@ -1730,7 +1747,7 @@ type: "item" }] title: "{quests.steam_age.steel_mech_press.title}" - x: -7.5d + x: -6.0d y: 4.0d } { @@ -1745,7 +1762,7 @@ type: "checkmark" }] title: "{quests.steam_age.fuel_sources.title}" - x: -7.5d + x: -6.0d y: -2.0d } { @@ -1759,7 +1776,7 @@ type: "item" }] title: "{quests.steam_age.large_water_wheel.title}" - x: -3.5d + x: -2.0d y: -2.0d } { @@ -1781,8 +1798,8 @@ type: "item" }] title: "{quests.steam_age.supers.title}" - x: -10.5d - y: 13.5d + x: -6.0d + y: 13.0d } { dependencies: ["0D0D461AE3A3F7BF"] @@ -1811,7 +1828,7 @@ } ] title: "{quests.steam_age.multiblock_tank.title}" - x: -16.5d + x: -15.0d y: -2.0d } { diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index b429838d3..02786704d 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -1674,6 +1674,7 @@ } } id: "1562419608EB333D" + shape: "circle" size: 1.5d subtitle: "{quests.stone_age.hydration.subtitle}" tasks: [{ @@ -1847,6 +1848,7 @@ description: ["{quests.stone_age.water_bucket.desc}"] icon: "minecraft:water_bucket" id: "1F9321F1743A0B79" + shape: "circle" subtitle: "{quests.stone_age.water_bucket.subtitle}" tasks: [{ id: "64BE95016DF461FD" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 9f57ea394..897535008 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -790,7 +790,10 @@ y: 15.0d } { - dependencies: ["02FDECC931B5E8EF"] + dependencies: [ + "02FDECC931B5E8EF" + "3E6DC423FE4A99F7" + ] description: [ "{quests.tfg_tips.gt_power_tools.desc.1}" "{@pagebreak}" @@ -823,20 +826,13 @@ } } id: "2D2CB8104E40E808" + optional: true subtitle: "{quests.tfg_tips.gt_power_tools.subtitle}" - tasks: [ - { - id: "5DA224C235E227E3" - title: "GT Tool" - type: "checkmark" - } - { - id: "5B0BF3A94CA0D8A9" - item: "gtceu:lv_charger_4x" - optional_task: true - type: "item" - } - ] + tasks: [{ + id: "5DA224C235E227E3" + title: "GT Tool" + type: "checkmark" + }] title: "{quests.tfg_tips.gt_power_tools.title}" x: 10.5d y: 11.5d diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 4f656545c..c07bbc0e6 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -190,6 +190,8 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", "tooltip.moldraw.shift_view_alloy": "§7§oHold (Shift) for Alloy Composition§r", + "gtceu.medical_condition.antidote.description.effect_removed": "Removes %s%% of the above conditions' effects", + "gtceu.medical_condition.antidote.description.effect_removed.all": "Removes all of the above conditions' effects", "gtceu.greenhouse": "Electric Greenhouse", "gtceu.steam_bloomery": "Steam Bloomery", "gtceu.food_oven": "Food Oven", diff --git a/kubejs/assets/tfg/alloys/weak_blue_steel.json b/kubejs/assets/tfg/alloys/weak_blue_steel.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/tfg/alloys/weak_blue_steel.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/tfg/alloys/weak_red_steel.json b/kubejs/assets/tfg/alloys/weak_red_steel.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/tfg/alloys/weak_red_steel.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index c0d3908ba..518b158ad 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2898,10 +2898,10 @@ "quests.low_voltage.lv_machine_hull.title": "Your second machine hull", "quests.low_voltage.lv_machine_hull.subtitle": "It's time to get into electricity", "quests.low_voltage.lv_machine_hull.desc.1": "You're getting real close to your &6first LV Machine&r and the beginning of the electric age! If you haven't made any &4Red Steel&r yet, you'll now have to, but in return you will get &6new ways&r to improve your production.\n\nThis is the GregTech philosophy: &6the further you progress, the better the new recipes become&r.\n\nTry to make at least 3 or 4 casings to begin.", - "quests.low_voltage.lv_machine_hull.desc.2": "For some players, reaching a new tier is marked by crafting the first &6circuit&r, for others it's the &6machine hull&r or the &6energy hatch&r. You can use whatever works best for you, but for the sake of organization, these quests will use the machine hull.\n\nLost on where to start? We recommend looking for machines that will make everything else cheaper, starting with the thing you hate the most.", - "quests.low_voltage.lv_machine_casing.title": "LV Machine Casing for Create?", + "quests.low_voltage.lv_machine_hull.desc.2": "For some players, reaching a new tier is marked by crafting the first &6circuit&r, for others it's the &6machine hull&r or the &6energy hatch&r. You can use whatever works best for you, but for the sake of organization, these quests will use the machine hull.\n\nAs a quick reminder, &cmachines explode when exposed to rain or water&r on any of the blocks they're adjacent to, unless the machine specifically says otherwise.", + "quests.low_voltage.lv_machine_casing.title": "Your next machines", "quests.low_voltage.lv_machine_casing.subtitle": "More options!", - "quests.low_voltage.lv_machine_casing.desc": "To make getting into LV less intimidating, &5TFG&r gives you the option to use &6Create&r machines in place of some &6GregTech&r machines.\n\nWe introduced them &6last chapter&r, but just know that if there is an alternative to a GregTech machine, you will have the choice within the quest.", + "quests.low_voltage.lv_machine_casing.desc": "Now that you've got some electricity going, it's time to use it! We recommend starting by making machines that will make it easier and cheaper to make even more machines.\n\nTo make getting into LV less intimidating, &5TFG&r gives you the option to use &6Create&r machines in place of some &6GregTech&r machines.\n\nWe introduced them &6last chapter&r, but just know that if there is an alternative to a GregTech machine, you will have the choice within the quest.", "quests.low_voltage.lv_motor.title": "The First of Many Motors", "quests.low_voltage.lv_motor.subtitle": "Low Voltage beckons...", "quests.low_voltage.lv_motor.desc": "Remember that &2EMI is your friend&r if recipes are getting overwhelming. You can click the button with four stacked squares on the bottom right of any recipe, and EMI will show you a tree of all the crafting ingredients, and you can even have it add a \"shopping list\" to your favourites!\n\nGetting back on topic, set yourself up for &7LV&r by crafting six &aLV Electric Motors&r! This may seem like a lot, but that's the bare minimum required to get to the good stuff in &7LV&r.", @@ -2917,19 +2917,18 @@ "quests.low_voltage.lost.task": "I know what to do now!", "quests.low_voltage.lv_steam_turbine.title": "The Steam Turbine", "quests.low_voltage.lv_steam_turbine.subtitle": "You must construct additional turbines", - "quests.low_voltage.lv_steam_turbine.desc.1": "The &3Steam Turbine&r is one of the only generators you can realistically use in &7LV&r. &2Later, you'll unlock more interesting Power options&r, such as natural gases or petrols.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.", - "quests.low_voltage.lv_steam_turbine.desc.2": "If you're using a single &3Steam Turbine&r, you only need &a1x Tin Cables&r. On the other hand, if you upgrade to &32 Steam Turbines&r, you should use &a2x Tin Cables&r - else they may end up &cburning&r.\n\nThis is because of the &9Amperage&r mechanic... but that will be explained later so you can enjoy playing. Don't worry!", + "quests.low_voltage.lv_steam_turbine.desc": "The &3Steam Turbine&r is most players' first &7LV&r generator, as you've already got steam production set up from your Steam machines.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.\n\nOne downside of steam is transporting it, and due to its lack of energy density, you'll need large or huge pipes to carry it around. You may also consider upgrading to the Large Bronze Boiler once you start needing more power than what your single-block boilers can produce.", "quests.low_voltage.lbb.title": "Large Bronze Boiler", "quests.low_voltage.lbb.subtitle": "Boom, boom, boom, boom", - "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine. Later power options are listed in the &bMV&r chapter.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!.", + "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!.", "quests.low_voltage.lbb.desc.2": "Once fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel. &5With this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25 percent power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines.\n\nWe recommend holding off making this until you're ready to power your EBF, or if you have a lot of steam multiblocks.", - "quests.low_voltage.lbb.desc.3": "In TerraFirmaGreg, you have a few options for fuel. You can use a Hose Pulley to pull Lava out of a deep underground lake, or set up a tree farm into a coke oven for Charcoal and Creosote. Lastly, there are huge surface-level Coal veins that you can extract with some automated mining machines and turn into Coke and significantly more Creosote than charcoal.\n\nIf you go the tree farm route, you'll need three coke ovens to power a full-throttle LBB.", + "quests.low_voltage.lbb.desc.3": "In TerraFirmaGreg, you have a few options for fuel. You can use a Hose Pulley to pull Lava out of a deep underground lake (no, infinite lava is not a thing), or set up a tree farm into a coke oven for Charcoal and Creosote. Lastly, there are huge surface-level Coal veins that you can extract with some automated mining machines and turn into Coke and significantly more Creosote than charcoal.\n\nIf you go the tree farm route, you'll need three coke ovens to power a full-throttle LBB.", "quests.low_voltage.lv_polariser.title": "Basic Polarizer", "quests.low_voltage.lv_polariser.subtitle": "The Polarizer polarizes!", "quests.low_voltage.lv_polariser.desc": "One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone.", "quests.low_voltage.link_chapter.title": "Explain energy to me", "quests.low_voltage.link_chapter.subtitle": "There is a whole chapter about energy", - "quests.low_voltage.link_chapter.desc": "View the chapter by clicking here", + "quests.low_voltage.link_chapter.desc": "GregTech's energy system works differently to FE (Forge Energy), the system used by almost every other mod.\n\nIt might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter:", "quests.low_voltage.link_chapter.task": "I read it", "quests.low_voltage.lv_combuston_gen.title": "The Combustion Generator", "quests.low_voltage.lv_combuston_gen.subtitle": "It does boom and make energy", @@ -2945,7 +2944,7 @@ "quests.low_voltage.lv_seeds.desc": "If you come across these plants, you should pick them up and start a farm.\n\nThey will be your best source of &aSeed Oil&r, a liquid used for producing &eBio Diesel&r. Canola is a bit more resistant to lower temperatures, while Sunflowers are happier in warmer climates. You also could grow them in your Electric Greenhouse if you don't want to spend as much time farming, at the expense of having to spend a little power to grow them.", "quests.low_voltage.lv_seeds.task": "Canola or Sunflowers", "quests.low_voltage.lv_gas_turbine.title": "The Gas Turbine", - "quests.low_voltage.lv_gas_turbine.subtitle": "It needs more circuits but less materials", + "quests.low_voltage.lv_gas_turbine.subtitle": "For petrochemical enthusiasts", "quests.low_voltage.lv_gas_turbine.desc": "With the help of &7Syngas&r, you now have a viable way to use the &cGas Turbine&r at &7LV&r. They work exactly like the other &6generators&r but should be a tiny bit cheaper than the &6Combustion Generator&r.", "quests.low_voltage.lv_gas_syngas.title": "Syngas", "quests.low_voltage.lv_gas_syngas.subtitle": "Not Wood Gas", @@ -2957,15 +2956,6 @@ "quests.low_voltage.lv_turbo_charge.subtitle": "Useful to charge your electric tools faster", "quests.low_voltage.lv_turbo_charge.desc": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Turbo Charger&r charges &6RF and EU&r items such as &9Drills&r extremely quickly.\n\nIt accepts up to 4 Amps for every item it charges, making it &6twice as fast&r as the &3Battery Buffer&r. It cannot discharge, though.\n\n&eAny&r Charger will complete this Quest.", "quests.low_voltage.lv_turbo_charge.task": "Any Turbo Charger will do", - "quests.low_voltage.lv_fisher.title": "Fishing Machine", - "quests.low_voltage.lv_fisher.subtitle": "Fully compatible with TFC!", - "quests.low_voltage.lv_fisher.desc": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Fisher&r catches fish from Water. It requires a 5x5 area of Water directly below to operate. It uses the same loot table as normal Fishing. Each operation consumes 1 String and EU equivalent to its tier (32 for &7LV&r, etc.). That's about it.\n\n&eFish Oil&r can be extracted from Fish, which can be used for &6Bio Diesel&r.", - "quests.low_voltage.lv_fisher.task": "Any Fisher will do", - "quests.low_voltage.lv_rock_crusher.title": "Rock Crusher", - "quests.low_voltage.lv_rock_crusher.subtitle": "Cobble is Love, Cobble is Life", - "quests.low_voltage.lv_rock_crusher.desc.1": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Rock Breaker&r is effectively a Cobblestone Generator in a box. You can give it any raw rock or cobblestone block, and it will produce copies of it. Very handy if you want a lot of bricks fast!\n\n&eAny&r Rock Breaker will complete this Quest.", - "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3Lore:&r&o Obsidian requiring Redstone to generate is in reference to an ancient Minecraft bug, &7MC-4239&f. Placing Redstone where the Cobblestone would go in a cobble generator would make it generate Obsidian instead. This bug was resolved in snapshot 14w25b for Minecraft 1.8, over 9 years ago at the time of writing!", - "quests.low_voltage.lv_rock_crusher.task": "Any Rock Crusher will do", "quests.low_voltage.lv_aqueous_accumulator.title": "Aqueous Accumulator", "quests.low_voltage.lv_aqueous_accumulator.subtitle": "Thermal Foundation is calling", "quests.low_voltage.lv_aqueous_accumulator.desc": "The &3Aqueous Accumulator&r is basically a Rock Crusher but for fluids. Simply place the machine next to two source blocks of the appropriate fluid, set the circuit, and voila! It'll keep producing more of that fluid. It effectively does the same thing as a mechanical pump, but using electricity instead of mechanical power, so you may find it easier to fit into your factory. As a bonus, the HV one will make infinite lava too!\n\nYou can safely waterlog the source blocks to prevent them freezing in winter, and the machine will continue to work.", @@ -2986,13 +2976,13 @@ "quests.low_voltage.lv_lathe.task": "Any of these", "quests.low_voltage.universal_cell.title": "Better bucket", "quests.low_voltage.universal_cell.subtitle": "You can see inside, unlike those drums...", - "quests.low_voltage.universal_cell.desc.1": "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r.\n\nFluid Cells hold &done bucket&r of Fluid.\n\nNot sold on them yet? Unlike drums and buckets, cells &asafely contain&r their contents, preventing you from getting burnt, frozen, or floating.", - "quests.low_voltage.universal_cell.desc.2": "Universal Cells hold up to &done bucket&r, but also can store &9fractions&r of Buckets. They're particularly ideal if you want to store leftover Fluid without crafting a whole Drum. \n\nCells made from higher tier materials can hold even more fluid, but &9Drums&r and &9Super Tanks&r will hold more by then.\n\nLike Drums, Cells can be placed into a crafting grid to clear their contents.", + "quests.low_voltage.universal_cell.desc.1": "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r.\n\nThe basic Fluid Cells hold &done bucket&r of Fluid, while the Steel Cells hold eight buckets.\n\nNot sold on them yet? Unlike drums and buckets, cells &asafely contain&r their contents, preventing you from getting burnt, frozen, or floating. They're also significantly cheaper!", + "quests.low_voltage.universal_cell.desc.2": "Universal Cells hold up to &done bucket&r, but also can store &9fractions&r of Buckets. They're particularly ideal if you want to store leftover Fluid without crafting a whole Drum. \n\nCells made from higher tier materials can hold even more fluid, but &9Drums&r and &9Super Tanks&r can hold even more.\n\nLike Drums, Cells can be placed into a crafting grid to clear their contents.", "quests.low_voltage.universal_cell.task": "Any cell", "quests.low_voltage.machine_auto_output_behaviour.title": "Machine Auto-Output Behaviour", "quests.low_voltage.machine_auto_output_behaviour.subtitle": "Let's learn.", "quests.low_voltage.machine_auto_output_behaviour.desc.1": "All machines typically have one &7Front Face&r, and one &9Output Face&r.\n\nThe &7Front Face&r should be obvious.\nThe &9Output Face&r is the face with a dot or hole on it. By default, this is at the back of the machine as you place it.\n\nMachines can &aauto-output&r through their output face. To enable auto-output, click the appropriate button in the GUI. Fluid and item auto-outputs are toggled separately. Further control over auto-outputs can be achieved with &dFilters&r and &dCovers&r, which are explained in the &dCover Behavior&r quest found in this chapter.", - "quests.low_voltage.machine_auto_output_behaviour.desc.2": "Right-clicking a machine with a &5Wrench&r changes the output side, and shift-right-clicking changes the front side. Keep in mind that the front side &ccannot&r also be the output side! \n\nBy default, items and fluids cannot be inserted through the output side, but this can be toggled with a &5Screwdriver&r. Either right-click the output face directly, or shift-right-click on the grid corresponding to the side of the output.\n\nThere are unique machines that do not process recipes, such as the &3Pump&r, &3Miner&r, &3Fisher&r, &3Item Collector&r, etc. These machines will output on their &7Front Face&r (which is still marked as a dot).", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "Right-clicking a machine with a &5Wrench&r changes the output side, and shift-right-clicking changes the front side. Keep in mind that the front side &ccannot&r also be the output side! \n\nBy default, items and fluids cannot be inserted through the output side, but this can be toggled with a &5Screwdriver&r. Either right-click the output face directly, or shift-right-click on the grid corresponding to the side of the output.", "quests.low_voltage.machine_auto_output_behaviour.task": "Hmm, how interesting!", "quests.low_voltage.programmed_circuits.title": "Programmed Circuits", "quests.low_voltage.programmed_circuits.subtitle": "Don't want to spend your circuits to select recipes?", @@ -3039,18 +3029,20 @@ "quests.low_voltage.lv_amp_explanation.subtitle": "Amps and You: a how-to", "quests.low_voltage.lv_amp_explanation.desc": "This questline serves as a quick guide to &9GregTech Amperage&r. As for &dVoltage&r mechanics, we'll go over those once you reach &bMV&r.\n\n&6&lTL;DR:&r For safety, match the Amperage limit of your Cables with the max amount of Amps provided by your Energy Producers.\n\nStill confused? Check the &cGregTech Energy&r chapter for a full rundown on GregTech's electricity system!", "quests.low_voltage.lv_ore_prospector.title": "This is Hacking", - "quests.low_voltage.lv_ore_prospector.subtitle": "The future of prospector", + "quests.low_voltage.lv_ore_prospector.subtitle": "Prospector NEO", "quests.low_voltage.lv_ore_prospector.desc": "The Prospector is an amazing tool that'll help you find veins in no time.\n\nIts GUI is interactive. Right-clicking will scan for ores, displaying them on a dynamic map.\n\n&l&3Lore:&r&o Back in OUR day, the portable Prospector was locked to &dLuV&f. Kids these days have it easy.", + "quests.low_voltage.night_vision_goggles.subtitle": "See in the dark!", + "quests.low_voltage.night_vision_goggles.desc": "Charge them up and put them on your face to get a permanent Night Vision effect as long as the batteries last! You can toggle this effect with a keybind, set to &aO&r by default.", "quests.low_voltage.lv_sprayer.title": "Spray Can", "quests.low_voltage.lv_sprayer.subtitle": "Time for server tag wars", - "quests.low_voltage.lv_sprayer.desc": "Unfortunately, this is only an &lEmpty&r Spray Can, which you have to fill with Chemical Dye before using.\n\n&aSpray Cans&r do not provide any functionality involving machines, but can be quite &bvisually appealing and useful&r!\n\nAny (or almost any) GregTech tile entity (machine, pipe, cable...) can be &6painted&r to one of the 16 colors of your choosing. This is great for screenshots, or to separate different setups for convenience in a Multiplayer base. They also help with distinguishing between pipelines and cables.\n\nHolding the &aSpray Can&r in the offhand will automatically paint any block you place.", + "quests.low_voltage.lv_sprayer.desc": "Unfortunately, this is only an &lEmpty&r Spray Can, which you have to fill with Dye before using.\n\n&aSpray Cans&r do not provide any functionality involving machines, but can be quite &bvisually appealing and useful&r!\n\nAny (or almost any) GregTech tile entity (machine, pipe, cable...) can be &6painted&r to one of the 16 colors of your choosing. This is great for screenshots, or to separate different setups for convenience in a Multiplayer base. They also help with distinguishing between pipelines and cables.\n\nHolding the &aSpray Can&r in the offhand will automatically paint any block you place.", "quests.low_voltage.other_machines.title": "But wait, there's more!", "quests.low_voltage.other_machines.subtitle": "You can't escape Greg...", "quests.low_voltage.other_machines.desc": "We won't go over the &dfull scale of regular Ore Processing&r. Why regular? Some ores require special treatment, but that's a topic for much later. Oh no, we're already getting carried away!\n\nSome machines like the &bChemical Bath&r or the &bElectrolyser&r could be useful.\n\nIntimidated by ore processing? Check the dedicated &cOre Processing&r chapter for a full walkthrough!", "quests.low_voltage.other_machines.task": "I agree to lose my sanity", "quests.low_voltage.lv_chemical_bath.title": "Basic Chemical Bath", "quests.low_voltage.lv_chemical_bath.subtitle": "The Chemical Bath bathes...", - "quests.low_voltage.lv_chemical_bath.desc.1": "&lOutside of Ore Processing:&r\n\nYou can use the Chemical Bath to replace recipes made with the &6sealed barrel&r, making paper and leather &6painless&r.\n\nThere are some other less important recipes, such as dyeing various items and blocks, or bleaching them.", + "quests.low_voltage.lv_chemical_bath.desc.1": "&lOutside of Ore Processing:&r\n\nYou can use the Chemical Bath to replace recipes made with the &6sealed barrel&r, making leather and treated wood &6painless&r.\n\nThere are some other less important recipes, such as dyeing various items and blocks, or bleaching them.", "quests.low_voltage.lv_chemical_bath.desc.2": "&lFor Ore Processing:&r\n\nSome &aCrushed Ores&r have alternate routes when washed into &aPurified Ore&r, involving bathing in either &aMercury&r or &aSodium Persulfate&r. This step isn't really important, unless you really want that special &6Byproduct&r. This can be a nice alternate source of Silver (hint, hint!).", "quests.low_voltage.lv_electroliser.title": "Basic Electrolyzer", "quests.low_voltage.lv_electroliser.subtitle": "It goes bzzz", @@ -3059,8 +3051,7 @@ "quests.low_voltage.lv_electroliser.desc.3": "&cTake caution!&r Due to how ores work, directly smelting dusts into Ingots can give higher metal yields than electrolysis. However, it means you lose the other products in the dust. You will have to decide whether you want to prioritise direct value, or byproduct count.", "quests.low_voltage.lv_mixer.title": "Basic Mixer", "quests.low_voltage.lv_mixer.subtitle": "The Mixer mixes...", - "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, especially the &4red steel&r for your machine hulls. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r.", - "quests.low_voltage.lv_mixer.task": "From Create or GregTech", + "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, since now it can directly make the &aColored Steel Dust&r. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. &7(Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r&7.)&r", "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.", @@ -3068,12 +3059,12 @@ "quests.low_voltage.gallium_arsenide.subtitle": "I hate byproducts, they're awesome", "quests.low_voltage.gallium_arsenide.desc": "Many materials going forward cannot be smelted directly from any Ores! They are instead obtained as byproducts from processing of other ores. Gallium and Arsenic are &4among&r these materials.\n\nFor &dGallium&r, you may, ranged from worst to best (compromising difficulty and yields):\n\n&9- &3Electrolyze &aSphalerite&r for a low chance of small dust. Note that you lose out on direct smelting value.\n\n&9-&r Put &aCrushed Bauxite&r in the &3Chemical Bath&r. Note that this requires &9Sodium Persulfate&r.\n\n&9-&r Obtain it as a Byproduct of &aSphalerite&r Ore Processing in the &3Thermal Centrifuge&r or &3Centrifuge&r.\n\nFor &dArsenic&r, you will have to mine and &3centrifuge&r &aRealgar&r, or put &aCobaltite&r through an EBF.", "quests.low_voltage.lv_assembler.title": "Basic Assembler", - "quests.low_voltage.lv_assembler.subtitle": "This bad boy is assembling better than you and IKEA", - "quests.low_voltage.lv_assembler.desc.1": "While this is an extremely &9important&r machine for progression, this will &9&lnot help you immediately&r as it is &cexpensive.&r Most of the recipes you will want to pursue require &cfluids&r. Set up a little bit more infrastructure before rushing this.\n\nWith that out of the way, the &3Assembler&r is crucial to gameplay. Consider it as important as a Crafting Table, except... well, it's a machine, duh.", - "quests.low_voltage.lv_assembler.desc.2": "Once you have enough infrastructure you will be able to make use of better recipes for:\n\n&9-&r &6Vacuum Tubes&r, giving over double the previous yield\n\n&9-&r &6Resistors&r, granting 4 resistors per craft!\n\n&9-&r &6Circuit Boards&r, greatly reducing copper used\n\nWahoo!\n\n&l&3Lore:&r&o Back in the days of GregTech 2, the Assembling Machine only had two slots, and was only really used for alternate Circuit and Hull recipes.", + "quests.low_voltage.lv_assembler.subtitle": "No IKEA instruction manual required", + "quests.low_voltage.lv_assembler.desc.1": "While this is an extremely &9important&r machine for progression, we don't recommend trying to craft it as your first LV machine as it is &cexpensive.&r\n\nHowever, if you've followed the quests up to this point, now is a good time to craft it!\n\nThe &3Assembler&r is crucial to gameplay. Consider it as important as a Crafting Table, except... well, it's a machine, duh.", + "quests.low_voltage.lv_assembler.desc.2": "You will be able to make use of better recipes for:\n\n&9-&r &6Vacuum Tubes&r, giving over double the previous yield\n\n&9-&r &6Resistors&r, granting 4 resistors per craft!\n\n&9-&r &6Circuit Boards&r, greatly reducing copper used.\n\nWahoo!\n\n&l&3Lore:&r&o Back in the days of GregTech 2, the Assembling Machine only had two slots, and was only really used for alternate Circuit and Hull recipes.", "quests.low_voltage.lv_assembler.task": "Basic Assembler", - "quests.low_voltage.t2_circuit_board.subtitle": "Yeah yeah it's wood but don't under estimate it", - "quests.low_voltage.t2_circuit_board.desc.1": "This Circuit Board is used to create &dMV Circuits&r!\n\n&9Note:&r You have <wo&r options when making the Phenolic Printed Circuit Board. If you use &aSodium Persulfate&r or &aIron III Chloride&r, making boards takes &6only a quarter of the Silver&r as opposed to the crafting recipe.\n\n&lHowever&r, given how painful it may be for you to obtain these chemicals &oright now&r, you can simply use more Silver by mining most of a Galena Vein...\n\nThe quest for &aSodium Persulfate&r is in the &bMV&r chapter, if you're down for some light reading.", + "quests.low_voltage.t2_circuit_board.subtitle": "They don't make 'em like this any more...", + "quests.low_voltage.t2_circuit_board.desc.1": "This Circuit Board is used to create &dMV Circuits&r!\n\n&9Note:&r You have <wo&r options when making the Phenolic Printed Circuit Board. If you use &aSodium Persulfate&r or &aIron III Chloride&r, making boards takes &6only a quarter of the Silver&r as opposed to the Artisan Table recipe.\n\n&lHowever&r, given how painful it may be for you to obtain these chemicals &oright now&r, you can simply use more Silver by mining most of a Galena Vein...\n\nThe quest for &aSodium Persulfate&r is in the &bMV&r chapter, if you're down for some light reading.", "quests.low_voltage.t2_circuit_board.desc.2": "&l&3Lore:&r&o Back in GTCEu 1.12.2, these circuit boards were called &2Good Circuit Boards&f. Not exactly a fitting name, as they're &4rather evil&f to craft.", "quests.low_voltage.lv_diode.title": "Diode", "quests.low_voltage.lv_diode.subtitle": "Don't be swayed by EMI!", @@ -3088,22 +3079,30 @@ "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", "quests.low_voltage.lv_greenhouse.subtitle": "The power of &mKubejs&r... Java", "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!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rThis multiblock can have its walls customized to use any valid iron tier greenhouse block. Check the EMI multiblock preview for more usable blocks. The EGH can also be inproved in a few ways, including fertilizer or later in &cHV&r with the &3Hydroponics Loop.&r", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rThis multiblock can have its walls customized to use any valid iron tier greenhouse block. Check the EMI multiblock preview for more usable blocks. The EGH can also be improved in a few ways, including fertilizer or later in &cHV&r with the &3Hydroponics Loop.&r", "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!\n\nIn TFG 0.11 it was remade from scratch with new recipes, a new structure, a mk2 in the form of the hydroponic facility and custom renders by RubenVerg.\n\nThe original subtitle for this quest was \"The power of Kubejs\" since originally it was an example of a custom machine that could be made in Kubejs--A dev kit. But now the structure is entirely made in Java to support TFC's food properties properly.", "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", "quests.low_voltage.lv_centrifuge.desc.1": "&lOutside of Ore Processing:&r\n\nOh boy, what can't this machine do? Decomposition recipes to separate dust types, separating air, do your taxes, and many others...\n\nThe list is too long! Let's just say &cyou need the Centrifuge&r.", "quests.low_voltage.lv_centrifuge.desc.2": "&lFor Ore Processing:&r\n\nThis takes &aImpure Dust&r or &aPurified Dust&r and turns them into clean Dust, plus an added tiny Dust &6Byproduct&r. This is outside of the optimal chain for Byproducts, but this is also the cheapest Ore Processing machine of the presented array to run and to setup on a small scale.", "quests.low_voltage.lv_centrifuge.desc.3": "&l&3Lore:&r&o In base GTCE, this was objectively the strongest Ore Processing machine as it was fairly easy to use, and gave three tiny dusts, just like the Ore Washer or the Thermal Centrifuge. We tuned it down in favor of diversity.", - "quests.low_voltage.lv_centrifuge.task": "", "quests.low_voltage.lv_glue.title": "Glued", "quests.low_voltage.lv_glue.subtitle": "What a sticky situation", - "quests.low_voltage.lv_glue.desc": "You can now &3centrifuge&r &aSticky Resin&r, which will give you &aGlue&r in fluid form (and the less useful Plantball, &6for now&r).\n\nGive yourself a headstart and get on producing Glue. You can use it to make &6cheaper Resistors&r, as well as &6cheaper Circuit Boards&r in the &3Assembler&r (and it is especially useful &oin the near future&r).\n\n&eNote:&r You can also centrifuge TFC's &aGlue&r or &aConifer Rosin&r, whichever's easiest!", + "quests.low_voltage.lv_glue.desc": "You can now &3centrifuge&r &aSticky Resin&r, which will give you &aGlue&r in fluid form (and the less useful Plantball, for now).\n\nGive yourself a headstart and get on producing Glue. You can use it to make &6cheaper Resistors&r, as well as &6cheaper Circuit Boards&r in the &3Assembler&r.\n\n&eNote:&r You can also centrifuge TFC's &aGlue&r or &aConifer Rosin&r, whichever's easiest!", "quests.low_voltage.lv_glue.task": "Glue", "quests.low_voltage.lv_cutter.title": "Basic Cutter", "quests.low_voltage.lv_cutter.subtitle": "The Cutter... cuts...", "quests.low_voltage.lv_cutter.desc": "For now, you should use &9Water&r for its recipes instead of trying to acquire Lubricant.\n\nIf you don't have one yet, this machine will also cut &6Rods into four Bolts&r.\n\nThis machine is the only way to obtain &dGem Plates&r, which are needed to craft Filters, and by extension, the &3Gas Collector&r.", "quests.low_voltage.lv_cutter.task": "Any cutter", + "quests.low_voltage.lv_distillery.subtitle": "The distillery distills...", + "quests.low_voltage.lv_distillery.desc": "The Distillery is kind of like a centrifuge, but mostly for organic/petrochemical fluids.\n\nIn &7LV&r, you can only extract one output from one input, but this will change after you get to the Distillation Tower in &6HV&r.\n\nYou won't use this machine for all that much in LV (unless you're using Combustion fuel), but it's essential for obtaining &ePhenol&r.", + "quests.low_voltage.phenolic_resin.subtitle": "Artificial Resin", + "quests.low_voltage.phenolic_resin.desc.1": "Phenolic Resin is made from a chemical reaction of both &6Phenol&r and &aFormaldehyde&r. While you only really have two options for obtaining the Phenol in &7LV&r (distilling either Creosote or Heavy Fuel), the Formaldehyde will require &dMethane&r, which has more options.", + "quests.low_voltage.phenolic_resin.desc.2": "The simplest (and slowest) is with hydrogen and carbon in a chemical reactor, which will also require very slow water electrolysis.\n\nThe distillery also has many options, including via Creosote.\n\nIf you're using Syngas as a fuel, you can also oxidize that into Methane.\n\nLastly, if you're feeling silly, you can also centrifuge a ton of mushrooms from the Beneath.", + "quests.low_voltage.magnesia.subtitle": "Also the name of a place in Greece!", + "quests.low_voltage.magnesia.desc": "Also known as Magnesium Oxide, Magnesia can be obtained in two ways:\n\n- Magnesite Ore\n\n- React Magnesium and Lye to create Magnesium Hydroxide, then calcinate it in a Coke Oven. Magnesium can be obtained from a variety of different ores.", + "quests.low_voltage.refractory_brick.subtitle": "The Cooler™ Fire Bricks", + "quests.low_voltage.refractory_brick.desc": "It's almost time to tear down your old TFC blast furnace setup! If you'd like, you can recycle most of it down into &6Refractory Clay Dust&r (we recommend using the Arc Furnace so you get back both the dust and the iron!), otherwise you can cook up some more Fire Clay. Just make sure you've got a large stockpile of Steel first!\n\nFrom there, mix the refractory clay dust with some Magnesia, Graphite, and Resin to create the improved ceramics required for &dyour first Coils&r.", "quests.low_voltage.lv_gas_collector.title": "Basic Gas Collector", "quests.low_voltage.lv_gas_collector.subtitle": "It'll take your breath away", "quests.low_voltage.lv_gas_collector.desc": "The Gas Collector collects Air that can then be centrifuged into &aOxygen&r and &aNitrogen&r.\n\n&l&3Lore:&r&o GregTech 5 players remember when they had to use a Compressor with IC2 cells to get Compressed Air... here, cell chemistry is no more.", @@ -3111,7 +3110,7 @@ "quests.low_voltage.lv_oxygen.subtitle": "Achtually, it's Dioxygen...", "quests.low_voltage.lv_oxygen.desc.1": "You could waste &o&eprecious years of your life&r in JEI looking for the most optimal Oxygen recipe, given the many ways to obtain it. Various minerals will produce it when electrolyzed.\n\nIf only the quest book had more information!", "quests.low_voltage.lv_oxygen.desc.2": "Surprise! The best source according to us (!) is &acentrifuging Air&r after making a &dGas Collector&r, which you might not be able to make just yet. This recipe also gives &aNitrogen&r, which is handy as it can speed up certain &3Electric Blast Furnace&r recipes&r.\n\nThe second best source according to us (!) is &aelectrolyzing Silicon Dioxide&r. Silicon Dioxide is obtained from various sources, such as Glass Dust and various Stone Dusts. We will come back to &6this method later&r because this one is actually &6god&r.", - "quests.low_voltage.lv_oxygen.desc.3": "The third best source according to us (!) is &aelectrolyzing Water&r. In reality, electrolysis of water is more suitable for &aHydrogen production&r due to the higher energy cost. &4Don't use this method as your main source of Oxygen&r, only for &1Hydrogen&r, once again we will help you later on to make Hydrogen.\n\nThe fourth best source according to us (!) is &ato not void&r it, EVER! Any Oxygen obtained from any source is worth something and should be stored in Tanks.\n\n&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A bucket will also work.", + "quests.low_voltage.lv_oxygen.desc.3": "The third best source according to us (!) is &aelectrolyzing Water&r. In reality, electrolysis of water is more suitable for &aHydrogen production&r due to the higher energy cost. &4Don't use this method as your main source of Oxygen&r, only for &1Hydrogen&r, once again we will help you later on to make Hydrogen.\n\nThe fourth best source according to us (!) is &ato not void&r it, EVER! Any Oxygen obtained from any source is worth something and should be stored in Tanks.", "quests.low_voltage.lv_oxygen.task": "Oxygen", "quests.low_voltage.lv_nitrogen.title": "Nitrogen Gas", "quests.low_voltage.lv_nitrogen.subtitle": "Your EBF booster", @@ -3129,7 +3128,7 @@ "quests.low_voltage.lv_chemical_reactor.subtitle": "Chemistry for dummies", "quests.low_voltage.lv_chemical_reactor.task": "Liquid Rubber", "quests.low_voltage.lv_chemical_reactor.desc.1": "The &3Chemical Reactor&r will be required for &la lot&r of recipes.\n\nLet's give it a spin - why don't we use your freshly made Chemical Reactor to unlock a new, &6better recipe for Rubber&r? Rubber is &dunusable&r as a Fluid, so you will need to make another machine to process it further.", - "quests.low_voltage.lv_chemical_reactor.desc.2": "You can't make Rubber using the Chemical Reactor alone, so here are some &aother machines&r you might want to aim for: \n\nA &3Solidifier&r is useful to solidify your Rubber directly into &aRubber Sheets&r. You'll want these moving forward.\n\nYou could then make use of an &3Assembler&r to use your molten Rubber for &aCables&r. This isn't important for Tin Cables, but better cables will &eneed&r to be made in the Assembler.\n\n&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A Drum is the perfect candidate.", + "quests.low_voltage.lv_chemical_reactor.desc.2": "You can't make Rubber using the Chemical Reactor alone, so here are some &aother machines&r you might want to aim for: \n\nA &3Solidifier&r is useful to solidify your Rubber directly into &aRubber Sheets&r. You'll want these moving forward.\n\nYou could then make use of an &3Assembler&r to use your molten Rubber for &aCables&r. This isn't important for Tin Cables, but better cables will &eneed&r to be made in the Assembler.", "quests.low_voltage.lv_fluid_solidifier.title": "Basic Fluid Solidifier", "quests.low_voltage.lv_fluid_solidifier.subtitle": "The Fluid Solidifier solidifies...", "quests.low_voltage.lv_fluid_solidifier.desc": "Build this machine next to your &3Chemical Reactor&r to automatically solidify Rubber into &aRubber Sheets&r.\n\nYou can make your Chemical Reactor auto-output if you &dwrench&r the side of your &3Chemical Reactor&r and enable Fluid &9auto-output&r.\n\nThere will be more Fluids to solidify, so you may re-purpose your &3Fluid Solidifier&r when not crafting Rubber - or make a second one!", @@ -3172,13 +3171,26 @@ "quests.low_voltage.mv_hull.desc2": "Before going further into &bMV&r, remember that in &6TFG&r you can use &6Create&r to reinforce your infrastructure if you don't want to use too much of GregTech. Aluminium Shafts and Cogwheels have 4x the stress capacity of steel ones, so you should be able to run all your machines much faster with them!", "quests.low_voltage.aluminium_greate.title": "Aluminium-tier Greate", "quests.low_voltage.aluminium_greate.subtitle": "Also known as Medium Stress", - "quests.low_voltage.aluminium_greate.desc": "It's been a while since your last upgrade, but now you have access to the next tier of Greate cogs and shafts. Like before, the aluminium ones have &bfour times&r the stress capacity of steel.\n\nContinuing with Greate beyond this point is very optional, and we encourage you to move over to GregTech, but the upgrade may help you de-spaghettify some of your old setups if you'd like to continue using them.\n\nYou can scale up your stress more with a &eSteam Engine&r, or convert EU into SU via the &9Create Additions&r &eElectric Motor&r.", + "quests.low_voltage.aluminium_greate.desc": "It's been a while since your last upgrade, but now you have access to the next tier of Greate cogs and shafts. Like before, the aluminium ones have &bfour times&r the stress capacity of steel.\n\nContinuing with Greate beyond this point is very optional, and we encourage you to move over to GregTech, but the upgrade may help you de-spaghettify some of your old setups if you'd like to continue using them.\n\nYou can scale up your stress production with a &eSteam Engine&r, or convert EU into SU via the &9Create Additions&r &eElectric Motor&r.", "quests.low_voltage.oil.title": "Found Oil early?", "quests.low_voltage.oil.subtitle": "For LV overachievers", - "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, or better yet, use it to make a little &bPolyethylene&r!\n\nThe details of this are in the MV chapter, but at this point you can use the polyethylene to make a few things such as cheaper Machine Hulls and Diodes.", + "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, convert it into Diesel to power your base.", "quests.low_voltage.glowstone.title": "Permanent Lighting", "quests.low_voltage.glowstone.subtitle": "A roundabout way of inventing light bulbs", "quests.low_voltage.glowstone.desc": "Looking for some cheap, permanent light sources? Now that you've got an LV Extractor (and soon an LV Fluid Solidifer), you can put all that &6Glowstone Dust&r you found in The Beneath to work. Ran out? You can make more in a Mixer.\n\nCheck out JEI for all the new light sources you can make with both liquid glowstone and glowstone blocks. GregTech also has some made with glowstone dust in an assembler.\n\nAs a bonus, you can also use liquid glowstone as an infinite fuel for your lamps!", + "quests.low_voltage.next_machines.title": "Even more machines", + "quests.low_voltage.next_machines.subtitle": "Now the fun begins", + "quests.low_voltage.next_machines.desc": "Now that you've got a few machines going, it's time to put them to work.\n\nTo the right of this quest are some purely optional machines (we don't know where else to put them in this chapter!), but otherwise the Assembler will make electronic components cheaper, while the Chemical Reactor, Extractor, and Fluid Solidifier will make Rubber cheaper. After that, the rest of &7LV&r is yours to explore!", + "quests.low_voltage.food_machines.title": "Food Machines", + "quests.low_voltage.food_machines.subtitle": "Fast Food On The Go", + "quests.low_voltage.food_machines.desc": "The Food Processor and Electric Oven are two custom machines designed specifically to work with TerraFirmaCraft's food system.\n\nThe processor can handle mixing bowl recipes, soups, sandwiches, smoking, brining, drying... You name it, this machine can do it. Except for cooking. That's what the oven is for.\n\nThe Rotten Voiding Cover can be placed on any machine or Input Bus to automatically void any food items that become rotten. Useful to stop your food automation from getting backed up!", + "quests.low_voltage.bakelite.subtitle": "Also known as Poly­oxy­benzyl­methylen­glycol­anhydride... try saying that five times fast", + "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.", + "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV. The second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", + "quests.low_voltage.lv_forming_press.subtitle": "The Forming Press forms...", + "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can automate any remaining TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the Phenolic Circuit Board.", + "quests.low_voltage.lv_laser_engraver.subtitle": "Pew pew!", + "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitter's for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", "quests.medium_voltage": "&bMV&r - Medium Voltage", "quests.medium_voltage.subtitle": "Venture into petrochemistry and refine electronics", "quests.medium_voltage.mv_machine_hull.title": "Welcome to MV!", @@ -3870,7 +3882,8 @@ "quests.steam_age.create_tools.desc": "A wrench will let you quickly pick up Create blocks by Sneak + Right-Clicking on them, though an axe or pickaxe will still work too. The goggles will let you see much more detailed information about your machines, such as how much stress they're producing or consuming.\n\nBoth of these are optional for now, but will prove to be very useful, and you'll definitely want them later.\n\nCheck the TFG Tips chapter for help on glassblowing. Did you know that breaking cobblestone with a hammer will turn it into gravel, and breaking that again will turn it into sand...?", "quests.steam_age.basic_millstone.title": "Automatic Ore Processing", "quests.steam_age.basic_millstone.subtitle": "No more querning", - "quests.steam_age.basic_millstone.desc": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Animal Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", + "quests.steam_age.basic_millstone.desc.1": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Animal Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", + "quests.steam_age.basic_millstone.desc.2": "&l&3Lore:&r&o The millstone can't be used to process grains into flower because Create doesn't understand TFC's food expiry system, which previously led to all sorts of bugs involving rotten items becoming fresh and vice versa. Until you're able to get the Food Processor in &7LV&r, you can still crush your grains via a Mortar in a crafting grid.", "quests.steam_age.horse_crank.title": "Your First Power Source", "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", "quests.steam_age.horse_crank.desc.1": "The &3Animal Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", @@ -4061,7 +4074,7 @@ "quests.steam_age.rolling_mill.desc.2": "&l&3Lore:&r &oThis machine existed in older versions of TFG, but it made rods instead of plates, and your best plate-making option before the LV bender had a 20 percent chance of failure!&r", "quests.steam_age.steel_mixer.title": "Steel Mechanical Mixer", "quests.steam_age.steel_mixer.subtitle": "An earlier LV Mixer", - "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best steam age machine you can make -- it can mix together your colored steel dusts at a much more efficient rate than the Crucible! It can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", + "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best steam age machine you can make -- it can mix together your black steel dusts at a much more efficient rate than the Crucible! Unfortunately, it can't make red or blue steel dusts directly, but it can make their &aweak versions&r.\n\nIt can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", "quests.steam_age.potin.title": "Potin Seller...", "quests.steam_age.potin.subtitle": "...I'm going into battle, and I need only your finest Potin.", "quests.steam_age.potin.desc.1": "&dPotin Fluid Pipes&r have a &avery high throughput&r for the material tier and cost. You may want to look into making some of these to aid with fluid logistics.\n\nTo get &dPotin&r, you should start by crafting its &eDust&r form.\n\nThis quest calls for either the small or normal pipe. Get either size to complete it.", @@ -4081,7 +4094,7 @@ "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the kinetic machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", "quests.steam_age.alternator.title": "Alternators", "quests.steam_age.alternator.subtitle": "Turning stress into power", - "quests.steam_age.alternator.desc.1": "If you've got a big steam age set up, you probably don't want to immediately scrap it all just to go back to some boilers and LV Steam Turbines. Instead, the &3Alternator&r will convert the SU from your steam engines into electricity. Each steam engine + alternator should give you 1A of LV!\n\nUnfortunately, alternators convert stress into a different electricity system (Forge Energy) than the one GregTech uses (Energy Units), so you'll need an Energy Converter to turn it into usable LV energy. Be sure to hit it with a Soft Mallet to convert it to FE to EU mode.", + "quests.steam_age.alternator.desc.1": "If you've got a big steam age set up, you probably don't want to immediately scrap it all just to go back to some boilers and LV Steam Turbines. Instead, the &3Alternator&r will convert the SU from your steam engines into electricity. Each steam engine + alternator should give you 1A of &7LV&r!\n\nUnfortunately, alternators convert stress into a different electricity system (Forge Energy) than the one GregTech uses (Energy Units), so you'll need an Energy Converter to turn it into usable &7LV&r energy. Be sure to hit it with a Soft Mallet to convert it to &aFE to EU&r mode.", "quests.steam_age.alternator.desc.2": "An example of a steam engine producing 8 amps of LV!\n", "quests.steam_age.packager.title": "Create Logistics", "quests.steam_age.packager.subtitle": "\"We have AE2 at home\"", @@ -4268,6 +4281,7 @@ "quests.stone_age.medical_conditions.subtitle": "Don't eat the Asbestos", "quests.stone_age.medical_conditions.desc.1": "Be careful what you pick up! Not all ores or dusts are safe to touch, and some will cause a buildup of a &6Medical Condition&r.\n\nEverything &cHazardous&r is written on its tooltip, so if you suddenly notice a debuff appearing, get that item out of your inventory! Putting it inside a container like a small vessel or backpack is safe.\n\nMost of these effects will slowly go away on their own, but if you let them build up long enough, you'll start getting a host of other nasty effects, up to and including &cdeath&r.", "quests.stone_age.medical_conditions.desc.2": "You will eventually need to work with some of these materials, so you have ways to deal with them.\n\nThe best way is to avoid getting any conditions in the first place - a Face Mask and Rubber Gloves will prevent inhalation and contact hazards respectively.\n\nThe second-best way is a cure: check out some of the &aPills, Tablets, and Salvos&r you can craft - they all help cure certain effects (and provide helpful buffs!), though the stronger cures have more annoying side-effects.", + "quests.stone_age.medical_conditions.desc.3": "Be careful around anything &cCarcinogenic&r or &cRadioactive&r - these conditions are &epermanent&r until you're able to craft Paracetamol in &7LV&r.", "quests.stone_age.medical_conditions.task": "I'm my own doctor", "quests.stone_age.copper_for_anvil.title": "Copper for the Anvil", "quests.stone_age.copper_for_anvil.subtitle": "You better get used to getting 14 ingots of something.", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 6f8c264c6..a55a97db4 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -24,6 +24,9 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:antipoison_tablet'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.antipoison_tablet')) }) + event.addAdvanced(['tfg:polycaprolactam_fabric'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.polycaprolactam')) + }) event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')); text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')); diff --git a/kubejs/server_scripts/create_additions/recipes.js b/kubejs/server_scripts/create_additions/recipes.js index 5ba0b86fc..81c14d48b 100644 --- a/kubejs/server_scripts/create_additions/recipes.js +++ b/kubejs/server_scripts/create_additions/recipes.js @@ -9,11 +9,11 @@ const registerCreateAdditionsRecipes = (event) => { // Прокатный стан event.recipes.gtceu.shaped('createaddition:rolling_mill', [ 'ABA', - 'CBC', - 'DED' + 'CEC', + 'DBD' ], { A: 'create:precision_mechanism', - B: 'greate:steel_shaft', + B: '#forge:rods/long/blue_steel', C: '#forge:double_plates/black_steel', D: '#gtceu:circuits/ulv', E: 'gtceu:ulv_machine_hull' diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index aa6173590..6bfd0a31e 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -757,7 +757,7 @@ function registerGreateRecipes(event) { 'FEG' ], { A: '#gtceu:circuits/ulv', - B: 'greate:steel_shaft', + B: '#forge:small_gears/blue_steel', C: 'gtceu:ulv_machine_hull', D: '#forge:plates/black_steel', E: 'gtceu:steel_whisk', @@ -766,7 +766,7 @@ function registerGreateRecipes(event) { }).id('greate:shaped/steel_mechanical_mixer') event.recipes.gtceu.assembler('greate:steel_mechanical_mixer') - .itemInputs('greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:ulv_machine_hull', 'gtceu:steel_whisk', '2x #forge:plates/black_steel') + .itemInputs('#forge:small_gears/blue_steel', '2x #gtceu:circuits/ulv', 'gtceu:ulv_machine_hull', 'gtceu:steel_whisk', '2x #forge:plates/black_steel') .itemOutputs('greate:steel_mechanical_mixer') .duration(200) .EUt(GTValues.VA[GTValues.ULV]) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index d50b81cc9..c23447eb6 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -85,4 +85,47 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:mixing/brass_ingot' }) event.remove({ id: /^greate:.*\/integration\/createaddition/ }) + + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_naquadah_boule' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_naquadah_boule_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_naquadah_boule_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_neutronium_boule' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_neutronium_boule_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_neutronium_boule_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nano_cpu' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nano_cpu_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nano_cpu_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_qbit_cpu' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_qbit_cpu_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_qbit_cpu_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_soc' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_soc_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_soc_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_asoc' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_asoc_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_asoc_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hasoc' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hasoc_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hasoc_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nand' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nand_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nand_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nor' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nor_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nor_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_lpic_wafer' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_lpic_wafer_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_lpic_wafer_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_pic_wafer' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_pic_wafer_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_pic_wafer_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hpic' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hpic_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hpic_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_uhpic' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_uhpic_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_uhpic_distilled_water' }) } diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 17f880fdb..cb93b4faa 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -5,7 +5,7 @@ * @param {Internal.RecipesEventJS} event */ function registerGTCEuMachineRecipes(event) { - //#region Выход: Filter Casing + // Filter Casing event.shaped('gtceu:filter_casing', [ 'AAA', @@ -19,9 +19,7 @@ function registerGTCEuMachineRecipes(event) { E: '#forge:rotors/steel' }).id('gtceu:shaped/filter_casing') - //#endregion - - //#region Выход: Assembly Line Grating + // Assembly Line Grating event.shaped('2x gtceu:assembly_line_grating', [ 'ABA', @@ -34,9 +32,7 @@ function registerGTCEuMachineRecipes(event) { D: 'gtceu:mv_electric_motor' }).id('gtceu:shaped/casing_grate_casing') - //#endregion - - //#region Gas Collectors + // #region Gas Collectors event.shaped('gtceu:lv_gas_collector', [ 'ABA', @@ -133,10 +129,9 @@ function registerGTCEuMachineRecipes(event) { D: '#gtceu:circuits/uv', E: 'gtceu:uv_machine_hull' }).id('gtceu:shaped/uv_gas_collector') + // #endregion - //#endregion - - //#region Forge Hammers + // #region Forge Hammers event.shaped('gtceu:lv_forge_hammer', [ 'ABA', @@ -233,10 +228,9 @@ function registerGTCEuMachineRecipes(event) { D: 'gtceu:uv_machine_hull', E: '#tfc:red_or_blue_anvil', }).id('gtceu:shaped/uv_forge_hammer') + // #endregion - //#endregion - - //#region CokeOven + // #region Coke Oven event.remove({ id: 'gtceu:shaped/casing_coke_bricks' }) event.remove({ id: 'gtceu:compressor/coke_bricks' }) @@ -257,7 +251,6 @@ function registerGTCEuMachineRecipes(event) { .duration(50) .EUt(2); - // Coke Oven removeMaceratorRecipe(event, 'macerate_coke_oven') event.recipes.gtceu.shaped('gtceu:coke_oven', [ 'ABA', @@ -287,15 +280,12 @@ function registerGTCEuMachineRecipes(event) { A: 'gtceu:coke_oven_bricks', B: '#forge:chests/wooden' }).addMaterialInfo().id('gtceu:shaped/coke_oven_hatch') - //#endregion - //#region Выход: Стальные машины - // HP Steam Boilers removeMaceratorRecipe(event, 'macerate_hp_steam_solid_boiler') event.recipes.gtceu.shaped('gtceu:hp_steam_solid_boiler', [ - 'AEA', + 'FEF', 'ADA', 'BCB' ], { @@ -303,12 +293,13 @@ function registerGTCEuMachineRecipes(event) { B: ChemicalHelper.get(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy, 1), C: 'gtceu:steel_brick_casing', D: 'tfc:crucible', - E: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) + E: ChemicalHelper.get(TagPrefix.plate, GTMaterials.BlackSteel, 1), + F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_boiler_coal_steel') removeMaceratorRecipe(event, 'macerate_hp_steam_liquid_boiler') event.recipes.gtceu.shaped('gtceu:hp_steam_liquid_boiler', [ - 'AEA', + 'FEF', 'ADA', 'BCB' ], { @@ -316,7 +307,8 @@ function registerGTCEuMachineRecipes(event) { B: ChemicalHelper.get(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy, 1), C: 'gtceu:steel_brick_casing', D: '#forge:glass', - E: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) + E: ChemicalHelper.get(TagPrefix.plate, GTMaterials.BlackSteel, 1), + F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_boiler_lava_steel') removeMaceratorRecipe(event, 'macerate_hp_steam_solar_boiler') @@ -327,12 +319,13 @@ function registerGTCEuMachineRecipes(event) { ], { A: '#forge:glass_panes', B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Silver, 1), - C: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1), + C: ChemicalHelper.get(TagPrefix.plate, GTMaterials.BlackSteel, 1), D: 'gtceu:steel_brick_casing', E: ChemicalHelper.get(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy, 1), }).addMaterialInfo().id('gtceu:shaped/steam_boiler_solar_steel') - // Экстрактор + // #region Other steam machines + removeMaceratorRecipe(event, 'macerate_hp_steam_extractor') event.recipes.gtceu.shaped('gtceu:hp_steam_extractor', [ 'BEB', @@ -347,7 +340,6 @@ function registerGTCEuMachineRecipes(event) { F: ChemicalHelper.get(TagPrefix.ring, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_extractor_steel') - // Дробитель removeMaceratorRecipe(event, 'macerate_hp_steam_macerator') event.recipes.gtceu.shaped('gtceu:hp_steam_macerator', [ 'BFB', @@ -362,7 +354,6 @@ function registerGTCEuMachineRecipes(event) { F: '#forge:raw_materials/diamond' }).addMaterialInfo().id('gtceu:shaped/steam_macerator_steel') - // Компрессор removeMaceratorRecipe(event, 'macerate_hp_steam_compressor') event.recipes.gtceu.shaped('gtceu:hp_steam_compressor', [ 'BCB', @@ -374,10 +365,9 @@ function registerGTCEuMachineRecipes(event) { C: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 1), D: ChemicalHelper.get(TagPrefix.plate, GTMaterials.WroughtIron, 1), E: 'minecraft:piston', - F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) + F: ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_compressor_steel') - // Молот removeMaceratorRecipe(event, 'macerate_hp_steam_forge_hammer') event.recipes.gtceu.shaped('gtceu:hp_steam_forge_hammer', [ 'DFD', @@ -392,7 +382,6 @@ function registerGTCEuMachineRecipes(event) { F: 'minecraft:piston' }).addMaterialInfo().id('gtceu:shaped/steam_hammer_steel') - // Печь removeMaceratorRecipe(event, 'macerate_hp_steam_furnace') event.recipes.gtceu.shaped('gtceu:hp_steam_furnace', [ 'BCB', @@ -406,7 +395,6 @@ function registerGTCEuMachineRecipes(event) { F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_furnace_steel') - // Сплавщик removeMaceratorRecipe(event, 'macerate_hp_steam_alloy_smelter') event.recipes.gtceu.shaped('gtceu:hp_steam_alloy_smelter', [ 'FCF', @@ -420,7 +408,6 @@ function registerGTCEuMachineRecipes(event) { F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_alloy_smelter_steel') - // Блоко-ломатель removeMaceratorRecipe(event, 'macerate_hp_steam_rock_crusher') event.recipes.gtceu.shaped('gtceu:hp_steam_rock_crusher', [ 'ECE', @@ -434,7 +421,6 @@ function registerGTCEuMachineRecipes(event) { E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.WroughtIron, 1) }).addMaterialInfo().id('gtceu:shaped/steam_rock_breaker_steel') - // Miner removeMaceratorRecipe(event, 'macerate_hp_steam_miner') event.recipes.gtceu.shaped('gtceu:hp_steam_miner', [ 'EFE', @@ -451,7 +437,7 @@ function registerGTCEuMachineRecipes(event) { //#endregion - //#region passthrough hatches + //#region Passthrough hatches event.recipes.gtceu.shaped('gtceu:lv_item_passthrough_hatch', [ ' A ', 'BCB', @@ -623,6 +609,8 @@ function registerGTCEuMachineRecipes(event) { //#region ULV Hatches + event.replaceInput({ id: 'gtceu:shaped/ulv_machine_hull' }, '#forge:plates/wood', '#forge:plates/lead') + event.recipes.gtceu.shaped('gtceu:ulv_input_bus', [ 'CAC', 'CBC', diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 6c780ab13..d4dab7a2b 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -391,6 +391,8 @@ function removeGTCEURecipes(event) { //#region Выход: Бумажная пыль event.remove({ id: 'gtceu:shaped/paper_dust' }) + event.remove({ id: 'gtceu:shaped_fluid_container/paper' }) + event.remove({ id: 'gtceu:macerator/macerate_enchanting_table' }) //#endregion @@ -838,9 +840,13 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__granite' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__diorite' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__andesite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__marble' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__redrock' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__deepslate' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blackstone' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__endstone' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__red_granite' }) + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_tuff' }) removeMaceratorRecipe(event, 'macerate_end_stone'); removeMaceratorRecipe(event, 'macerate_end_stone_bricks'); @@ -900,6 +906,10 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:macerator/macerate_smooth_sandstone' }) event.remove({ id: 'gtceu:macerator/macerate_sandstone' }) event.remove({ id: 'gtceu:macerator/macerate_cut_sandstone' }) + + event.remove({ id: 'gtceu:rock_breaker/obsidian' }) + + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_magnesia_refractory_brick_to_nugget' }) } function removeMaceratorRecipe(event, id) { diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 6953a1202..171d3841a 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -112,5 +112,7 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:damascus_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); - + + event.add("c:hidden_from_recipe_viewers", "tfg:molten_weak_red_steel"); + event.add("c:hidden_from_recipe_viewers", "tfg:molten_weak_blue_steel"); } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 6bc85679e..692fb88a4 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -21,7 +21,7 @@ const registerTFCRecipes = (event) => { ], { A: '#forge:double_plates/wrought_iron', B: 'tfc:crucible' - }).addMaterialInfo().id('tfc:crafting/blast_furnace') + }).id('tfc:crafting/blast_furnace') // Тыква -> Кусочки тыквы event.recipes.tfc.advanced_shapeless_crafting( @@ -250,4 +250,6 @@ const registerTFCRecipes = (event) => { .itemOutputs("4x tfc:powder/flux") .duration(50) .EUt(2); + + event.shapeless('4x tfc:fire_clay', ['tfc:fire_clay_block']) } diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index a4dd78bbc..90f5266bc 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -130,4 +130,11 @@ function removeTFCRecipes(event) { event.remove({ output: 'tfc:rustic_windmill_blade'}) event.remove({ output: 'tfc:lattice_windmill_blade'}) event.remove({ id: 'tfchotornot:heating/insulating_items'}) + + event.remove({ id: 'tfc:heating/metal/weak_blue_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_blue_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_blue_steel_fire_ingot' }) + event.remove({ id: 'tfc:heating/metal/weak_red_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_red_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_red_steel_fire_ingot' }) } diff --git a/kubejs/server_scripts/tfcbetterbf/recipes.js b/kubejs/server_scripts/tfcbetterbf/recipes.js index 86cc9ad9e..941c5f5a5 100644 --- a/kubejs/server_scripts/tfcbetterbf/recipes.js +++ b/kubejs/server_scripts/tfcbetterbf/recipes.js @@ -4,16 +4,24 @@ * * @param {Internal.RecipesEventJS} event */ -const registerTFCBetterBFRecipes = (event) => { - event.remove("tfcbetterbf:heating/metal/insulation") - - event.recipes.tfc.heating('tfcbetterbf:insulation', 1535) - .resultFluid(Fluid.of('gtceu:iron', 432)) - .id(`tfcbetterbf:heating/insulation`) +const registerTFCBetterBFRecipes = (event) => { + event.remove("tfcbetterbf:heating/metal/insulation") - event.recipes.tfc.heating('tfcbetterbf:insulated_fire_bricks', 1535) - .resultFluid(Fluid.of('gtceu:iron', 432)) - .id(`tfcbetterbf:heating/insulated_fire_bricks`) + event.recipes.tfc.heating('tfcbetterbf:insulation', 1535) + .resultFluid(Fluid.of('gtceu:iron', 432)) + .id(`tfcbetterbf:heating/insulation`) - TFGHelpers.registerMaterialInfo('tfcbetterbf:insulated_fire_bricks', [GTMaterials.WroughtIron, 3]) + TFGHelpers.registerMaterialInfo('tfcbetterbf:insulation', [GTMaterials.WroughtIron, 3]) + + event.recipes.tfc.heating('tfcbetterbf:insulated_fire_bricks', 1535) + .resultFluid(Fluid.of('gtceu:iron', 432)) + .id(`tfcbetterbf:heating/insulated_fire_bricks`) + + TFGHelpers.registerMaterialInfo('tfcbetterbf:insulated_fire_bricks', [GTMaterials.get('tfg:refractory_clay'), 5, GTMaterials.WroughtIron, 3]) + + event.recipes.gtceu.packer('tfcbetterbf:insulated_fire_bricks') + .itemInputs('tfcbetterbf:insulated_fire_bricks') + .itemOutputs('tfc:fire_bricks', '3x tfcbetterbf:insulation') + .duration(20) + .EUt(2) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js new file mode 100644 index 000000000..fd46fbf09 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -0,0 +1,70 @@ +"use strict"; + +function registerTFGBakeliteRecipes(event) { + + // TODO: move oil PE to MV + + event.recipes.gtceu.chemical_reactor('tfg:formaldehyde_from_methane') + .inputFluids('gtceu:methane 1000', 'gtceu:oxygen 1000') + .outputFluids('gtceu:formaldehyde 1000', 'gtceu:hydrogen 2000') + .circuit(1) + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + // add phenol and methane to distillation + event.recipes.gtceu.distillation_tower('gtceu:distill_creosote') + .inputFluids('gtceu:creosote 1000') + .outputFluids('gtceu:lubricant 500') + .outputFluids('gtceu:phenol 50') + .outputFluids('gtceu:carbon_dioxide 200') + .outputFluids('gtceu:methane 250') + // this adds single-block distillery recipes too + .disableDistilleryRecipes(false) + .duration(8 * 20) + .EUt(96) + + event.recipes.gtceu.chemical_reactor('tfg:syngas_to_methane') + .inputFluids('tfg:syngas 1000') + .notConsumable('#forge:dusts/silver') + .outputFluids('gtceu:methane 100') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:phenolic_resin') + .inputFluids('gtceu:phenol 500', 'gtceu:formaldehyde 1000') + .notConsumable('#forge:dusts/sodium_hydroxide') + .outputFluids('tfg:phenolic_resin 1000') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:bakelite_wood') + .inputFluids('tfg:phenolic_resin 144') + .itemInputs('tfg:treated_chipboard_composite') + .outputFluids('tfg:bakelite 144') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:bakelite_asbestos') + .inputFluids('tfg:phenolic_resin 144') + .itemInputs('#forge:dusts/asbestos') + .outputFluids('tfg:bakelite 144') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.remove({ id: 'gtceu:assembler/phenolic_board' }) + + event.recipes.gtceu.forming_press('tfg:phenolic_board') + .itemInputs('2x #forge:foils/bakelite', '2x minecraft:paper', 'gtceu:resin_circuit_board') + .itemOutputs('gtceu:phenolic_circuit_board') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:phenolic_board_pe') + .itemInputs('2x #forge:foils/polyethylene', 'gtceu:wood_plate') + .inputFluids('gtceu:phenol 50') + .itemOutputs('gtceu:phenolic_circuit_board') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.replaceInput({ id: 'gtceu:shaped/mv_machine_hull' }, '#forge:plates/wrought_iron', '#forge:plates/bakelite') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js new file mode 100644 index 000000000..850945e8d --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -0,0 +1,77 @@ +"use strict"; + +function registerTFGCoilRecipes(event) { + + // #region Cupronickel Coil + + event.smelting('tfg:refractory_clay_dust', 'tfc:fire_clay') + + event.recipes.gtceu.chemical_reactor('tfg:magnesium_hydroxide') + .itemInputs('#forge:dusts/magnesium') + .inputFluids('tfc:lye 2000') + .itemOutputs('#forge:dusts/magnesium_hydroxide', '2x #forge:dusts/sodium') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.coke_oven('tfg:magnesia') + .itemInputs('#forge:dusts/magnesium_hydroxide') + .itemOutputs('#forge:dusts/magnesia') + .duration(20 * 20) + + event.recipes.gtceu.pyrolyse_oven('tfg:magnesia') + .itemInputs('#forge:dusts/magnesium_hydroxide') + .itemOutputs('#forge:dusts/magnesia') + .duration(20 * 20) + .EUt(GTValues.VHA[GTValues.MV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_sticky') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '#forge:dusts/graphite', '5x gtceu:sticky_resin') + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_sticky_powder') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '4x tfc:powder/graphite', '5x gtceu:sticky_resin') + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_phenolic') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '#forge:dusts/graphite') + .inputFluids(Fluid.of('tfg:phenolic_resin', 144)) + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_phenolic_powder') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '4x tfc:powder/graphite') + .inputFluids(Fluid.of('tfg:phenolic_resin', 144)) + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.alloy_smelter('tfg:magnesia_refractory_brick') + .itemInputs('#forge:dusts/magnesia_refractory_brick') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('#forge:ingots/magnesia_refractory_brick') + .duration(8 * 20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.INGOT_MOLDING) + + event.recipes.gtceu.forming_press('tfg:magnesia_refractory_brick') + .itemInputs('#forge:dusts/magnesia_refractory_brick') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('#forge:ingots/magnesia_refractory_brick') + .duration(4 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.assembler('gtceu:coil_cupronickel') + .itemInputs('8x #forge:double_wires/cupronickel', '8x #forge:foils/blue_steel', '8x #forge:ingots/magnesia_refractory_brick') + .inputFluids('gtceu:tin_alloy 144') + .itemOutputs('gtceu:cupronickel_coil_block') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.LV]) + .addMaterialInfo(true, true) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js index 65f5b2f21..3b40a47da 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -98,7 +98,7 @@ function registerTFGMultiblockRecipes(event) { 'ACA', 'ABA' ], { - A: '#forge:plates/brass', + A: '#forge:plates/bronze', B: 'gtceu:potin_large_fluid_pipe', C: 'gtceu:hp_steam_compressor' }).addMaterialInfo().id('gtceu:shaped/steam_squasher') @@ -108,7 +108,7 @@ function registerTFGMultiblockRecipes(event) { 'ACA', 'ABA' ], { - A: '#forge:plates/brass', + A: '#forge:plates/bronze', B: 'tfc:metal/anvil/steel', C: 'gtceu:hp_steam_forge_hammer', D: 'gtceu:potin_large_fluid_pipe' diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js index db441beb3..d132b768a 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -67,6 +67,35 @@ function registerTFGAlloyingRecipes(event) { .circuit(1) .EUt(GTValues.VA[GTValues.MV]) .blastFurnaceTemp(1000) + + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/red_steel' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/blue_steel' }) + + event.recipes.greate.mixing('#forge:dusts/weak_red_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold']) + .recipeTier(1) + .circuitNumber(2) + .heated() + .id('tfg:weak_red_steel_greate') + + event.recipes.greate.mixing('#forge:dusts/weak_blue_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver']) + .recipeTier(1) + .circuitNumber(2) + .heated() + .id('tfg:weak_blue_steel_greate') + + event.recipes.greate.mixing('#forge:dusts/red_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold']) + .recipeTier(2) + .circuitNumber(1) + .id('tfg:red_steel_greate') + + event.recipes.greate.mixing('#forge:dusts/blue_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver']) + .recipeTier(2) + .circuitNumber(1) + .id('tfg:blue_steel_greate') //#endregion diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js index bdc455e77..8eabb675d 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js @@ -156,7 +156,7 @@ function processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, cera .circuit(circuitMeta) .itemOutputs(toolHeadItem) .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.MV]) } addMaterialRecycling(event, toolHeadItem, material, tagPrefixName, headTagPrefix); diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 5ea2bf0fd..0b256107b 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -187,19 +187,16 @@ function registerTFGClayRecipes(event) { .duration(20) .EUt(2) - event.recipes.gtceu.macerator('tfg:casting_channel') - .itemInputs('tfcchannelcasting:channel') - .itemOutputs('1x #forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(20) - .EUt(2) - - event.recipes.gtceu.macerator('tfg:mold_table') - .itemInputs('tfcchannelcasting:mold_table') - .itemOutputs('5x #forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(20) - .EUt(2) + var refractoryClay = GTMaterials.get('tfg:refractory_clay'); + TFGHelpers.registerMaterialInfo('tfc:blast_furnace', [GTMaterials.WroughtIron, 16, refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:fire_bricks', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:crucible', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:ceramic/fire_brick', [refractoryClay, 1]) + TFGHelpers.registerMaterialInfo('tfcchannelcasting:channel', [refractoryClay, 5/4]) + TFGHelpers.registerMaterialInfo('tfcchannelcasting:mold_table', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:ceramic/fire_ingot_mold', [refractoryClay, 5/2]) + TFGHelpers.registerMaterialInfo('tfg:rod_mold', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfg:small_gear_mold', [refractoryClay, 5]) // Renewable clay event.recipes.gtceu.rock_breaker("clay_duping") diff --git a/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js index b6d6c956d..d79899f97 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js @@ -128,13 +128,6 @@ function registerTFGChipboardRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.chemical_bath('gtceu:bath_high_density_treated_fiberboard') - .itemInputs('1x gtceu:wood_plate') - .inputFluids(Fluid.of('gtceu:creosote', 50)) - .itemOutputs('tfg:high_density_treated_fiberboard') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.chemical_bath('gtceu:bath_treated_wood_dust') .itemInputs('#tfg:wood_dusts') .inputFluids(Fluid.of('gtceu:creosote', 50)) @@ -142,17 +135,9 @@ function registerTFGChipboardRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.compressor('tfg:compressed_treated_chipboard_composite') - .itemInputs('tfg:treated_chipboard_composite') - .itemOutputs('tfg:high_density_treated_fiberboard') - .duration(200) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.assembler('tfg:resin_circuit_assembler') .itemInputs('gtceu:wood_plate', '2x gtceu:sticky_resin') .itemOutputs('gtceu:resin_circuit_board') .duration(20 * 10) .EUt(GTValues.VA[GTValues.ULV]) - - event.replaceInput({ id: 'gtceu:assembler/phenolic_board' }, '#tfg:wood_dusts', 'tfg:high_density_treated_fiberboard') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 3366ed27d..eec9b4a7a 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -56,6 +56,8 @@ const registerTFGRecipes = (event) => { registerTFGMultiblockRecipes(event) registerTFGSteamBloomeryRecipes(event) registerTFGElectronicComponentsRecipes(event) + registerTFGBakeliteRecipes(event) + registerTFGCoilRecipes(event) registerTFGEarlyGasRecipes(event) registerTFGBoilerRecipes(event) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index be452a79f..4e125b161 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -16,7 +16,7 @@ function registerVintageImprovementsRecipes(event) { B: 'greate:steel_cogwheel', C: '#forge:rods/steel', D: '#forge:double_ingots/black_steel', - E: '#forge:small_gears/steel', + E: '#forge:small_gears/blue_steel', F: '#gtceu:circuits/ulv' }).addMaterialInfo().id('tfg:vi/shaped/spring_coiling_machine') @@ -27,8 +27,8 @@ function registerVintageImprovementsRecipes(event) { ], { A: 'gtceu:ulv_machine_casing', B: 'greate:steel_mechanical_pump', - C: 'create:mechanical_piston', - D: '#forge:springs/wrought_iron', + C: 'minecraft:piston', + D: '#forge:springs/blue_steel', E: 'create:electron_tube', F: '#forge:plates/black_steel', G: 'create:precision_mechanism' diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 38e7473b7..a00a7aea5 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -170,6 +170,8 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:molten_black_bronze_bucket", "gtceu:molten_bismuth_bronze_bucket", + "tfg:molten_weak_blue_steel_bucket", + "tfg:molten_weak_red_steel_bucket", //armor "gtceu:bronze_helmet", diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 985f022e4..e7c733f4f 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -106,6 +106,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(891, 1188, 1485, 5)); GTMaterials.BlueSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); GTMaterials.RedSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.get('tfg:weak_blue_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.get('tfg:weak_red_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); GTMaterials.Gold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(636, 848, 1060, 1)); GTMaterials.Bismuth.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(162, 216, 270, 1)); @@ -282,7 +284,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); GTMaterials.Zinc.addFlags(GENERATE_LONG_ROD); GTMaterials.BlackSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); - GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); + GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_SPRING, GENERATE_SMALL_GEAR, GENERATE_FOIL); GTMaterials.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_FOIL); GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR); @@ -395,6 +397,8 @@ const registerGTCEuMaterialModification = (event) => { // Remove properties GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) + GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT) + GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID) // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 92fadd335..c71f7f7b5 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -73,14 +73,11 @@ const registerTFGItems = (event) => { // Add item for BTX Fuel event.create('tfg:catalyser_pt_re_zsm') - .translationKey('item.tfg.catalyser_pt_re_zsm') .texture('tfg:item/btx/catalyser_zsm') event.create('tfg:used_catalyser') - .translationKey('item.tfg.used_catalyser') .texture('tfg:item/btx/used_catalyser') event.create('tfg:loaded_resin') - .translationKey('item.tfg.loaded_resin') .texture('tfg:item/btx/loaded_resin') } diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 7e8068be4..ad21a71ba 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -16,6 +16,14 @@ const registerTFGMaterials = (event) => { event.create('methoxy') .components('1x oxygen', '1x carbon', '3x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('methylene') + .components('1x carbon', '2x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('hydroxide') + .components('1x oxygen', '1x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) //#endregion registerTFGPowerReworkMaterials(event); @@ -65,6 +73,40 @@ const registerTFGMaterials = (event) => { .secondaryColor(0x67FFE6) .formula("(Al2Si2O5(OH)4)(BeK4N5)") + // Bakelite + event.create('tfg:bakelite') + .polymer() + .fluid() + .color(0xF29104) + .secondaryColor(0xD96005) + .components('1x phenol', '1x formaldehyde') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.NO_SMELTING, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_FOIL + ) + + event.create('tfg:phenolic_resin') + .fluid() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x phenol', '1x formaldehyde') + .color(0xFCD7A3) + + // Coils + + event.create('tfg:magnesium_hydroxide') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x magnesium', '2x hydroxide') + .color(0xC6E4FF) + + event.create('tfg:magnesia_refractory_brick') + .dust() + .ingot() + .iconSet(GTMaterialIconSet.ROUGH) + .flags(GTMaterialFlags.NO_SMELTING) + .color(0xA69D96) //#region Tungsten Line diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index 1e5da063f..fcc217dd5 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -25,7 +25,6 @@ function registerTFGPrimitiveItems(event) { // Chipboard event.create('tfg:chipboard_composite') event.create('tfg:treated_chipboard_composite') - event.create('tfg:high_density_treated_fiberboard') // Wax event.create('tfg:paraffin_wax') diff --git a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js index 9edbd241e..1d6a7b7fd 100644 --- a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js @@ -94,5 +94,35 @@ function registerTFGPrimitiveMaterials(event) { .dust() .color(0xf0ccb4) .formula("C6H3(OH)3") - .iconSet('rough') + .iconSet(GTMaterialIconSet.ROUGH) + + // Fire clay + event.create('tfg:refractory_clay') + .dust() + .iconSet(GTMaterialIconSet.ROUGH) + .color(0xB49AA2) + .secondaryColor(0x60545F) + + // Weak colored steel + event.create('tfg:weak_blue_steel') + .dust() + .ingot() + .liquid() + .components('1x sterling_silver', '1x bismuth_bronze', '2x steel', '4x black_steel') + .blastTemp(1000, null, GTValues.VA[GTValues.MV], 25 * 20) + .color(0x697FBD) + .secondaryColor(0x384B82) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.DISABLE_ALLOY_BLAST) + .iconSet(GTMaterialIconSet.METALLIC) + + event.create('tfg:weak_red_steel') + .dust() + .ingot() + .liquid() + .components('1x brass', '1x rose_gold', '2x steel', '4x black_steel') + .blastTemp(1000, null, GTValues.VA[GTValues.MV], 25 * 20) + .color(0xB55C5C) + .secondaryColor(0x7D3232) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.DISABLE_ALLOY_BLAST) + .iconSet(GTMaterialIconSet.METALLIC) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index 695ed3041..c3bbdfbfe 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -20,6 +20,9 @@ function registerTFGTagPrefixes(event) { TagPrefix.ingot.setIgnored(GTMaterials.RawRubber); TagPrefix.plate.setIgnored(GTMaterials.RawRubber); TagPrefix.plateDouble.setIgnored(GTMaterials.RawRubber); + + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick')) + TagPrefix.block.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick')) } function excludeAllGemsButNormal(material) { From 9b31d2439aab71519ac8a495203834cc734a24af Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 01:12:22 +0000 Subject: [PATCH 026/157] move PE to MV, langs, tweak some quests and add another MV phenolic board recipe --- CHANGELOG.md | 16 ++ .../quests/chapters/lv__low_voltage.snbt | 48 ++-- kubejs/assets/minecraft/lang/en_us.json | 3 +- kubejs/assets/minecraft/lang/ru_ru.json | 3 + kubejs/assets/tfcagedalcohol/lang/ru_ru.json | 7 + kubejs/assets/tfg/lang/en_us.json | 36 +-- kubejs/assets/tfg/lang/ru_ru.json | 217 ++++++++++++------ kubejs/server_scripts/gregtech/utility.js | 38 +-- kubejs/server_scripts/minecraft/recipes.js | 17 +- .../tfg/machines/recipes.bakelite.js | 42 +++- pakku-lock.json | 121 ++++++---- 11 files changed, 364 insertions(+), 184 deletions(-) create mode 100644 kubejs/assets/tfcagedalcohol/lang/ru_ru.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a31ec81bc..7b1fdd7c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,19 @@ ## Unreleased ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie +#### ULV changes +- The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped +- The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust +- Changed ULV hulls to needing lead plates instead of wood plates +- Adjusted a few other machine recipes slightly +#### LV changes +- Completely rearranged the quest chapter! Now it should be much less intimidating for new players +- Added Bakelite, a new early plastic used for Phenolic Boards and MV machine hulls (instead of wrought iron plates) +- Removed the other fiberboard that was previously used for phenolic boards +- Added some recipes to get Phenol and Methane in LV +- Added new ceramics required to craft Cupronickel Coils, made out of your recycled TFC blast furnace, Magnesia, and some resin +- Cupronickel coils now also need blue steel foil instead of bronze +- Polyethylene now requires an MV chemical reactor ### Changes - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix - Added much more music to the different dimensions @Pyritie @@ -14,8 +27,11 @@ - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan - Fixed missing borax to flux recipe @Pyritie +- Fixed lavaproof blue steel boots not having armor resistances (#2872) @Paradalope +- Fixed the dye colors used to make Create Deco's bricks (#2859) @silllil ### Translation updates - Chinese (simplified) @jmecn +- Russian @Petr211071 ## [0.11.18] - 23-01-2026 ### Important notes diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 42831456c..9134b341e 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -16,8 +16,8 @@ { id: "46612C429BCA8A18" linked_quest: "6BAC3BE1D4FE0F6B" - x: 2.5d - y: 10.0d + x: 4.5d + y: 14.0d } { id: "5E5AD44B50E0B15B" @@ -76,7 +76,7 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_regulator.title}" - x: 6.0d + x: 7.0d y: -8.5d } { @@ -96,7 +96,7 @@ type: "item" }] title: "{quests.low_voltage.lv_robot_arm.title}" - x: 6.0d + x: 7.0d y: -11.5d } { @@ -112,7 +112,7 @@ type: "item" }] title: "{quests.low_voltage.lv_conveyor.title}" - x: 4.5d + x: 5.0d y: -10.0d } { @@ -128,7 +128,7 @@ type: "item" }] title: "{quests.low_voltage.lv_pump.title}" - x: 4.5d + x: 5.0d y: -8.5d } { @@ -144,7 +144,7 @@ type: "item" }] title: "{quests.low_voltage.lv_piston.title}" - x: 4.5d + x: 5.0d y: -11.5d } { @@ -254,7 +254,7 @@ type: "checkmark" }] title: "{quests.low_voltage.cover_behaviour.title}" - x: 6.0d + x: 7.0d y: -10.0d } { @@ -957,8 +957,8 @@ type: "item" }] title: "{quests.low_voltage.lv_circuit_assembler.title}" - x: 0.0d - y: 19.5d + x: 4.0d + y: 17.5d } { dependencies: ["1A77CA35F054F988"] @@ -1087,8 +1087,8 @@ item: "gtceu:phenolic_printed_circuit_board" type: "item" }] - x: -3.5d - y: 16.0d + x: -4.5d + y: 17.5d } { dependencies: [ @@ -1125,7 +1125,7 @@ }] title: "{quests.low_voltage.1_mv_circuit.title}" x: 0.0d - y: 16.0d + y: 17.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1490,8 +1490,8 @@ type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" - x: 2.5d - y: 16.0d + x: 0.0d + y: 19.5d } { dependencies: ["47B899144B865516"] @@ -1577,7 +1577,7 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: -6.5d + x: -7.0d y: -6.5d } { @@ -1593,7 +1593,7 @@ type: "item" }] title: "{quests.low_voltage.lv_seed_oil.title}" - x: -5.5d + x: -6.0d y: -6.5d } { @@ -1609,7 +1609,7 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: -4.5d + x: -5.0d y: -6.5d } { @@ -1671,7 +1671,7 @@ type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: -5.5d + x: -6.0d y: -5.5d } { @@ -1721,7 +1721,7 @@ } ] title: "{quests.low_voltage.lv_naphtha_light.title}" - x: -4.5d + x: -5.0d y: -5.5d } { @@ -1738,7 +1738,7 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_syngas.title}" - x: 4.5d + x: 5.0d y: -6.0d } { @@ -1888,7 +1888,7 @@ }] title: "{material.tfg.bakelite}" x: -6.5d - y: 16.0d + y: 17.5d } { description: ["{quests.low_voltage.lv_forming_press.desc}"] @@ -1900,8 +1900,8 @@ item: "gtceu:lv_forming_press" type: "item" }] - x: -3.5d - y: 18.0d + x: -4.5d + y: 15.5d } { dependencies: [ diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index 48f1c9820..1c8fbe6ab 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -103,5 +103,6 @@ "item.minecraft.milk_bucket": "Cow Milk Bucket", "material.tfg.dripstone": "Travertine", "death.attack.magic": "%1$s was killed by deadly poison", - "death.attack.magic.player": "%1$s was killed by deadly poison whilst trying to escape %2$s" + "death.attack.magic.player": "%1$s was killed by deadly poison whilst trying to escape %2$s", + "effect.minecraft.dolphins_grace": "Swim Speed" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/ru_ru.json b/kubejs/assets/minecraft/lang/ru_ru.json index 6f0606390..14bed099b 100644 --- a/kubejs/assets/minecraft/lang/ru_ru.json +++ b/kubejs/assets/minecraft/lang/ru_ru.json @@ -99,6 +99,9 @@ "item.minecraft.nether_brick": "Кератофировый кирпич", "item.minecraft.furnace_minecart": "Вагонетка с бойлером", "material.tfg.dripstone": "Травертин", + "death.attack.magic": "%1$s был убит смертоносным ядом", + "death.attack.magic.player": "%1$s был убит смертоносным ядом убегая от %2$s", + "effect.minecraft.dolphins_grace": "Скорость плавания", "item.minecraft.gold_nugget": "Золото (Самородок)", "item.minecraft.gold_ingot": "Золото (Слиток)", "item.minecraft.copper_ingot": "Медь (Слиток)", diff --git a/kubejs/assets/tfcagedalcohol/lang/ru_ru.json b/kubejs/assets/tfcagedalcohol/lang/ru_ru.json new file mode 100644 index 000000000..92282b34c --- /dev/null +++ b/kubejs/assets/tfcagedalcohol/lang/ru_ru.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.tfcagedalcohol.fluid.aged_mead": "Выдержанная медовуха", + "item.tfcagedalcohol.bucket.aged_mead": "Ведро с выдержанной медовухой", + "fluid.tfcagedalcohol.aged_mead": "Выдержанная медовуха", + "tfc.recipe.barrel.tfcagedalcohol.barrel.aged_mead": "Выдержка медовухи" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 518b158ad..ff499df4f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2155,7 +2155,7 @@ "quests.create_logistics.fabricate_rose_quartz.desc": "Since high-level logistics aren't super necessary for progression, you may also consider leaving the procurement of the Lens up until &bMV&r when you will be able to do it at home. &dRose Quartz&r can be crystallized from its dust form (mixed from 8 parts redstone and 1 part nether quartz) with an &bAdvanced &3Autoclave&r, switching out the usual (distilled) water for &bIce Water&r to simulate natural conditions. Similarly, at &bMV&r tier the &dRose Quartz Lens&r itself can be cut from a &dRose Quartz Plate&r, although it has to be acquired from a full block of Rose Quartz (being a gem plate, it must be processed in a &3Cutter&r).", "quests.create_logistics.rose_quartz_lens.title": "Rose-tinted Glasses", "quests.create_logistics.rose_quartz_lens.subtitle": "YONO (You Only Need One)", - "quests.create_logistics.rose_quartz_lens.desc": "Whichever way you obtained the materials needed, you need a &3Lathe&r to actually create the Lens. A &7Basic &3Lathe&r will be enough to create the lens from an &dExquisite Rose Quartz&r gem, but if you want to make the lens from a mere plate you will need better equipment in the form of an &bAdvanced &3Lathe&r.\n\nOne you've crafted it, the lens can be used in a &7Basic &3Laser Engraver&r &dDouble Red Alloy Plate&r to create the &dTransmitter&r unit we need, and won't be consumed in the process.", + "quests.create_logistics.rose_quartz_lens.desc": "Whichever way you obtained the materials needed, you need a &3Lathe&r to actually create the Lens. A &7Basic &3Lathe&r will be enough to create the lens from an &dExquisite Rose Quartz&r gem, but if you want to make the lens from a mere plate you will need better equipment in the form of an &bAdvanced &3Lathe&r.\n\nOne you've crafted it, the lens can be used in a &7Basic &3Laser Engraver&r with a &dDouble Red Alloy Plate&r to create the &dTransmitter&r unit you need, and won't be consumed in the process.", "quests.create_logistics.stock_link.title": "Stock Link", "quests.create_logistics.stock_link.subtitle": "We got storage buses at home", "quests.create_logistics.stock_link.desc": "The first &2High Logistics&r machine you can make is a &3Stock Link&r, which can be used to create a &dLogistics Network&r. When placed onto any side of a &3Packager&r, the Stock Link will &amake the inventory the Packager is attached to visible to the network&r! On its own, the Stock Link isn't super useful, but it is a core component of all the other machines yet to come...\n\nRemember to right click on an existing Stock Link before placing one down to tune the two to share the same network. To cancel this, you can simply craft the Stock Link by itself to clear its attunement.", @@ -2911,16 +2911,16 @@ "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", "quests.low_voltage.lost.title": "Lost?", "quests.low_voltage.lost.subtitle": "This is all very overwhelming", - "quests.low_voltage.lost.desc.1": "Getting into &7LV&r opens up a LOT of options, so it's easy to get lost. Here's our recommendations:\n\n1) Set up a source of power. Check the quests on the bottom right, there's several options, all are viable. Don't cheap out, build multiple generators!\n\nBe sure to &eread the GregTech Energy quest chapter&r so you get a good understanding of how EU, Volts, Amps, and Cable Loss all work.", - "quests.low_voltage.lost.desc.2": "2) Focus on machines that make building more machines cheaper.\n\nThe Polarizer is a super cheap machine that can magnetize rods for basically free. If you didn't craft the Steam Age equivalents, set up a Bender, Wiremill, Lathe, and Cutter. These quests are all on the top left.\n\nAfter that, focus on making Rubber cheaper with a Chemical Reactor and Fluid Solidifier (left), and making electronic components cheaper with an Assembler (bottom).\n\nOnce everything's at its cheapest, make sure you craft components in batches to save you lots of time.", - "quests.low_voltage.lost.desc.3": "3) Build a canner and make some batteries (top right). Battery buffers will help a lot with the growth of your factory, and the Ore Prospector is an absolute game changer.\n\n4) &7LV&r has two main end goals, the &aCircuit Assembler&r and the &aElectric Blast Furnace&r. You should now be ready to tackle those.", + "quests.low_voltage.lost.desc.1": "Getting into &7LV&r opens up a LOT of options, so it's easy to get lost. Here's our recommendations:\n\n1) Set up a source of power. Check the quests below this, there's several options, all are viable. Don't cheap out, build multiple generators!\n\nBe sure to &eread the GregTech Energy quest chapter&r so you get a good understanding of how EU, Volts, Amps, and Cable Loss all work.", + "quests.low_voltage.lost.desc.2": "2) Focus on machines that make building more machines cheaper.\n\nThe Polarizer is a super cheap machine that can magnetize rods for basically free. If you didn't craft the Steam Age equivalents, set up a Bender, Wiremill, Lathe, and Cutter.\n\nAfter that, focus on making Rubber cheaper with a Chemical Reactor and Fluid Solidifier (left), and making electronic components cheaper with an Assembler (bottom).\n\nOnce everything's at its cheapest, make sure you craft components in batches to save you lots of time.", + "quests.low_voltage.lost.desc.3": "3) Build a canner and make some batteries. Battery buffers will help a lot with the growth of your factory, and the Ore Prospector is an absolute game changer.\n\n4) &7LV&r has two main end goals, the &aCircuit Assembler&r and the &aElectric Blast Furnace&r. You should now be ready to tackle those.", "quests.low_voltage.lost.task": "I know what to do now!", "quests.low_voltage.lv_steam_turbine.title": "The Steam Turbine", "quests.low_voltage.lv_steam_turbine.subtitle": "You must construct additional turbines", - "quests.low_voltage.lv_steam_turbine.desc": "The &3Steam Turbine&r is most players' first &7LV&r generator, as you've already got steam production set up from your Steam machines.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.\n\nOne downside of steam is transporting it, and due to its lack of energy density, you'll need large or huge pipes to carry it around. You may also consider upgrading to the Large Bronze Boiler once you start needing more power than what your single-block boilers can produce.", + "quests.low_voltage.lv_steam_turbine.desc": "The &3Steam Turbine&r is most players' first &7LV&r generator, as you've already got steam production set up from your Steam machines.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.\n\nOne downside of steam is transporting it, and due to its lack of energy density, you'll need large or huge pipes to carry it around.\n\nYou may also consider upgrading to the Large Bronze Boiler once you start needing more power than what your single-block boilers can produce.", "quests.low_voltage.lbb.title": "Large Bronze Boiler", "quests.low_voltage.lbb.subtitle": "Boom, boom, boom, boom", - "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!.", + "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!", "quests.low_voltage.lbb.desc.2": "Once fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel. &5With this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25 percent power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines.\n\nWe recommend holding off making this until you're ready to power your EBF, or if you have a lot of steam multiblocks.", "quests.low_voltage.lbb.desc.3": "In TerraFirmaGreg, you have a few options for fuel. You can use a Hose Pulley to pull Lava out of a deep underground lake (no, infinite lava is not a thing), or set up a tree farm into a coke oven for Charcoal and Creosote. Lastly, there are huge surface-level Coal veins that you can extract with some automated mining machines and turn into Coke and significantly more Creosote than charcoal.\n\nIf you go the tree farm route, you'll need three coke ovens to power a full-throttle LBB.", "quests.low_voltage.lv_polariser.title": "Basic Polarizer", @@ -2928,7 +2928,7 @@ "quests.low_voltage.lv_polariser.desc": "One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone.", "quests.low_voltage.link_chapter.title": "Explain energy to me", "quests.low_voltage.link_chapter.subtitle": "There is a whole chapter about energy", - "quests.low_voltage.link_chapter.desc": "GregTech's energy system works differently to FE (Forge Energy), the system used by almost every other mod.\n\nIt might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter:", + "quests.low_voltage.link_chapter.desc": "It might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nGregTech's energy system (EU, Energy Units) works differently to FE (Forge Energy), the system used by almost every other mod.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter", "quests.low_voltage.link_chapter.task": "I read it", "quests.low_voltage.lv_combuston_gen.title": "The Combustion Generator", "quests.low_voltage.lv_combuston_gen.subtitle": "It does boom and make energy", @@ -3051,10 +3051,10 @@ "quests.low_voltage.lv_electroliser.desc.3": "&cTake caution!&r Due to how ores work, directly smelting dusts into Ingots can give higher metal yields than electrolysis. However, it means you lose the other products in the dust. You will have to decide whether you want to prioritise direct value, or byproduct count.", "quests.low_voltage.lv_mixer.title": "Basic Mixer", "quests.low_voltage.lv_mixer.subtitle": "The Mixer mixes...", - "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, since now it can directly make the &aColored Steel Dust&r. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. &7(Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r&7.)&r", + "quests.low_voltage.lv_mixer.desc": "The electric mixer will &6significantly speed up&r the process of making colored steel, since now it can directly make the &aColored Steel Dust&r. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. &7(Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r&7.)&r", "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", - "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.", + "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.\n\nRemember that you'll need to mix the soldering alloy dust first, then use an extractor to turn it into liquid. Ignore the Alloy Blast Smelter recipes in JEI!", "quests.low_voltage.gallium_arsenide.title": "Gallium Arsenide", "quests.low_voltage.gallium_arsenide.subtitle": "I hate byproducts, they're awesome", "quests.low_voltage.gallium_arsenide.desc": "Many materials going forward cannot be smelted directly from any Ores! They are instead obtained as byproducts from processing of other ores. Gallium and Arsenic are &4among&r these materials.\n\nFor &dGallium&r, you may, ranged from worst to best (compromising difficulty and yields):\n\n&9- &3Electrolyze &aSphalerite&r for a low chance of small dust. Note that you lose out on direct smelting value.\n\n&9-&r Put &aCrushed Bauxite&r in the &3Chemical Bath&r. Note that this requires &9Sodium Persulfate&r.\n\n&9-&r Obtain it as a Byproduct of &aSphalerite&r Ore Processing in the &3Thermal Centrifuge&r or &3Centrifuge&r.\n\nFor &dArsenic&r, you will have to mine and &3centrifuge&r &aRealgar&r, or put &aCobaltite&r through an EBF.", @@ -3097,7 +3097,7 @@ "quests.low_voltage.lv_distillery.subtitle": "The distillery distills...", "quests.low_voltage.lv_distillery.desc": "The Distillery is kind of like a centrifuge, but mostly for organic/petrochemical fluids.\n\nIn &7LV&r, you can only extract one output from one input, but this will change after you get to the Distillation Tower in &6HV&r.\n\nYou won't use this machine for all that much in LV (unless you're using Combustion fuel), but it's essential for obtaining &ePhenol&r.", "quests.low_voltage.phenolic_resin.subtitle": "Artificial Resin", - "quests.low_voltage.phenolic_resin.desc.1": "Phenolic Resin is made from a chemical reaction of both &6Phenol&r and &aFormaldehyde&r. While you only really have two options for obtaining the Phenol in &7LV&r (distilling either Creosote or Heavy Fuel), the Formaldehyde will require &dMethane&r, which has more options.", + "quests.low_voltage.phenolic_resin.desc.1": "Phenolic Resin is made from a chemical reaction of &6Phenol&r and &aFormaldehyde&r.\n\nWhile you only really have two options for obtaining the Phenol in &7LV&r (distilling either Creosote or Heavy Fuel), the Formaldehyde will require &dMethane&r, which has more options.", "quests.low_voltage.phenolic_resin.desc.2": "The simplest (and slowest) is with hydrogen and carbon in a chemical reactor, which will also require very slow water electrolysis.\n\nThe distillery also has many options, including via Creosote.\n\nIf you're using Syngas as a fuel, you can also oxidize that into Methane.\n\nLastly, if you're feeling silly, you can also centrifuge a ton of mushrooms from the Beneath.", "quests.low_voltage.magnesia.subtitle": "Also the name of a place in Greece!", "quests.low_voltage.magnesia.desc": "Also known as Magnesium Oxide, Magnesia can be obtained in two ways:\n\n- Magnesite Ore\n\n- React Magnesium and Lye to create Magnesium Hydroxide, then calcinate it in a Coke Oven. Magnesium can be obtained from a variety of different ores.", @@ -3143,7 +3143,7 @@ "quests.low_voltage.cupronickel_ingot.desc": "A big part of progression in GregTech revolves around gaining access to new materials that you'll use to upgrade your machines or unlock advanced components.\n\nOne such material you'll encounter is &bCupronickel&r — the beginning of a long journey.\nThis material is used to build your first &6Electric Blast Furnace&r, an essential step in your industrial growth.\n\nLuckily, this first step is fairly simple: an Alloy Smelter will get the job done.\nSo even if the recipe asks for &b128 Cupronickel&r, don't worry — it's easier than it looks!&r\n\nLater on, their counterparts will become much more complex, so enjoy the simplicity while it lasts!", "quests.low_voltage.cupronickel_coil.title": "Cupronickel Coils", "quests.low_voltage.cupronickel_coil.subtitle": "Baby's first heating coil", - "quests.low_voltage.cupronickel_coil.desc": "Prepare &a128 Cupronickel&r, &a32 Bronze&r and &a16 Tin Alloy&r to craft the Heating Coils required for your first Electric Blast Furnace.\n\nThis is still less than half (!) of the cost of the whole EBF in raw materials. You will also need about a stack each of Invar and Steel, so get mining.\n\nThe Cupronickel Coils will allow the EBF to perform recipes up to &d1,800K&r (ignoring Voltage bonuses). That's pretty hot if you ask us.\n\n&6Tutorial on Coils in the &lGregTech Energy&r&6 tab - check it out to learn more!&r", + "quests.low_voltage.cupronickel_coil.desc": "Prepare &a128 Cupronickel&r, &a32 Blue Steel&r and &a16 Tin Alloy&r ingots, as well as &a128 Refractory Bricks&r to craft the Heating Coils required for your first Electric Blast Furnace.\n\nThis is still less than half (!) of the cost of the whole EBF in raw materials. You will also need about a stack each of Invar and Steel, so get mining.\n\nThe Cupronickel Coils will allow the EBF to perform recipes up to &d1,800K&r (ignoring Voltage bonuses). That's pretty hot if you ask us.\n\n&6Tutorial on Coils in the &lGregTech Energy&r&6 tab - check it out to learn more!&r", "quests.low_voltage.lv_ebf.title": "The Electric Blast Furnace", "quests.low_voltage.lv_ebf.subtitle": "One of the core machines of GregTech. We like it big.", "quests.low_voltage.lv_ebf.desc.1": "This quest explains the core mechanic of the &3Electric Blast Furnace&r, while the quest just over this one will explain the mechanics of the Multiblock Parts that you'll also need. Be sure to check this quest out.\n\nAnyway, the &3EBF&r is your &efirst electric multiblock&r! Congrats. It's used to process materials at high temperatures.\n\nYou'll become familiar with the EBF to make &aAluminium&r and progress to &d&bMV Age&r. It can also make &7Steel&r faster than the the &6Blast Furnace&r, which means you can finally tear down your old TFC smithy if you'd like.", @@ -3174,7 +3174,7 @@ "quests.low_voltage.aluminium_greate.desc": "It's been a while since your last upgrade, but now you have access to the next tier of Greate cogs and shafts. Like before, the aluminium ones have &bfour times&r the stress capacity of steel.\n\nContinuing with Greate beyond this point is very optional, and we encourage you to move over to GregTech, but the upgrade may help you de-spaghettify some of your old setups if you'd like to continue using them.\n\nYou can scale up your stress production with a &eSteam Engine&r, or convert EU into SU via the &9Create Additions&r &eElectric Motor&r.", "quests.low_voltage.oil.title": "Found Oil early?", "quests.low_voltage.oil.subtitle": "For LV overachievers", - "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, convert it into Diesel to power your base.", + "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, or convert it into Diesel to power your Combustion Generators.", "quests.low_voltage.glowstone.title": "Permanent Lighting", "quests.low_voltage.glowstone.subtitle": "A roundabout way of inventing light bulbs", "quests.low_voltage.glowstone.desc": "Looking for some cheap, permanent light sources? Now that you've got an LV Extractor (and soon an LV Fluid Solidifer), you can put all that &6Glowstone Dust&r you found in The Beneath to work. Ran out? You can make more in a Mixer.\n\nCheck out JEI for all the new light sources you can make with both liquid glowstone and glowstone blocks. GregTech also has some made with glowstone dust in an assembler.\n\nAs a bonus, you can also use liquid glowstone as an infinite fuel for your lamps!", @@ -3182,15 +3182,15 @@ "quests.low_voltage.next_machines.subtitle": "Now the fun begins", "quests.low_voltage.next_machines.desc": "Now that you've got a few machines going, it's time to put them to work.\n\nTo the right of this quest are some purely optional machines (we don't know where else to put them in this chapter!), but otherwise the Assembler will make electronic components cheaper, while the Chemical Reactor, Extractor, and Fluid Solidifier will make Rubber cheaper. After that, the rest of &7LV&r is yours to explore!", "quests.low_voltage.food_machines.title": "Food Machines", - "quests.low_voltage.food_machines.subtitle": "Fast Food On The Go", + "quests.low_voltage.food_machines.subtitle": "Fast Food on the Go", "quests.low_voltage.food_machines.desc": "The Food Processor and Electric Oven are two custom machines designed specifically to work with TerraFirmaCraft's food system.\n\nThe processor can handle mixing bowl recipes, soups, sandwiches, smoking, brining, drying... You name it, this machine can do it. Except for cooking. That's what the oven is for.\n\nThe Rotten Voiding Cover can be placed on any machine or Input Bus to automatically void any food items that become rotten. Useful to stop your food automation from getting backed up!", "quests.low_voltage.bakelite.subtitle": "Also known as Poly­oxy­benzyl­methylen­glycol­anhydride... try saying that five times fast", - "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.", - "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV. The second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", + "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\n\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.\n\nYou now also have access to a cheaper recipe for ULV and LV Machine Hulls!", + "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV.\n\nThe second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", "quests.low_voltage.lv_forming_press.subtitle": "The Forming Press forms...", - "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can automate any remaining TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the Phenolic Circuit Board.", + "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can do TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the &aPhenolic Circuit Board&r.", "quests.low_voltage.lv_laser_engraver.subtitle": "Pew pew!", - "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitter's for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", + "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitters for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", "quests.medium_voltage": "&bMV&r - Medium Voltage", "quests.medium_voltage.subtitle": "Venture into petrochemistry and refine electronics", "quests.medium_voltage.mv_machine_hull.title": "Welcome to MV!", @@ -3883,7 +3883,7 @@ "quests.steam_age.basic_millstone.title": "Automatic Ore Processing", "quests.steam_age.basic_millstone.subtitle": "No more querning", "quests.steam_age.basic_millstone.desc.1": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Animal Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", - "quests.steam_age.basic_millstone.desc.2": "&l&3Lore:&r&o The millstone can't be used to process grains into flower because Create doesn't understand TFC's food expiry system, which previously led to all sorts of bugs involving rotten items becoming fresh and vice versa. Until you're able to get the Food Processor in &7LV&r, you can still crush your grains via a Mortar in a crafting grid.", + "quests.steam_age.basic_millstone.desc.2": "&l&3Lore:&r&o The millstone can't be used to process grains into flour because Create doesn't understand TFC's food expiry system, which previously led to all sorts of bugs involving rotten items becoming fresh and vice versa. Until you're able to get the Food Processor in &7LV&r, you can still crush your grains via a Mortar in a crafting grid.", "quests.steam_age.horse_crank.title": "Your First Power Source", "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", "quests.steam_age.horse_crank.desc.1": "The &3Animal Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 522ddb6b4..16c1b92fd 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -251,14 +251,14 @@ "block.tfg.rock.aqueduct_nether": "Кератофировый акведук", "block.tfg.rock.hardened_moon_stone": "Укреплённый анортозит", "block.tfg.rock.moon_stone_wall": "Анортозитовая ограда", - "block.tfg.rock.cobble_moon_stone_wall": "Ограда из анортозитового булыжника", + "block.tfg.rock.cobble_moon_wall": "Ограда из анортозитового булыжника", "block.tfg.rock.mossy_cobble_moon": "Замшелый анортозитовый булыжник", "block.tfg.rock.mossy_cobble_moon_stairs": "Ступеньки из замшелого анортозитового булыжника", "block.tfg.rock.mossy_cobble_moon_slab": "Плита из замшелого анортозитового булыжника", "block.tfg.rock.mossy_cobble_moon_wall": "Ограда из замшелого анортозитового булыжника", "block.tfg.rock.mossy_bricks_moon": "Замшелые анортозитовые кирпичи", "block.tfg.rock.mossy_bricks_moon_stairs": "Ступеньки из замшелых анортозитовых кирпичей", - "block.tfg.rock.mossy_bricks_moon_stone_slab": "Плита из замшелых анортозитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_slab": "Плита из замшелых анортозитовых кирпичей", "block.tfg.rock.mossy_bricks_moon_wall": "Ограда из замшелых анортозитовых кирпичей", "block.tfg.rock.chiseled_bricks_moon_wall": "Ограда из резного анортозита", "block.tfg.rock.gravel_moon": "Анортозитовый гравий", @@ -437,6 +437,76 @@ "block.tfg.loose.red_granite": "Камешек красного гранита", "block.tfg.spike.red_granite_spike": "Сталагмит красного гранита", "block.tfg.rock.aqueduct_red_granite": "Акведук из красного гранита", + "block.tfg.rock.sandy_jadestone_stairs": "Ступеньки из лампроита", + "block.tfg.rock.sandy_jadestone_slab": "Плита из лампроита", + "block.tfg.rock.sandy_jadestone_wall": "Ограда из лампроита", + "block.tfg.rock.hardened_sandy_jadestone": "Укреплённый лампроит", + "block.tfg.spike.sandy_jadestone_spike": "Сталагмит из лампроита", + "block.tfg.sandy_jadestone_support": "Опора из лампроита", + "block.tfg.rock.cobble_sandy_jadestone": "Лампроитовый булыжник", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "Ступеньки из лампроитового булыжника", + "block.tfg.rock.cobble_sandy_jadestone_slab": "Плита из лампроитового булыжника", + "block.tfg.rock.cobble_sandy_jadestone_wall": "Ограда из лампроитового булыжника", + "block.tfg.rock.gravel_sandy_jadestone": "Лампроитовый гравий", + "block.tfg.rock.aqueduct_sandy_jadestone": "Лампроитовый акведук", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "Ступеньки из лампроитовых кирпичей", + "block.tfg.rock.bricks_sandy_jadestone_slab": "Плита из лампроитовых кирпичей", + "block.tfg.rock.bricks_sandy_jadestone_wall": "Ограда из лампроитовых кирпичей", + "block.tfg.rock.polished_sandy_jadestone_stairs": "Ступеньки из полированного лампроита", + "block.tfg.rock.polished_sandy_jadestone_slab": "Плита из полированного лампроита", + "block.tfg.rock.polished_sandy_jadestone_wall": "Ограда из полированного лампроита", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "Ступеньки из резного лампроита", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "Плита из резного лампроита", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "Ограда из резного лампроита", + "block.tfg.loose.sandy_jadestone": "Камешек лампроита", + "block.tfg.rock.flavolite_stairs": "Ступеньки из игнимбрита", + "block.tfg.rock.flavolite_slab": "Плита из игнимбрита", + "block.tfg.rock.flavolite_wall": "Ограда из игнимбрита", + "block.tfg.rock.hardened_flavolite": "Укреплённый игнимбрит", + "block.tfg.spike.flavolite_spike": "Сталагмит из игнимбрита", + "block.tfg.flavolite_support": "Опора из игнимбрита", + "block.tfg.rock.cobble_flavolite": "Игнимбритовый булыжник", + "block.tfg.rock.cobble_flavolite_stairs": "Ступеньки из игнимбритового булыжника", + "block.tfg.rock.cobble_flavolite_slab": "Плита из игнимбритового булыжника", + "block.tfg.rock.cobble_flavolite_wall": "Ограда из игнимбритового булыжника", + "block.tfg.rock.gravel_flavolite": "Игнимбритовый гравий", + "block.tfg.rock.aqueduct_flavolite": "Акведук из игнимбрита", + "block.tfg.rock.bricks_flavolite_stairs": "Ступеньки из игнимбрита", + "block.tfg.rock.bricks_flavolite_slab": "Плита из игнимбрита", + "block.tfg.rock.bricks_flavolite_wall": "Ограда из игнимбрита", + "block.tfg.rock.polished_flavolite_stairs": "Ступеньки из полированного игнимбрита", + "block.tfg.rock.polished_flavolite_slab": "Плита из полированного игнимбрита", + "block.tfg.rock.polished_flavolite_wall": "Ограда из полированного игнимбрита", + "block.tfg.rock.chiseled_flavolite_stairs": "Ступеньки из резного игнимбрита", + "block.tfg.rock.chiseled_flavolite_slab": "Плита из резного игнимбрита", + "block.tfg.rock.chiseled_flavolite_wall": "Ограда из резного игнимбрита", + "block.tfg.loose.flavolite": "Камешек игнимбрита", + "block.tfg.rock.scoria_stairs": "Ступеньки из пепла", + "block.tfg.rock.scoria_slab": "Плита из пепла", + "block.tfg.rock.scoria_wall": "Ограда из пепла", + "block.tfg.rock.hardened_scoria": "Укреплённый пепел", + "block.tfg.spike.scoria_spike": "Сталагмит из пепла", + "block.tfg.scoria_support": "Опора из пепла", + "block.tfg.rock.cobble_scoria": "Булыжник из пепла", + "block.tfg.rock.cobble_scoria_stairs": "Ступеньки из булыжника из пепла", + "block.tfg.rock.cobble_scoria_slab": "Плита из булыжника из пепла", + "block.tfg.rock.cobble_scoria_wall": "Ограда из булыжника из пепла", + "block.tfg.rock.gravel_scoria": "Гравий из пепла", + "block.tfg.rock.aqueduct_scoria": "Акведук из пепла", + "block.tfg.loose.scoria": "Камешек пепла", + "block.tfg.rock.scorchia_stairs": "Ступеньки из тёмного пепла", + "block.tfg.rock.scorchia_slab": "Плита из тёмного пепла", + "block.tfg.rock.scorchia_wall": "Ограда из тёмного пепла", + "block.tfg.rock.hardened_scorchia": "Укреплённый тёмный пепел", + "block.tfg.spike.scorchia_spike": "Сталагмит из тёмного пепла", + "block.tfg.scorchia_support": "Опора из тёмного пепла", + "block.tfg.rock.cobble_scorchia": "Булыжник из м пепла", + "block.tfg.rock.cobble_scorchia_stairs": "Ступеньки из булыжника из тёмного пепла", + "block.tfg.rock.cobble_scorchia_slab": "Плита из булыжника из тёмного пепла", + "block.tfg.rock.cobble_scorchia_wall": "Ограда из булыжника из тёмного пепла", + "block.tfg.rock.gravel_scorchia": "Гравий из тёмного пепла", + "block.tfg.rock.aqueduct_scorchia": "Акведук из тёмного пепла", + "block.tfg.loose.scorchia": "Камешек тёмного пепла", "block.tfg.rock.stone_wall": "Ограда из восстановленного камня", "block.tfg.rock.smooth_stone_stairs": "Ступеньки из полированного восстановленного камня", "block.tfg.rock.smooth_stone_wall": "Ограда из полированного восстановленного камня", @@ -740,6 +810,8 @@ "block.tfg.impure_moderate_core": "Нечистое ядро стабилизатора", "block.tfg.moderate_core_frame": "Каркас с ядром стабилизатора", "block.tfg.impure_moderate_core_frame": "Каркас с нечистым ядром стабилизатора", + "tfg.block_entity.artisan_table": "Ремесленный стол", + "block.tfg.artisan_table": "Ремесленный стол", "fluid.tfg.heavy_ammoniacal_water": "Тяжёлая аммиачная вода", "fluid.tfg.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", "fluid.tfg.sulfur_fumes": "Пары серы", @@ -1308,6 +1380,13 @@ "material.tfg.chloroplasts": "Хлоропласты", "material.tfg.nitrate_rich_water": "Нитратный раствор", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Полутяжёлый нитратно-аммиачный раствор", + "material.tfg.weak_red_steel": "Сырая красная сталь", + "material.tfg.weak_blue_steel": "Сырая синяя сталь", + "material.tfg.refractory_clay": "Огнеупорная глина", + "material.tfg.bakelite": "Бакелит", + "material.tfg.phenolic_resin": "Фенольная смола", + "material.tfg.magnesium_hydroxide": "Гидроксид магния", + "material.tfg.magnesia_refractory_brick": "Склеенный смолой магнезиальный огнеупорный кирпич", "ore_vein.tfg.deep_sheldonite": "Куперит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", @@ -1756,79 +1835,83 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Окрашивание", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Окрашивание", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Treating Chipboard Composite", + "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Пропитка ДСП", "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Пропитка деревянных полосок", + "tfc.recipe.barrel.tfg.barrel.treated_wood_dust": "Пропитка деревянной пыли", "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "Обработка деревянных досок", "tfc.recipe.barrel.tfg.barrel.packed_ice": "Заморозка льда", - "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Cooling Water", - "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Cooling Water", - "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Cooling Water", - "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Cooling Water", + "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Охлаждение воды", + "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Охлаждение воды", + "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Охлаждение воды", + "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Охлаждение воды", "tfc.recipe.barrel.tfg.sealed_barrel.prepared_leather_gloves": "Подготовленные Кожаные Перчатки", - "tfc.recipe.barrel.tfg.barrel.rapeseed_to_oil": "Extracting Canola Oil", - "tfc.recipe.barrel.tfg.barrel.sunflower_to_oil": "Extracting Sunflower Oil", - "tfc.recipe.barrel.tfg.barrel.maple_syrup_to_sugar": "Making sugar", - "tfc.recipe.barrel.tfg.barrel.birch_syrup_to_sugar": "Making sugar", - "tfc.recipe.barrel.tfg.barrel.light_concrete": "Solidifying Concrete", - "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Solidifying Concrete", - "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Dyeing", - "tfc.recipe.barrel.tfg.barrel.dark_concrete_support": "Dyeing", - "tfc.recipe.barrel.tfg.barrel.reinforced_dark_concrete_support": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.rapeseed_to_oil": "Извлечения растительного масла", + "tfc.recipe.barrel.tfg.barrel.sunflower_to_oil": "Извлечения растительного масла", + "tfc.recipe.barrel.tfg.barrel.maple_syrup_to_sugar": "Производство сахара", + "tfc.recipe.barrel.tfg.barrel.birch_syrup_to_sugar": "Производство сахара", + "tfc.recipe.barrel.tfg.barrel.develop_black_and_white_film": "Разработка плёнки", + "tfc.recipe.barrel.tfg.barrel.develop_color_film": "Разработка плёнки", + "tfc.recipe.barrel.tfg.barrel.light_concrete": "Затвердевание бетона", + "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Затвердевание бетона", + "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dark_concrete_support": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.reinforced_dark_concrete_support": "Окрашивание", "gtceu.aqueous_accumulator": "Жидкостный коллектор", "tfg.food_recipe.brining": "Засаливание", "tfg.food_recipe.smoking": "Копчение", "tfg.food_recipe.drying": "Сушка", "tfg.food_recipe.freeze_drying": "Лиофилизация", - "tfg.recipe.macerator_warning": "Only outputs first slot until HV", + "tfg.food_recipe.deep_frying": "Жарка во фритюре", + "tfg.recipe.macerator_warning": "Производит лишь первый слот до HV", "tfg.grapplemod.repair": "Рецепт починки, сохраняет ваши улучшения. §rНИКОГДА не объединяйте две крюк-кошки или вы потеряете ВСЕ ваши улучшения!§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).", - "tfg.grapplemod.upgrades.motor.lv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1\n§lMotorAcceleration§r set to 0.125", - "tfg.grapplemod.upgrades.motor.mv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.14\n§lMotorAcceleration§r set to 0.25", - "tfg.grapplemod.upgrades.motor.hv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.28\n§lMotorAcceleration§r set to 0.375", - "tfg.grapplemod.upgrades.motor.ev": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.42\n§lMotorAcceleration§r set to 0.5", - "tfg.grapplemod.upgrades.motor.iv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.56\n§lMotorAcceleration§r set to 0.625", - "tfg.grapplemod.upgrades.motor.luv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.7\n§lMotorAcceleration§r set to 0.75", - "tfg.grapplemod.upgrades.motor.zpm": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.84\n§lMotorAcceleration§r set to 0.875", - "tfg.grapplemod.upgrades.motor.uv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 2\n§lMotorAcceleration§r set to 1", - "tfg.grapplemod.downgrades.motor": "Disables the §lMotor§r Upgrade, returning the original motor.\nOnly works if you use the same type of Motor as before.", - "tfg.grapplemod.upgrades.smart_motor": "Enables the §lSmart Motor§r Upgrade, requires a Motor to be installed.", - "tfg.grapplemod.downgrades.smart_motor": "Disables the §lSmart Motor§r Upgrade, can be removed with the Motor already uninstalled. Returns the Basic Electronic Circuit", - "tfg.grapplemod.upgrades.sticky": "Enables the §lSticky§r Upgrade, causing the hook to stick to any block the rope touches.", - "tfg.grapplemod.downgrades.sticky": "Disables the §lSticky§r Upgrade, returning the Sticky Resin", - "tfg.grapplemod.upgrades.forcefield.lv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 0.625", - "tfg.grapplemod.upgrades.forcefield.mv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 1.25", - "tfg.grapplemod.upgrades.forcefield.hv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 1.875", - "tfg.grapplemod.upgrades.forcefield.ev": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 2.5", - "tfg.grapplemod.upgrades.forcefield.iv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 3.125", - "tfg.grapplemod.upgrades.forcefield.luv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 3.75", - "tfg.grapplemod.upgrades.forcefield.zpm": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 4.375", - "tfg.grapplemod.upgrades.forcefield.uv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 5", - "tfg.grapplemod.downgrades.forcefield": "Disables the §lForce Field§r Upgrade, returning the original Field Generator.\nOnly works if you use the same type of Field Generator as before.", - "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 1.25", - "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 2.5", - "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 3.75", - "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 5", - "tfg.grapplemod.downgrades.magnet": "Disables the §lMagnet§r Upgrade, returning the original Magnetic Ingot.\nOnly works if you use the same type of Magnetic Ingot as before.", - "tfg.grapplemod.upgrades.gravity.0.5": "Lowers the Hook's §lGravity§r to 50% (1 -> 0.5)", - "tfg.grapplemod.downgrades.gravity.0.5": "Returns the Hook's §lGravity§r back to 100% (0.5 -> 1).\nThe empty bucket will be filled with the Helium you used", - "tfg.grapplemod.upgrades.gravity.0": "Lowers the Hook's §lGravity§r to 0% (1 -> 0)", - "tfg.grapplemod.downgrades.gravity.0": "Returns the Hook's §lGravity§r back to 100% (0 -> 1).\nThe Gravitation Engine Unit will be returned.", - "tfg.grapplemod.upgrades.throwspeed.lv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.25", - "tfg.grapplemod.upgrades.throwspeed.mv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.5", - "tfg.grapplemod.upgrades.throwspeed.hv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.75", - "tfg.grapplemod.upgrades.throwspeed.ev": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3", - "tfg.grapplemod.upgrades.throwspeed.iv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.25", - "tfg.grapplemod.upgrades.throwspeed.luv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.5", - "tfg.grapplemod.upgrades.throwspeed.zpm": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.75", - "tfg.grapplemod.upgrades.throwspeed.uv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 4", - "tfg.grapplemod.downgrades.throwspeed": "Resets the §lThrow Speed§r of the hook back to normal, returning the original Piston.\nOnly works if you use the same type of Piston as before.", - "tfg.grapplemod.upgrades.doublehook": "Adds a §lSecondary Hook§r to your Grappling Hook", - "tfg.grapplemod.downgrades.doublehook": "Removes the §lSecondary Hook§r from your Grappling Hook", - "tfg.grapplemod.upgrades.vertical_throwing_angle": "Increases the §lVertical Throwing Angle§r of the hook by 5°, up to 90°.", - "tfg.grapplemod.downgrades.vertical_throwing_angle": "Decreases the §lVertical Throwing Angle§r of the hook by 5°, down to 0°.", - "tfg.grapplemod.upgrades.angle": "Increases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, up to 90°.\nOnly accessible with a §lDouble Hook§r installed.", - "tfg.grapplemod.downgrades.angle": "Decreases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, down to 5°°.\nOnly accessible with a §lDouble Hook§r installed.", + "tfg.grapplemod.upgrades.maxlen": "Увеличивает §lМаксимальную длину§r на 20, вплоть до 200.", + "tfg.grapplemod.downgrades.maxlen": "Уменьшает §lМаксимальную длину§r на 20, вплоть до 20. (Моток веревки вернётся).", + "tfg.grapplemod.upgrades.motor.lv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1\n§lУскорениеМотора§r будет равно 0.125", + "tfg.grapplemod.upgrades.motor.mv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.14\n§lУскорениеМотора§r будет равно 0.25", + "tfg.grapplemod.upgrades.motor.hv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.28\n§lУскорениеМотора§r будет равно 0.375", + "tfg.grapplemod.upgrades.motor.ev": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.42\n§lУскорениеМотора§r будет равно 0.5", + "tfg.grapplemod.upgrades.motor.iv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.56\n§lУскорениеМотора§r будет равно 0.625", + "tfg.grapplemod.upgrades.motor.luv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.7\n§lУскорениеМотора§r будет равно 0.75", + "tfg.grapplemod.upgrades.motor.zpm": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.84\n§lУскорениеМотора§r будет равно 0.875", + "tfg.grapplemod.upgrades.motor.uv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 2\n§lУскорениеМотора§r будет равно 1", + "tfg.grapplemod.downgrades.motor": "Выключает улучшение §lМотор§r, возращая мотор.\nРаботает только при использовании того же типа мотора, что и раньше.", + "tfg.grapplemod.upgrades.smart_motor": "Включает улучшение §lУмныйМотор§r, для работы необходим установленное улучшения мотора.", + "tfg.grapplemod.downgrades.smart_motor": "Выключает улучшение §lУмныйМотор§r, его можно снять, даже если двигатель уже снят. Возращает обычную микросхему", + "tfg.grapplemod.upgrades.sticky": "Включает улучшение §lЛипкая верёвка§r, в результате чего крюк прилипает к любому блоку, которого касается веревка.", + "tfg.grapplemod.downgrades.sticky": "Выключает улучшение the §lЛипкая верёвка§r, возвращение липкой смолы", + "tfg.grapplemod.upgrades.forcefield.lv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 0.625", + "tfg.grapplemod.upgrades.forcefield.mv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 1.25", + "tfg.grapplemod.upgrades.forcefield.hv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 1.875", + "tfg.grapplemod.upgrades.forcefield.ev": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 2.5", + "tfg.grapplemod.upgrades.forcefield.iv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 3.125", + "tfg.grapplemod.upgrades.forcefield.luv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 3.75", + "tfg.grapplemod.upgrades.forcefield.zpm": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 4.375", + "tfg.grapplemod.upgrades.forcefield.uv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 5", + "tfg.grapplemod.downgrades.forcefield": "Выключает улучшение the §lОтталкивающееПоле§r, возращает генератор поля.\nРаботает только при использовании того же типа генератора полей, что и раньше", + "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 1.25", + "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 2.5", + "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 3.75", + "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 5", + "tfg.grapplemod.downgrades.magnet": "Выключает улучшение the §lМагнит§r, возращает магнитный слиток.\nРаботает только при использовании того же типа магнитного слитка, что и раньше", + "tfg.grapplemod.upgrades.gravity.0.5": "Уменьшает §lГравитацию§r крюка до 50% (1 -> 0.5)", + "tfg.grapplemod.downgrades.gravity.0.5": "Возращает §lГравитацию§r крюка к 100% (0.5 -> 1).\nПустое ведро будет наполнено использованным гелием", + "tfg.grapplemod.upgrades.gravity.0": "Уменьшает §lГравитацию§r крюка до 0% (1 -> 0)", + "tfg.grapplemod.downgrades.gravity.0": "Возращает §lГравитацию§r крюка к 100% (0 -> 1).\nГравитационный двигатель будет возвращен.", + "tfg.grapplemod.upgrades.throwspeed.lv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 2.25", + "tfg.grapplemod.upgrades.throwspeed.mv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 2.5", + "tfg.grapplemod.upgrades.throwspeed.hv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 2.75", + "tfg.grapplemod.upgrades.throwspeed.ev": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3", + "tfg.grapplemod.upgrades.throwspeed.iv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3.25", + "tfg.grapplemod.upgrades.throwspeed.luv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3.5", + "tfg.grapplemod.upgrades.throwspeed.zpm": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3.75", + "tfg.grapplemod.upgrades.throwspeed.uv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 4", + "tfg.grapplemod.downgrades.throwspeed": "Возращает §lСкорость броска§r крюка к нормальной, возращает поршень.\nРаботает только при использовании поршня того же типа, что и раньше.", + "tfg.grapplemod.upgrades.doublehook": "Добавляет §lВторой крюк§r к крюку", + "tfg.grapplemod.downgrades.doublehook": "Убирает §lВторой крюк§r из крюка", + "tfg.grapplemod.upgrades.vertical_throwing_angle": "Увеличивает §lВертикальный угол броска§r крюка на 5°, вплоть до 90°.", + "tfg.grapplemod.downgrades.vertical_throwing_angle": "Уменьшает §lВертикальный угол броска§r крюка на 5°, вплоть до 0°.", + "tfg.grapplemod.upgrades.angle": "Увеличивает §lГоризонтальный угол броска§r §lВторого крюка§r на 5°, вплоть до 90°.\nДоступно только с установленным улучшением §lВторой крюк§r.", + "tfg.grapplemod.downgrades.angle": "Уменьшает §lГоризонтальный угол броска§r §lВторого крюка§r на 5°, вплоть до 5°°.\nДоступно только с установленным улучшением §lВторой крюк§r.", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "Самый мощный инструмент, который поможет вам с GregTech, открывается после вашего первого полёта на Луну", "quests.ae2.certus_quartz.title": "Истинный кварц", @@ -2505,7 +2588,7 @@ "quests.gregtech_energy.fission_reactor.title": "Ядерный реактор MK I", "quests.gregtech_energy.fission_reactor.subtitle": "Пристегните ремни, это сложно.", "quests.gregtech_energy.fission_reactor.desc.1": "&dЯдерный реактор&r — безусловно редкое зрелище в GregTech, как по тематике, так и по принципу работы. Но не бойся — мы здесь, чтобы провести тебя через этот многоцелевой мультиблок для настоящих технарей!\n\nФизику мы пока опустим, &eколлега-инженер&r. Самое важное, что тебе нужно знать: этот реактор — как большая тепловая &dбатарея-генератор&r. Ты подаёшь подходящее топливо и получаешь &cтепло&r (по сути как &6EU/t&r), которое накапливается в реакторе в виде &cрастущей температуры&r (сохранённой &6EU&r).\n\nЗатем ты можешь передать это тепло в &9охлаждающие жидкости&r для работы турбин или выполнения рецептов крафта в стиле ЭДП. Иногда этого тепла может быть даже &cслишком много&r. Ах да, ещё ты получаешь новые элементы для создания новых топлив, схем и прочих вещей. Может, стоит ещё немного исследовать Солнечную систему? Скукотища.", - "quests.gregtech_energy.fission_reactor.desc.2": "Для начала добудь немного &dТория&r. Не забудь надеть зазитный костюм — &eDeatek Intergalactic&r не несёт ответственности за любые телесные повреждения, полученные в результате неправильного обращения с нестабильными материалами. Честно говоря, на этом этапе нам уже не стоило бы тебе об этом напоминать. Если нужно освежить память — загляни в задание про опасности.\n\nДалее скрафть несколько пустых &dтопливных стержней&r и заполни их с помощью &dЗавода по производству ядерного топлива&r. Стержни многоразовые, так что делать их слишком много не нужно. На самом деле, на первое время тебе вполне хватит всего &oодного&r.\n\nРазумеется, тебе также понадобится полностью собранный реактор. Посмотри превью в EMI. Обрати внимание: в центре находится колонна держателей топлива, а вокруг — дополнительные колонны для компонентов и держателей материалов. К ним мы вернёмся позже.\n\nПодожди. Почему всего &oодин&r стержень? О, &eкак же мы&r рады, что ты спросил. Давай погрузимся в механику реактора подробнее на следующей странице.", + "quests.gregtech_energy.fission_reactor.desc.2": "Для начала добудь немного &dТория&r. Не забудь надеть защитный костюм — &eDeatek Intergalactic&r не несёт ответственности за любые телесные повреждения, полученные в результате неправильного обращения с нестабильными материалами. Честно говоря, на этом этапе нам уже не стоило бы тебе об этом напоминать. Если нужно освежить память — загляни в задание про опасности.\n\nДалее скрафть несколько пустых &dтопливных стержней&r и заполни их с помощью &dЗавода по производству ядерного топлива&r. Стержни многоразовые, так что делать их слишком много не нужно. На самом деле, на первое время тебе вполне хватит всего &oодного&r.\n\nРазумеется, тебе также понадобится полностью собранный реактор. Посмотри превью в EMI. Обрати внимание: в центре находится колонна держателей топлива, а вокруг — дополнительные колонны для компонентов и держателей материалов. К ним мы вернёмся позже.\n\nПодожди. Почему всего &oодин&r стержень? О, &eкак же мы&r рады, что ты спросил. Давай погрузимся в механику реактора подробнее на следующей странице.", "quests.gregtech_energy.fission_reactor.desc.3": "Чем больше топливных стержней ты установишь в реактор, тем &cгорячее&r он станет. А чем он горячее, тем больше тепла сможет передать в охлаждающую жидкость и обрабатываемые материалы. Но у физики есть свои пределы, и реактор не может нагреваться бесконечно — есть максимум, &cнасколько горячим&r он может быть, так что не стоит устанавливать слишком много топливных стержней.\n\nНо не бойся! Вопреки тому, что утверждает пропагандистская большая машина &0нефти&r, ядерная энергия &aабсолютно безопасна&r. Если уровень тепла реактора приближается к опасной зоне, он запускает &9автоматическую последовательность охлаждения&r и не запустится снова, пока всё тепло не будет &aбезопасно рассеяно&r. Правда, процесс это довольно медленный.\n\nДолжен же быть способ сделать его горячее и быстрее? И снова — хорошо, что ты спросил! &eНаши гениальные инженеры&r уже подготовили для тебя решение!", "quests.gregtech_energy.fission_reactor.desc.4": "Помимо 5 &dдержателей топлива&r, ты можешь установить &oдо&r 20 &dкомпонентов&r. Реакторы от некоторых других производителей требуют очень точного размещения, но наш реактор умнее. &6Характеристики&r всех установленных компонентов просто &6суммируются&r — и на этом всё!\n\nНа данный момент реактор умеет использовать их тремя&7*&r разными способами:\n&e1)&r Максимальная температура &7(изоляция)&r\n&e2)&r Эффективность &7(топливо служит дольше)&r\n&e3)&r Дросселирование &7(замедляет реакции)&r\n\n&7*)&r Возможно, в твоей галактике нет необходимых материалов для всех вариантов. Мы предполагаем, что материалы доступны только для первой категории.\n\nНо будь осторожен. Повышение &cтемпературы&r имеет и &cобратную сторону&r.", "quests.gregtech_energy.fission_reactor.desc.5": "Хотя более &cгорячий&r реактор делает производство охлаждающих жидкостей и обработку &cбыстрее&r, он также становится более требовательным к топливным стержням. Каждый топливный стержень имеет ограниченную прочность, и её расход линейно зависит от температуры.\n\nПоскольку для более высокой температуры тебе требуется больше топливных стержней, в итоге износ масштабируется &nквадратично&r. Если ты хочешь максимально эффективно нагревать охлаждающие жидкости, используй низкую температуру. А если тебе нужна более быстрая переработка ядерных материалов — поднимай температуру настолько высоко, насколько позволяет изоляция.", @@ -3857,7 +3940,7 @@ "quests.steam_age.resin_boards.desc": "Знаете ли вы, что подсочки могут капать прямо в трубы и бочки GregTech? Теперь знаете!", "quests.steam_age.circuit_boards.title": "Электроника #2: Прорезиненная Электросхема", "quests.steam_age.circuit_boards.subtitle": "Более простой компонент для схем", - "quests.steam_age.circuit_boards.desc": "Скомбинируйте Прорезиненные Подложки с медными проводами, и у вас получится основа для вашей первой &aСхемы&r!", + "quests.steam_age.circuit_boards.desc": "Немного тонкой работы за &3Ремесленным столом&r позволит тебе объединить прорезиненные подложки с медными проводами и создать свои первые &aэлектросхемы&r!\n\nРемесленный стол работает по тому же принципу, что и обработка камня, но на этот раз с дополнительными предметами и инструментами.", "quests.steam_age.vacuum_chamber.title": "Вакуумная камера", "quests.steam_age.vacuum_chamber.subtitle": "Добавляем вакуум в вакуумные лампы", "quests.steam_age.vacuum_chamber.desc": "Эта машина — финальный шаг в создании ваших первых вакуумных ламп. Разместите её над чашей, подключите питание и убедитесь, что машина находится в режиме Ваакумирование.\n\nТакже эта машина помогает разжижать клей и резину, если её нагревать в Charcoal Forge или с помощью Горелки Всполоха.", diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index b81f7b361..9f7c9aa08 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -134,7 +134,7 @@ function addCircuitToRecipe(event, recipeId, circuitNumber) { let hasCircuit = false; for (let i = 0; i < itemArray.size(); i++) { const el = itemArray.get(i); - if (!el.isJsonObject()) {continue;} + if (!el.isJsonObject()) { continue; } const obj = el.getAsJsonObject(); const content = obj.get("content"); if (content && content.isJsonObject()) { @@ -351,21 +351,21 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, * @throws {TypeError} Throws an error if input, output, or multiplier is invalid. */ function sterilizeItem(event, input, output, multiplier, cleanroom) { - // Collect errors. - const errors = []; + // Collect errors. + const errors = []; if (input === undefined || (Array.isArray(input) && input.length !== 1) || output === undefined || (Array.isArray(output) && output.length !== 1)) { errors.push("input or output is undefined or not equal to one item"); }; - if (multiplier <= 0) { - errors.push(`invalid multiplier (${multiplier})`); - }; + if (multiplier <= 0) { + errors.push(`invalid multiplier (${multiplier})`); + }; - // If there are any errors, log them all and throw once. - if (errors.length > 0) { - const message = `sterilizeItem errors:\n - ${ errors.join("\n - ")}`; - throw new TypeError(message); - }; + // If there are any errors, log them all and throw once. + if (errors.length > 0) { + const message = `sterilizeItem errors:\n - ${errors.join("\n - ")}`; + throw new TypeError(message); + }; // Set default multiplier. let recipe_multiplier = 1; @@ -376,32 +376,32 @@ function sterilizeItem(event, input, output, multiplier, cleanroom) { // Create recipes. const ethanol_recipe = event.recipes.gtceu.chemical_bath(`tfg:ethanol_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) - .inputFluids(Fluid.of('gtceu:ethanol', 500*recipe_multiplier)) + .inputFluids(Fluid.of('gtceu:ethanol', 500 * recipe_multiplier)) .itemOutputs(output) - .duration(10*20*recipe_multiplier) + .duration(10 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); const hydrogen_peroxide_recipe = event.recipes.gtceu.chemical_bath(`tfg:hydrogen_peroxide_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) - .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200*recipe_multiplier)) + .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200 * recipe_multiplier)) .itemOutputs(output) - .duration(10*20*recipe_multiplier) + .duration(10 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); const sodium_dodecyl_sulfate_recipe = event.recipes.gtceu.chemical_bath(`tfg:sodium_dodecyl_sulfate_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) - .inputFluids(Fluid.of('tfg:sodium_dodecyl_sulfate', 50*recipe_multiplier)) + .inputFluids(Fluid.of('tfg:sodium_dodecyl_sulfate', 50 * recipe_multiplier)) .itemOutputs(output) - .duration(10*20*recipe_multiplier) + .duration(10 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); const autoclave_recipe = event.recipes.gtceu.autoclave(`tfg:autoclave_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) .perTick(true) - .inputFluids(Fluid.of('gtceu:steam', 100*recipe_multiplier)) + .inputFluids(Fluid.of('gtceu:steam', 100 * recipe_multiplier)) .perTick(false) .itemOutputs(output) - .duration(240*20*recipe_multiplier) + .duration(240 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); if (cleanroom) { diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b45eecc8c..149d38722 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -994,21 +994,14 @@ const registerMinecraftRecipes = (event) => { //#endregion //#region Glowing Ink Sacs - - event.recipes.gtceu.chemical_bath('minecraft:glow_inc_sac4') - .itemInputs("gtceu:thorium_dust") - .inputFluids(Fluid.of('gtceu:glowstone', 512)) - .itemOutputs('16x minecraft:glow_ink_sac') - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.chemical_bath('minecraft:glow_inc_sac1') - .itemInputs("#forge:dyes/black") - .inputFluids(Fluid.of('gtceu:glowstone', 144)) + + event.recipes.gtceu.fluid_solidifier('tfg:glow_ink_sac') + .inputFluids('gtceu:glowstone 36') + .notConsumable('gtceu:ball_casting_mold') .itemOutputs('minecraft:glow_ink_sac') .duration(40) .EUt(GTValues.VA[GTValues.LV]) - + //#endregion //#region Gunpowder diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js index fd46fbf09..92262887e 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -2,8 +2,22 @@ function registerTFGBakeliteRecipes(event) { - // TODO: move oil PE to MV + // Make PE exclusively MV+, it's fine if the LCR recipe stays LV since you can't make an LCR in LV anyway + event.recipes.gtceu.chemical_reactor('gtceu:polyethylene_from_oxygen') + .inputFluids('gtceu:oxygen 1000', 'gtceu:ethylene 144') + .circuit(1) + .outputFluids('gtceu:polyethylene 216') + .duration(2 * 20) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.chemical_reactor('gtceu:polyethylene_from_air') + .inputFluids('gtceu:air 1000', 'gtceu:ethylene 144') + .circuit(1) + .outputFluids('gtceu:polyethylene 144') + .duration(2 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + // Formaldehyde event.recipes.gtceu.chemical_reactor('tfg:formaldehyde_from_methane') .inputFluids('gtceu:methane 1000', 'gtceu:oxygen 1000') .outputFluids('gtceu:formaldehyde 1000', 'gtceu:hydrogen 2000') @@ -53,18 +67,40 @@ function registerTFGBakeliteRecipes(event) { event.remove({ id: 'gtceu:assembler/phenolic_board' }) - event.recipes.gtceu.forming_press('tfg:phenolic_board') + event.recipes.gtceu.forming_press('tfg:phenolic_board_lv') .itemInputs('2x #forge:foils/bakelite', '2x minecraft:paper', 'gtceu:resin_circuit_board') .itemOutputs('gtceu:phenolic_circuit_board') .duration(7.5 * 20) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.assembler('tfg:phenolic_board_pe') + event.recipes.gtceu.assembler('tfg:phenolic_board_mv') + .itemInputs('2x #forge:foils/bakelite', 'gtceu:wood_plate') + .inputFluids('gtceu:phenol 50') + .itemOutputs('gtceu:phenolic_circuit_board') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:phenolic_board_mv_pe') .itemInputs('2x #forge:foils/polyethylene', 'gtceu:wood_plate') .inputFluids('gtceu:phenol 50') .itemOutputs('gtceu:phenolic_circuit_board') .duration(7.5 * 20) .EUt(GTValues.VA[GTValues.MV]) + // machine hull changes/additions event.replaceInput({ id: 'gtceu:shaped/mv_machine_hull' }, '#forge:plates/wrought_iron', '#forge:plates/bakelite') + + event.recipes.gtceu.assembler('tfg:ulv_hull_bakelite') + .itemInputs('gtceu:ulv_machine_casing', '2x #forge:single_cables/red_alloy') + .inputFluids('tfg:bakelite 432') + .itemOutputs('gtceu:ulv_machine_hull') + .duration(25) + .EUt(16) + + event.recipes.gtceu.assembler('tfg:lv_hull_bakelite') + .itemInputs('gtceu:lv_machine_casing', '2x #forge:single_cables/tin') + .inputFluids('tfg:bakelite 432') + .itemOutputs('gtceu:lv_machine_hull') + .duration(50) + .EUt(16) } \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index 476d7096d..d315e4777 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4945,24 +4945,24 @@ "files": [ { "type": "curseforge", - "file_name": "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", + "file_name": "domum_ornamentum-1.20.1-1.0.295-universal.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7421/161/domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", - "id": "7421161", + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7530/695/domum_ornamentum-1.20.1-1.0.295-universal.jar", + "id": "7530695", "parent_id": "527361", "hashes": { - "sha1": "f5fc47a7006445e4f999611d1cc95bda55c70b1f", - "md5": "e85e022d42829065eb6f3d804abeb9d0" + "sha1": "29950245b98ec35184d806e3b9ace700e67ac585", + "md5": "2f8435a8c43ebff6df70299ea212b336" }, "required_dependencies": [], - "size": 1141562, - "date_published": "2026-01-05T14:36:53.033Z" + "size": 1141554, + "date_published": "2026-01-26T15:27:31.327Z" } ] }, @@ -6276,7 +6276,7 @@ "files": [ { "type": "curseforge", - "file_name": "FastSuite-1.20.1-5.1.1.jar", + "file_name": "FastSuite-1.20.1-5.1.2.jar", "mc_versions": [ "1.20.1" ], @@ -6285,18 +6285,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7428/292/FastSuite-1.20.1-5.1.1.jar", - "id": "7428292", + "url": "https://edge.forgecdn.net/files/7527/943/FastSuite-1.20.1-5.1.2.jar", + "id": "7527943", "parent_id": "475117", "hashes": { - "sha1": "dfceb81524a9e1be19bf89d0281c05b6edf5326c", - "md5": "806f80e876eff6f121c8b508825ce368" + "sha1": "32ea4495b0e646f8f060e4e97d17044dd9fdefbd", + "md5": "efca8ff65bbf93e3a0f776998ee181e9" }, "required_dependencies": [ "283644" ], - "size": 26603, - "date_published": "2026-01-07T04:03:31.723Z" + "size": 26600, + "date_published": "2026-01-26T00:38:18.357Z" } ] }, @@ -7231,7 +7231,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtmoldraw-3.0.0.jar", + "file_name": "gtmoldraw-3.0.1.jar", "mc_versions": [ "1.20.1" ], @@ -7239,18 +7239,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7404/876/gtmoldraw-3.0.0.jar", - "id": "7404876", + "url": "https://edge.forgecdn.net/files/7529/672/gtmoldraw-3.0.1.jar", + "id": "7529672", "parent_id": "1348330", "hashes": { - "sha1": "9377694e2e3d8c62bdacd400e125acc732c54803", - "md5": "e6d36dbc5383b0649bbfa76a829c6170" + "sha1": "caaf28b88afe1b01ec4180a4458c2795184255bc", + "md5": "aae6cd78a4f17cbcbd2b0dc984fe4a8b" }, "required_dependencies": [ "890405" ], - "size": 907581, - "date_published": "2026-01-01T18:19:59.917Z" + "size": 908933, + "date_published": "2026-01-26T10:36:48.937Z" } ] }, @@ -10552,7 +10552,7 @@ "files": [ { "type": "modrinth", - "file_name": "particle_core-0.3.1+1.20.1+forge.jar", + "file_name": "particle_core-0.3.2+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10561,23 +10561,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/dtIZJ1r3/particle_core-0.3.1+1.20.1+forge.jar", - "id": "dtIZJ1r3", + "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/qSjxrRl9/particle_core-0.3.2+1.20.1+forge.jar", + "id": "qSjxrRl9", "parent_id": "RSeLon5O", "hashes": { - "sha512": "63a2c186e74851fef7ce7871c09126deb0a8090de417753873b74cfe3db3e2d61b699e2fd6033526f38356881c1817e759e34e5b536224c17247bd3b3a6d6be8", - "sha1": "935a8c19cc7a72364fdfe494d9ddbd599f01588d" + "sha512": "042a26c72ed13a5b7a961afd575561442fe979295e2adc5901127e2be578391f597ce24d17d92fdf6ad515a19033f1b7cde0a455e7e9e9b0a36a8089caddf459", + "sha1": "57079d1607ce044533fb076d2db0e2a3d277a4fb" }, "required_dependencies": [ - "hYykXjDp", - "ordsPcFz" + "ordsPcFz", + "hYykXjDp" ], - "size": 770117, - "date_published": "2026-01-22T01:13:37.946023Z" + "size": 773147, + "date_published": "2026-01-25T16:04:41.088385Z" }, { "type": "curseforge", - "file_name": "particle_core-0.3.1+1.20.1+forge.jar", + "file_name": "particle_core-0.3.2+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10586,19 +10586,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7504/78/particle_core-0.3.1+1.20.1+forge.jar", - "id": "7504078", + "url": "https://edge.forgecdn.net/files/7525/37/particle_core-0.3.2+1.20.1+forge.jar", + "id": "7525037", "parent_id": "985426", "hashes": { - "sha1": "935a8c19cc7a72364fdfe494d9ddbd599f01588d", - "md5": "4386c25fd855cc4de76c3458b9a182a5" + "sha1": "57079d1607ce044533fb076d2db0e2a3d277a4fb", + "md5": "5ebd6c2396924c3e33ea96003ec10b0c" }, "required_dependencies": [ - "351264", - "1005914" + "1005914", + "351264" ], - "size": 770117, - "date_published": "2026-01-22T01:13:31.647Z" + "size": 773147, + "date_published": "2026-01-25T16:04:36.363Z" } ] }, @@ -15246,6 +15246,47 @@ } ] }, + { + "pakku_id": "D8FJfLqFF1y0WOqV", + "pakku_links": [ + "7N9O2rPIAVKoRYOH" + ], + "type": "MOD", + "slug": { + "curseforge": "tacz-sbw-playerrevive-gun-mod-compitability" + }, + "name": { + "curseforge": "[TaCZ/SBW] PlayerRevive gun mod compitability" + }, + "id": { + "curseforge": "1440963" + }, + "files": [ + { + "type": "curseforge", + "file_name": "playerrevive_compat-1.0.1-1d0e244.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7528/776/playerrevive_compat-1.0.1-1d0e244.jar", + "id": "7528776", + "parent_id": "1440963", + "hashes": { + "sha1": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563", + "md5": "7be622f95b711409c493da13c5c08772" + }, + "required_dependencies": [ + "266890" + ], + "size": 198416, + "date_published": "2026-01-26T05:31:05.240Z" + } + ] + }, { "pakku_id": "MpkpUO55EJhBt1az", "pakku_links": [ From cd7926a3333ff5902fedb6bb980bc831d0a8baf9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 02:42:32 +0000 Subject: [PATCH 027/157] bloomery block -> doors --- .../field_guide/en_us/entries/mechanics/bloomery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json index 4bf3920e4..1c351fdd3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json @@ -34,7 +34,7 @@ }, { "type": "patchouli:text", - "text": "If you don't want to do the math, we recommend $(item)25 metal ore dusts$() and $(item)22 fuel items$().$(br2)After filling the bloomery with a combination of $(thing)Fuel$() and $(thing)Ore$(), light the bloomery block, and wait 15 hours for the bloomery to smelt. When the bloomery shuts off, it leaves behind a $(thing)Bloom$() block. This contains $(thing)Raw Iron Blooms$() which can be obtained by mining the $(thing)Bloom$() repeatedly with a pickaxe." + "text": "If you don't want to do the math, we recommend $(item)25 metal ore dusts$() and $(item)22 fuel items$().$(br2)After filling the bloomery with a combination of $(thing)Fuel$() and $(thing)Ore$(), light the bloomery doors, and wait 15 hours for the bloomery to smelt. When the bloomery shuts off, it leaves behind a $(thing)Bloom$() block. This contains $(thing)Raw Iron Blooms$() which can be obtained by mining the $(thing)Bloom$() repeatedly with a pickaxe." }, { "type": "patchouli:multiblock", From 03d5ba581b00a174b2d17be72d005fe4b508bb19 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 14:23:10 +0000 Subject: [PATCH 028/157] add gt magnet quest to lv --- .../quests/chapters/lv__low_voltage.snbt | 36 +++++++++++++++++-- .../gregtech/recipes.removes.js | 1 + 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 9134b341e..c22390137 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -58,7 +58,7 @@ linked_quest: "2D2CB8104E40E808" shape: "heart" x: 7.0d - y: 6.0d + y: 5.5d } ] quests: [ @@ -663,7 +663,7 @@ }] title: "{quests.low_voltage.lv_ore_prospector.title}" x: 7.0d - y: 7.0d + y: 6.5d } { dependencies: [ @@ -1218,6 +1218,7 @@ "2E36E5755B2F551C" "4B4F052F00435AFE" "2D2CB8104E40E808" + "07EDEA9613D6F02D" ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_turbo_charge.desc}"] @@ -1367,7 +1368,7 @@ type: "item" }] x: 7.0d - y: 5.0d + y: 4.5d } { dependencies: ["7FA1525D681C4B4A"] @@ -1995,6 +1996,35 @@ x: -10.5d y: 2.0d } + { + dependencies: ["3E6DC423FE4A99F7"] + description: ["{quests.tfg_tips.magnets.desc}"] + icon: { + Count: 1 + id: "gtceu:lv_item_magnet" + tag: { + Charge: 100000L + } + } + id: "07EDEA9613D6F02D" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.magnets.subtitle}" + tasks: [{ + id: "10DEC029D9788B72" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:lv_item_magnet)item(gtceu:hv_item_magnet))" + } + } + type: "item" + }] + title: "{quests.tfg_tips.magnets.title}" + x: 7.0d + y: 7.5d + } ] subtitle: ["{quests.low_voltage.subtitle}"] title: "{quests.low_voltage}" diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index d4dab7a2b..be346ced9 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -846,6 +846,7 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blackstone' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__endstone' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__red_granite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__basalt' }) event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_tuff' }) removeMaceratorRecipe(event, 'macerate_end_stone'); From c0ae890ecf12dece49df9066701c68b7cfab875f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 15:04:48 +0000 Subject: [PATCH 029/157] fix dupe with ad astra steel trapdoor --- kubejs/server_scripts/ad_astra/recipes.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index 79270e13e..e700d283b 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -461,7 +461,8 @@ const registerAdAstraRecipes = (event) => { .itemOutputs('ad_astra:steel_trapdoor') .duration(100) .EUt(GTValues.VA[GTValues.LV]) - .addMaterialInfo(true, true) + + TFGHelpers.registerMaterialInfo('ad_astra:steel_trapdoor', [GTMaterials.Steel, 1, GTMaterials.Glass, 3/4, GTMaterials.Polyethylene, 1/4]) // Etrium only has factory block, encased block, plateblock, panel, and (storage) block From 941c22ff92218145aa4af9d52eedf87d279885fc Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Wed, 28 Jan 2026 07:56:24 +1100 Subject: [PATCH 030/157] Pure fertilizer utility patch (#2884) * Added pure fertilizers at 100% Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> * Changed pure compost recipes to match their updated value Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> * Changed pure recipes to LV Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --------- Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/tfc/data.js | 6 ++++- .../tfg/primitive/recipes.compost.js | 24 ++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 7fe74b566..f9dfc7602 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -109,6 +109,10 @@ const registerTFCFertilizers = (event) => { event.fertilizer('gtceu:tiny_ammonium_chloride_dust', 0.03, null, null) event.fertilizer('gtceu:small_ammonium_chloride_dust', 0.075, null, null) event.fertilizer('gtceu:ammonium_chloride_dust', 0.3, null, null) + + event.fertilizer('tfc:pure_nitrogen', 1, null, null) + event.fertilizer('tfc:pure_phosphorus', null, 1, null) + event.fertilizer('tfc:pure_potassium', null, null, 1) } @@ -117,4 +121,4 @@ const registerTFCFertilizers = (event) => { const registerTFCKnappingTypes = (event) => { event.knappingType('minecraft:flint', 1, 1, 'tfc:item.knapping.stone', true, false, true, 'minecraft:flint', 'tfg:flint') event.knappingType('tfc:straw', 4, 4, 'tfc:item.knapping.leather', false, false, false, 'tfc:straw', 'tfg:straw') -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/tfg/primitive/recipes.compost.js b/kubejs/server_scripts/tfg/primitive/recipes.compost.js index 623e231a2..ee9d26ed1 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.compost.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -22,21 +22,33 @@ function registerTFGCompostRecipes(event) { .EUt(30) event.recipes.gtceu.centrifuge('tfg:gtceu/centrifuge/pure_fertilizers') - .itemInputs('1x gtceu:fertilizer') + .itemInputs('8x gtceu:fertilizer') .itemOutputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus') .duration(340) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.mixer('tfg:tfc/mixer/fertilizer') - .itemInputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1)) + .itemInputs('8x tfc:pure_nitrogen', '8x tfc:pure_potassium', '8x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1)) .itemOutputs('1x gtceu:fertilizer') .duration(160) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.gas_pressurizer('tfg:pure_nitrogen') + event.recipes.gtceu.mixer('tfg:pure_nitrogen') .itemInputs('#forge:wax') - .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .itemOutputs('16x tfc:pure_nitrogen') + .inputFluids(Fluid.of('gtceu:nitrogen', 8000)) + .itemOutputs('4x tfc:pure_nitrogen') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:pure_potassium') + .itemInputs('#forge:wax', '8x gtceu:potassium_dust') + .itemOutputs('4x tfc:pure_potassium') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:pure_phosphorus') + .itemInputs('#forge:wax', '8x gtceu:phosphorus_dust') + .itemOutputs('4x tfc:pure_phosphorus') .duration(100) .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -191,4 +203,4 @@ function registerTFGCompostRecipes(event) { .itemOutputs(Item.of('tfg:universal_compost_browns', 4)) .duration(20) .EUt(8) -} \ No newline at end of file +} From 32e4e90759e744745d6fcf7bc5ab7de5c3eafab4 Mon Sep 17 00:00:00 2001 From: TanJeeSchuan <89920999+TanJeeSchuan@users.noreply.github.com> Date: Wed, 28 Jan 2026 04:58:24 +0800 Subject: [PATCH 031/157] Feature/crop index (#2849) * Add anchors to sunflower, canola, and flax crop entries Added to the sunflower, canola, and flax sections in the crops Patchouli book entry. * Add Crop Index entry to Patchouli field guide Introduces a new 'Crop Index' entry in the field guide, listing all crops alphabetically with clickable links * Update crop index entry text * Remove Crop Index Section * Add contents section to crops Patchouli entry --------- Co-authored-by: Redeix --- .../field_guide/en_us/entries/mechanics/crops.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json index 4d4630e96..92926b373 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json @@ -12,6 +12,15 @@ "type": "patchouli:text", "text": "In addition to finding wild crops, seeds can also be produced from existing crops. When a fully mature crop dies - either by weather, or leaving it to rot - it will go to seed, dropping more seeds that can be used to grow even more crops next season." }, + { + "type": "patchouli:text", + "title": "Contents", + "text": "$(li)$(l:tfc:mechanics/crops#barley)Barley$()$(li)$(l:tfc:mechanics/crops#beet)Beet$()$(li)$(l:tfc:mechanics/crops#cabbage)Cabbage$()$(li)$(l:tfc:mechanics/crops#canola)Canola$()$(li)$(l:tfc:mechanics/crops#carrot)Carrot$()$(li)$(l:tfc:mechanics/crops#flax)Flax$()$(li)$(l:tfc:mechanics/crops#garlic)Garlic$()$(li)$(l:tfc:mechanics/crops#green_bean)Green Bean$()$(li)$(l:tfc:mechanics/crops#jute)Jute$()$(li)$(l:tfc:mechanics/crops#maize)Maize$()$(li)$(l:tfc:mechanics/crops#melon)Melon$()$(li)$(l:tfc:mechanics/crops#oat)Oat$()$(li)$(l:tfc:mechanics/crops#onion)Onion$()" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfc:mechanics/crops#papyrus)Papyrus$()$(li)$(l:tfc:mechanics/crops#potato)Potato$()$(li)$(l:tfc:mechanics/crops#pumpkin)Pumpkin$()$(li)$(l:tfc:mechanics/crops#red_bell_pepper)Red Bell Pepper$()$(li)$(l:tfc:mechanics/crops#rice)Rice$()$(li)$(l:tfc:mechanics/crops#rye)Rye$()$(li)$(l:tfc:mechanics/crops#soybean)Soybean$()$(li)$(l:tfc:mechanics/crops#squash)Squash$()$(li)$(l:tfc:mechanics/crops#sugarcane)Sugarcane$()$(li)$(l:tfc:mechanics/crops#sunflower)Sunflower$()$(li)$(l:tfc:mechanics/crops#tomatoes)Tomato$()$(li)$(l:tfc:mechanics/crops#wheat)Wheat$()$(li)$(l:tfc:mechanics/crops#yellow_bell_pepper)Yellow Bell Pepper$()" + }, { "type": "tfc:rock_knapping_recipe", "recipes": [ @@ -3298,6 +3307,7 @@ }, { "type": "patchouli:text", + "anchor": "sunflower", "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): 5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 20 - 80 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)A Sunflower is a two block tall crop. Sunflower seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Sunflower Caps$() which can be processed into $(thing)Seed Oil$(). Seed Oil can both be used as Lamp Fuel, as well as $(thing)Bio Diesel$() later on.$(br)A Sunflower also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", "title": "Sunflower" }, @@ -3456,6 +3466,7 @@ }, { "type": "patchouli:text", + "anchor": "canola", "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 10 - 60 %$(br)$(bold)Nutrient$(): Phosphorus$(br2)Canola is a two block tall crop. Canola seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Canola Ovules$() which can be processed into $(thing)Seed Oil$(). Seed Oil can both be used as Lamp Fuel, as well as $(thing)Bio Diesel$() later on.$(br)Canola also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", "title": "Canola" }, @@ -3615,6 +3626,7 @@ }, { "type": "patchouli:text", + "anchor": "flax", "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -8 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 15 - 65 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)Flax is a two block tall crop. Flax seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Flax Stems$() which can be processed into $(thing)Linen$() or $(thing)Burlap$().$(br)Flax also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", "title": "Flax" }, From e32a79736832e9c1620916f7820612d0e11c67c2 Mon Sep 17 00:00:00 2001 From: Madeline Vergani Date: Tue, 27 Jan 2026 22:01:05 +0100 Subject: [PATCH 032/157] Noodle and Cereal Box icon sets (#2875) * Create a new material icon set `noodle` and give it to vanadium * Create the `cereal_box` material set for ostrum * Make Osmium Iodide be a cereal box * Add a model for radioactive hot ingots --- .../item/material_sets/cereal_box/ingot.json | 8 ++++++++ .../item/material_sets/cereal_box/ingot_hot.json | 9 +++++++++ .../models/item/material_sets/noodle/ingot.json | 8 ++++++++ .../item/material_sets/noodle/ingot_hot.json | 9 +++++++++ .../item/material_sets/radioactive/ingot_hot.json | 6 ++++++ .../item/material_sets/cereal_box/ingot.png | Bin 0 -> 487 bytes .../cereal_box/ingot_hot_overlay.png | Bin 0 -> 667 bytes .../material_sets/cereal_box/ingot_overlay.png | Bin 0 -> 405 bytes .../material_sets/cereal_box/ingot_secondary.png | Bin 0 -> 504 bytes .../textures/item/material_sets/noodle/ingot.png | Bin 0 -> 490 bytes .../material_sets/noodle/ingot_hot_overlay.png | Bin 0 -> 639 bytes .../item/material_sets/noodle/ingot_overlay.png | Bin 0 -> 404 bytes .../item/material_sets/noodle/ingot_secondary.png | Bin 0 -> 565 bytes .../gtceu/material_modification.js | 4 ++-- kubejs/startup_scripts/tfg/icon_sets.js | 5 +++++ kubejs/startup_scripts/tfg/mars/materials.mars.js | 4 ++-- 16 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_hot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_hot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_secondary.png diff --git a/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json new file mode 100644 index 000000000..66e76423a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/cereal_box/ingot", + "layer1": "gtceu:item/material_sets/cereal_box/ingot_secondary", + "layer2": "gtceu:item/material_sets/cereal_box/ingot_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json new file mode 100644 index 000000000..3c7709efb --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json @@ -0,0 +1,9 @@ +{ + "parent": "gtceu:item/material_sets/cereal_box/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/cereal_box/ingot", + "layer1": "gtceu:item/material_sets/cereal_box/ingot_secondary", + "layer2": "gtceu:item/material_sets/cereal_box/ingot_overlay", + "layer3": "gtceu:item/material_sets/cereal_box/ingot_hot_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json new file mode 100644 index 000000000..9351df688 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/noodle/ingot", + "layer1": "gtceu:item/material_sets/noodle/ingot_secondary", + "layer2": "gtceu:item/material_sets/noodle/ingot_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json new file mode 100644 index 000000000..b1b980e91 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json @@ -0,0 +1,9 @@ +{ + "parent": "gtceu:item/material_sets/noodle/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/noodle/ingot", + "layer1": "gtceu:item/material_sets/noodle/ingot_secondary", + "layer2": "gtceu:item/material_sets/noodle/ingot_overlay", + "layer3": "gtceu:item/material_sets/noodle/ingot_hot_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json new file mode 100644 index 000000000..58452c41d --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json @@ -0,0 +1,6 @@ +{ + "parent": "gtceu:item/material_sets/metallic/ingot_hot", + "textures": { + "layer1": "gtceu:item/material_sets/radioactive/ingot_secondary" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..20b490e7b730b1b50e8c84a9ac0ce0e0d363967f GIT binary patch literal 487 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU49JS3Y>~;QaaX<>lr7|NoymcP;}1gR`-F2?GNI zM@f)h@P7zkxYxWll7WGNv%n*=n1O-sFbFdq&tH+kz`!6`;u=vBoS#-wo>-L15RjOe zSEA?V8lqsTXQ*dr*u^1sj)8$;M{0y;ny0500|x^G11p0RBP#0|SFJlnwHR z1|u_AoQZ*f!H|)OL6CugA&P;4A+wzYES|#v0SO=FtCa^QGFfcF} z7#SNdE`XQ|vXgZI#H?u$qZpVN7#WzrDuXO77?>EKx(p2rKnmDQuM}_UFS2G}V2Ji~ zaSYK24n5z<#h}Q+9PoV3-~aORna4z3-YRx&dp6^1vGSgO?Pur41zkVDZt?tkdE=IA+$L5Vt6pb&TOJYn4gP%9(}boL#c%J7?^;#-72zvUh5)&s&g{ Mp00i_>zopr09=}SF#rGn literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_hot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_hot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..26055b67027de610ef1868ff8508c99525f02dae GIT binary patch literal 667 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`Cu?&;zf zV&UIA+0mQHQKD`BOQkje5l1f$HZ@IA#fy>a8%thEec`tH#s5j+%F4W^3nzm)VqXin z%y@8=_e;QA$7Y8BmzM&U6X#}1mtSNTYx`L?PxfBE{S0QyEKkcU&*FNuPmdQVyX&s} zIDw;>+2L7oD8r_i9G!1DR<|cM6)v~PQx-G-y0f0CQpk3h8P7&}sUYdL6S}fzC+Y0q z@7@$E7`9&JRM}Ji*GYHE3$LGi%Dk_2YG3G_ xS*@B=TsTwg!me(9*!bOG<@)!%<+b&%Irk@N)R?{(k6i)^UQbs)mvv4FO#siS$8rDw literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..2afe4ed61a1f479eb459450195848c9d1902bf05 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`Cm=;`7Z zV&R{hAi=8A{Qv)d_66Ms8SPGjSPv$*Gncrwm>4bMHdr8e=){Q~jG@y!8qSBM9B9#V g(2_81;9?8lVfY{;S2owcN)KePr>mdKI;Vst08)Wbh5!Hn literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1d06a1d7c0de4bdac540ab9534be2b32fe9244 GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`C0#M8ww z#KM2-q=TZ&iX1MUQnyPI8O0KLvF$n@@+&^N_RtACoe&#e3;lECcprsKxm zeMi{0d)HhjTF$J~G%e`Vo12_k+aB2V{Y%$Kcy@W7?U|aY^Cisr0lgi&I%Mk1L_1C_ zRP}dE)oO_Ey#7vtE67W}y6?lh)eE+!eVs7p^Xcq|T!K=3_7fL5EA8_6RkC!-KZ&qC jnWA&bn8Jgyd2LUL_sHe=K8b1f2D#nS)z4*}Q$iB}4X1({ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot.png b/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..b9532d4e6e0482cf6ce88e7306192f8651e4f6a1 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU3ye_V%TvrR&zMV_;xdF5|L+ zfq{XuB*-uLKNK(o`&S5o1PeSOiy0XB4ude`@%$Aj3=9mCC9V-A!TD(=<%vb93;~Im zc_n&&t|1DhdWL$2hFu(D=NK3mcBDplrg?g5F>o+2Ft9R6F|sl+GB7ZBfgA*7gS?`_ z$P5-|Vqjn}WMpCxWME*3Vqjp%Y-a(B=P*D(0?3yP3=A+D-Btz$W(I}{>*0)3xwk+zdb;|# JtaD0e0sw{?drbfU literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_hot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_hot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..49cdbba64b7b1e7f658d1b43f540eff16211b99c GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`B@?djqe zV&Q*vqM>(Fph(+%Y28)@7RC9^4+Ge@I8wKRKs%TlM{7IlcF-JDq;}UabpOf1kc6-dy&r`PGM> zXMVh}i1NCAB8^FivpGjK(v~YCO1`bx|IDYhpTP^3mYkK{G?O7=)e&B%S&^2^3gWK= z-yh|8Tq)tHPnRjPqk@k}vMT`etM<3_ix;l1q*;JD(*E7|N1$CJUegrcbJPlhB)-v~?+1I$9 z*L#Z@ihs>1R{GDH_4EL%T$I=KV_jc=`Y$*dlK5)T`4s*v*F{O`5BFW1?lSib`~GX* V1yZVQy|JJm^mO%eS?83{1OROR!KMHJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..d27dfaeba23e3de76cd619655f28e30c5ac0a53d GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`Cm;OXKR zV&R{hAi?^D{r~^}{qE0k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`C$(9^{+ z#KQmTq>a6Y4Fp)OA6lN*(8_U6Vq^R3CI-gP4?7!PI|)kf@R-=Kx>z9h`EVFeA zJsNd;&DQ;PN?H9qXa1PHIJI9eG?d{$_4|9AFSFKqyo}R+&XXpVCiZ^s?G^GLOwWIo xbYPy4)WgJJc { GTMaterials.Cobalt.setMaterialSecondaryARGB(0x1D2688) GTMaterials.CertusQuartz.setMaterialARGB(0xB8D8FC) GTMaterials.CertusQuartz.setMaterialSecondaryARGB(0xADCCEF) - GTMaterials.Vanadium.setMaterialARGB(0xD8D4E7) - GTMaterials.Vanadium.setMaterialSecondaryARGB(0x7E988F) + GTMaterials.Vanadium.setMaterialARGB(0xA7AAC6) + GTMaterials.Vanadium.setMaterialSecondaryARGB(0xC4EFE6) GTMaterials.Brass.setMaterialSecondaryARGB(0x791905) GTMaterials.Aluminium.setMaterialARGB(0xb6e5ff) GTMaterials.Aluminium.setMaterialSecondaryARGB(0x7ca29b) diff --git a/kubejs/startup_scripts/tfg/icon_sets.js b/kubejs/startup_scripts/tfg/icon_sets.js index fed183e4d..be0ac333c 100644 --- a/kubejs/startup_scripts/tfg/icon_sets.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -37,6 +37,9 @@ function registerTFGIconSets(event) { event.create('nether_quartz').parent('quartz') + event.create('noodle').parent('metallic') + event.create('cereal_box').parent('bright') + // Credits to Flare from the Cosmic Frontiers team event.create('chonky').parent('shiny') } @@ -152,6 +155,8 @@ function modifyTFGIconSets(event) { GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.Vanadium.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") $GreateMaterials.RoseQuartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index 58eeab18a..e048876ce 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -81,7 +81,7 @@ function registerTFGMarsMaterials(event) { .components('2x pitchblende', '1x tricalcium_phosphate', '1x bauxite', '1x silver', '1x beryllium') .color(0xbd7980) .secondaryColor(0xA66C8D) - .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + .iconSet(GTMaterialIconSet.getByName('cereal_box')) .ingot() .liquid() .blastTemp(3700, 'mid', GTValues.VA[GTValues.EV]) @@ -99,7 +99,7 @@ function registerTFGMarsMaterials(event) { .liquid() .components('2x ostrum', 'iodine') .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) - .iconSet(GTMaterialIconSet.BRIGHT) + .iconSet(GTMaterialIconSet.getByName('cereal_box')) .flags(GTMaterialFlags.GENERATE_GEAR) .color(0xc696f2) .secondaryColor(0x9b99ff) From 68e79a1009cd3a6a2b30876cb403ddc785728481 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 21:16:19 +0000 Subject: [PATCH 033/157] fix belt sander speed to match what's in the ponder --- CHANGELOG.md | 2 ++ defaultconfigs/vintageimprovements-server.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b1fdd7c8..75b7ab677 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie +- High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM +- Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/defaultconfigs/vintageimprovements-server.toml b/defaultconfigs/vintageimprovements-server.toml index acec72cc1..8a85d7c1f 100644 --- a/defaultconfigs/vintageimprovements-server.toml +++ b/defaultconfigs/vintageimprovements-server.toml @@ -21,7 +21,7 @@ #. #Medium speed value for grinder crafts, speedLimits = 2. #Range: 1 ~ 256 - mediumSpeedValue = 128 + mediumSpeedValue = 64 #. #Allows sandpaper crafts on belt grinder, when recipes collides belt grinder recipe have priority. allowSandpaperPolishingOnGrinder = true From edad4cc7e45ac49a4cfb10f24524384e14f5095b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 23:42:29 +0000 Subject: [PATCH 034/157] fix chorus fruit in greenhouse --- CHANGELOG.md | 6 +++++- kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75b7ab677..f70a6bec5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie - High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie +- TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie @@ -31,9 +32,12 @@ - Fixed missing borax to flux recipe @Pyritie - Fixed lavaproof blue steel boots not having armor resistances (#2872) @Paradalope - Fixed the dye colors used to make Create Deco's bricks (#2859) @silllil +- Fixed the Electric Greenhouse outputting way less Chorus Fruit than before @Pyritie +- Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg ### Translation updates - Chinese (simplified) @jmecn -- Russian @Petr211071 +- Russian @Petr211071 + @Nixieeunrare +- Spanish @NikoNeko17 ## [0.11.18] - 23-01-2026 ### Important notes diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 84f2ea84e..2c88edd43 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -534,10 +534,10 @@ const registerTFGGreenhouseRecipes = (event) => { generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', 1); generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', 1); - // Moon Crops - generateCropGreenHouseRecipe(event, 'ad_astra:moon', 'tfg:lunar_chorus_flower', 'minecraft:chorus_fruit', 2); - // Moon Plants + generateGreenHouseRecipe(event, 'ad_astra:moon', '8x tfg:lunar_chorus_flower', [ + '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '8x tfg:lunar_chorus_flower', '8x tfg:lunar_chorus_flower' + ], 1); generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' ], 1); From 989d572eb9cb37eb6125db81a8088df1631ff224 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 23:42:34 +0000 Subject: [PATCH 035/157] gurman updates --- kubejs/server_scripts/tfc/tags.js | 4 + kubejs/server_scripts/tfc_gurman/recipes.js | 150 +++++++++++++++++--- 2 files changed, 137 insertions(+), 17 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 9748229f5..70a218388 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -459,6 +459,10 @@ function registerTFCItemTags(event) { }) event.add('tfc:fluxstone', 'tfg:loose/dripstone') + + event.add('tfc:food/bell_peppers', 'tfc:food/green_bell_pepper'); + event.add('tfc:food/bell_peppers', 'tfc:food/yellow_bell_pepper'); + event.add('tfc:food/bell_peppers', 'tfc:food/red_bell_pepper'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index f19231358..c506ce5f7 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -47,7 +47,7 @@ function registerTFCGurmanRecipes(event) { global.cookingRecipe(event, 'oladyi', 'tfc_gurman:raw_oladyi', 'tfc_gurman:oladyi'); // Falafel - from soybean (no raw version) - global.cookingRecipe(event, 'falafel', 'tfc:food/soybean', 'tfc_gurman:falafel'); + global.cookingRecipe(event, 'falafel', 'tfc_gurman:raw_falafel', 'tfc_gurman:falafel'); global.cookingRecipe(event, 'pelmeni', 'tfc_gurman:raw_pelmeni', 'tfc_gurman:pelmeni', '#tfg:clean_water 500'); @@ -58,8 +58,15 @@ function registerTFCGurmanRecipes(event) { //#region Food Processor Recipes // Borscht + global.processorRecipe(event, 'sliced_cabbage', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc:food/cabbage'], + itemOutputs: ['2x tfc_gurman:sliced_cabbage'], + circuit: 1, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:sliced_cabbage').copyOldestFood() + }); + global.processorRecipe(event, 'borscht', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls'], + itemInputs: ['tfc:food/beet', 'tfc_gurman:sliced_cabbage', 'tfc:food/carrot', 'tfc:food/onion', '#tfc:foods/cooked_meats', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], itemOutputs: ['3x tfc_gurman:borscht'], circuit: 20, @@ -93,7 +100,7 @@ function registerTFCGurmanRecipes(event) { // Compote global.processorRecipe(event, 'compote', 1000, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x #tfc:foods/fruits'], + itemInputs: ['2x #tfc_gurman:compote_fruits'], fluidInputs: ['minecraft:water 1000'], fluidOutputs: ['tfc_gurman:compote 1000'], circuit: 6 @@ -101,7 +108,7 @@ function registerTFCGurmanRecipes(event) { // Lemonade global.processorRecipe(event, 'lemonade', 1500, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc:food/lemon', '#tfc:sweetener'], + itemInputs: ['2x tfc:food/lemon'], fluidInputs: ['minecraft:water 1000'], fluidOutputs: ['tfc_gurman:lemonade 1000'], circuit: 2 @@ -338,13 +345,126 @@ function registerTFCGurmanRecipes(event) { // Adjika global.processorRecipe(event, 'adjika', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro', '5x #tfc:bowls'], + itemInputs: ['#tfc:food/bell_peppers', '#tfc:food/bell_peppers', 'tfc:powder/salt', 'tfc:food/garlic', "tfg:spice/cilantro_leaves", '5x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], itemOutputs: ['5x tfc_gurman:adjika'], circuit: 8, itemOutputProvider: TFC.isp.of('5x tfc_gurman:adjika').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); + // Onion soup with bread + global.processorRecipe(event, 'onion_soup_with_bread', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/onion', '#firmalife:foods/flatbreads', '#firmalife:foods/cheeses', 'tfc:powder/salt', '#tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fresh_onion_soup_bread'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup_bread').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Lentil soup + global.processorRecipe(event, 'lentil_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/soybean', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '#tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:lent_soup'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:lent_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Gazpacho + global.processorRecipe(event, 'gazpacho', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/tomato', '#tfc:food/bell_peppers', '#firmalife:foods/flatbreads', 'tfc:food/garlic', '#tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:gazpacho'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:gazpacho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Kharcho + global.processorRecipe(event, 'kharcho', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc_gurman:plant_mix', 'tfc:food/garlic', 'tfc:food/onion', 'tfc:food/rice_grain', 'tfc:food/cooked_beef'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:kharcho'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:kharcho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Kholodnik + global.processorRecipe(event, 'kholodnik', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc:food/potato', '2x tfc:food/beet', '#forge:eggs', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:kholodnik'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:kholodnik').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Shurpa + global.processorRecipe(event, 'shurpa', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_mutton', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:shurpa'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + global.processorRecipe(event, 'shurpa2', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_beef', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:shurpa'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Fish tomato soup + global.processorRecipe(event, 'fish_tomato_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fish_soup_tomato'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup_tomato').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Pea soup + global.processorRecipe(event, 'pea_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/green_bean', 'tfc:food/onion', '#tfc:foods/cooked_meats', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:pea_soup'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:pea_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Minestrone + global.processorRecipe(event, 'minestrone', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc:food/rice_grain', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:minestrone'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + global.processorRecipe(event, 'minestrone2', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['firmalife:food/raw_egg_noodles', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:minestrone'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Fish soup + global.processorRecipe(event, 'fish_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fish_soup'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // French onion soup with toast + global.processorRecipe(event, 'french_onion_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/onion', '#firmalife:foods/slices', '#firmalife:foods/cheeses', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fresh_onion_soup'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + //#endregion // #region Drying @@ -377,22 +497,18 @@ function registerTFCGurmanRecipes(event) { }); // #endregion Drying - // #region Crafting table foods - - // TODO: unfinished - global.processorRecipe(event, 'margarita_pizza', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['firmalife:food/pizza_dough', 'firmalife:food/shredded_cheese', 'tfc:food/tomato', 'tfc:food/red_bell_pepper', 'tfc_gurman:plant_mix', 'firmalife:food/tomato_sauce'], - itemOutputs: ['tfc_gurman:raw_margarita_pizza'], - circuit: 4, - itemOutputProvider: TFC.isp.of('tfc_gurman:raw_margarita_pizza').simpleModifier('tfg:force_add_bowl').copyOldestFood() - }); - - // #endregion - // #region Replacements event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); + event.shapeless('2x tfc_gurman:plant_mix', [ + "2x firmalife:spice/basil_leaves", + "tfg:spice/oregano_leaves", + "tfg:spice/cilantro_leaves", + ]).id("tfc_gurman:crafting/plant_mix") + + event.replaceInput({ id: "tfc_gurman:pot/adjika_bowl" }, "firmalife:plant/cilantro", "tfg:spice/cilantro_leaves"); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of('4x tfc_gurman:raw_takoyaki').copyOldestFood(), [ TFC.ingredient.notRotten('tfg:food/raw_crawlermari'), TFC.ingredient.notRotten('#tfc:foods/flour'), From b4fd0e023fb9dd95ad298db82ae9b6ae9fbdb466 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 00:04:49 +0000 Subject: [PATCH 036/157] fix the recipe of pressing nothing into fluix gems --- kubejs/server_scripts/greate/recipes.removes.js | 2 +- .../tfg/ores_and_materials/recipes.material_ores.js | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index c23447eb6..2330e20fe 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -78,7 +78,7 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:cutting/integration/create/cutting/runtime_generated/compat/minecraft/bamboo_planks_to_bamboo_button' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/fire_charge' }) - event.remove({ id: 'toomanyrecipeviewers:/greate/milling/integration/gtceu/macerator/macerate_cocoa' }) + event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_cocoa' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js index 9624a3cd3..09f9e62f1 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -565,9 +565,12 @@ function processGems(event, material) { } const amount = getMaterialAmount(TagPrefix.block, material); - event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), ChemicalHelper.get(TagPrefix.block, material, 1)) - .recipeTier(0) - .id(`greate:pressing/unpacking_${materialName}_block`) + const block = ChemicalHelper.get(TagPrefix.block, material, 1); + if (!block.isEmpty()) { + event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), block) + .recipeTier(0) + .id(`greate:pressing/unpacking_${materialName}_block`) + } event.recipes.tfc.quern(ChemicalHelper.get(TagPrefix.dust, material, 1), gemItem) .id(`tfg:quern/${materialName}_gem_to_dust`) From 22262aac785853992c2a485692841634f7ef8a21 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 00:21:42 +0000 Subject: [PATCH 037/157] alternative for lv hermetic casing --- kubejs/server_scripts/tfg/machines/recipes.bakelite.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js index 92262887e..271f10084 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -103,4 +103,13 @@ function registerTFGBakeliteRecipes(event) { .itemOutputs('gtceu:lv_machine_hull') .duration(50) .EUt(16) + + event.shaped('gtceu:lv_hermetic_casing', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: '#forge:plates/steel', + B: '#forge:storage_blocks/bakelite' + }).tfg('tfg:shaped/lv_hermetic_casing_bakelite') } \ No newline at end of file From ec477c70d8540dd2243c5ebf7112de7b9eb54e4a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 00:54:03 +0000 Subject: [PATCH 038/157] flying up high enough now sends you into orbit --- kubejs/data/simplystacked/config/glacio_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/mars_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/mercury_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/overworld_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/venus_to_orbit.json | 8 ++++++++ 5 files changed, 40 insertions(+) create mode 100644 kubejs/data/simplystacked/config/glacio_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/mars_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/mercury_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/overworld_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/venus_to_orbit.json diff --git a/kubejs/data/simplystacked/config/glacio_to_orbit.json b/kubejs/data/simplystacked/config/glacio_to_orbit.json new file mode 100644 index 000000000..b8b694ae7 --- /dev/null +++ b/kubejs/data/simplystacked/config/glacio_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:glacio", + "to": "ad_astra:glacio_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/mars_to_orbit.json b/kubejs/data/simplystacked/config/mars_to_orbit.json new file mode 100644 index 000000000..e6f441294 --- /dev/null +++ b/kubejs/data/simplystacked/config/mars_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:mars", + "to": "ad_astra:mars_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/mercury_to_orbit.json b/kubejs/data/simplystacked/config/mercury_to_orbit.json new file mode 100644 index 000000000..c17b6f585 --- /dev/null +++ b/kubejs/data/simplystacked/config/mercury_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:mercury", + "to": "ad_astra:mercury_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/overworld_to_orbit.json b/kubejs/data/simplystacked/config/overworld_to_orbit.json new file mode 100644 index 000000000..2255822cf --- /dev/null +++ b/kubejs/data/simplystacked/config/overworld_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "minecraft:overworld", + "to": "ad_astra:earth_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/venus_to_orbit.json b/kubejs/data/simplystacked/config/venus_to_orbit.json new file mode 100644 index 000000000..3860a103c --- /dev/null +++ b/kubejs/data/simplystacked/config/venus_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:venus", + "to": "ad_astra:venus_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file From 5504e548eb6b822a9943f49af0ad618962eec541 Mon Sep 17 00:00:00 2001 From: ashlen Date: Wed, 28 Jan 2026 01:55:19 +0100 Subject: [PATCH 039/157] feat: add food automation quest (#2888) --- .../quests/chapters/queststfc_tips.snbt | 36 +++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 3 ++ 2 files changed, 39 insertions(+) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index ed36edbd7..6628a862d 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -2158,6 +2158,42 @@ x: 0.0d y: -10.5d } + { + dependencies: ["30DD0DDF86C96926", "1F41C35890E2C44F"] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.food_automation.desc}"] + icon: "tfg:lv_food_oven" + id: "46111F4D970EE3C5" + optional: true + subtitle: "{quests.tfg_tips.food_automation.subtitle}" + tasks: [ + { + id: "770BC20A8062A6BD" + item: "tfg:lv_food_processor" + optional_task: true + type: "item" + } + { + id: "3EB084CA435F8C19" + item: "tfg:lv_food_oven" + optional_task: true + type: "item" + } + { + id: "150B81D83DFFB9A1" + item: "gtceu:lv_robot_arm" + optional_task: true + type: "item" + } + { + id: "2332EB45D64DB9FB" + type: "checkmark" + } + ] + title: "{quests.tfg_tips.food_automation.title}" + x: 0.0d + y: -12.0d + } ] 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 ff499df4f..db382add8 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4866,6 +4866,9 @@ "quests.tfg_tips.greenhouse_automation.title": "Greenhouse Automation", "quests.tfg_tips.greenhouse_automation.subtitle": "By your powers combined...", "quests.tfg_tips.greenhouse_automation.desc": "With the combination of Firmalife's &2Picker&r and &2Sweeper&r, Create's Deployers, and GregTech's Item Collectors, it's possible to completely automate your greenhouse!\n\nPickers will pull mature crops from Hydroponic Planters and Quad Planters when they receive a redstone pulse, while Sweepers will harvest mature crops from the other types in a 3x3 area around it while connected to a redstone signal.\n\nThese machines will produce loose items, but an Item Collector will suck those up in a large area around it.\n\nFrom there, pipe the seeds back into Deployers to plant them in the Planters!", + "quests.tfg_tips.food_automation.title": "Food Automation", + "quests.tfg_tips.food_automation.subtitle": "Automate your kitchen.", + "quests.tfg_tips.food_automation.desc": "You can completely automate food starting from &7LV&r using the &3Food Oven&r and &3Food Processor&r.\n\nTo properly make food out of multiple ingredients in a Food Processor, such as sandwiches, you will have to use the &3Robot Arm&r with the \"Keep Exact\" button enabled (or have your Create logstics deliver exact amounts to your machines).\n\nTo prevent spoiled food from filling up your storage you should use the &3Rotten Voiding Cover&r.\n\nThis will later pair nicely with a refrigerator in &bMV&r.", "quests.tfg_tips.beekeeping.title": "Beekeeping", "quests.tfg_tips.beekeeping.subtitle": "They're so small now...", "quests.tfg_tips.beekeeping.desc": "&bBeekeeping&r has a plethora of uses. Not only do bees fertilize nearby crops (assuming you have the correct trait), you will be able to obtain useful resources such as &aWax&r and &aHoney.&r Breed bees to achieve better stats.\nThe &2Field Guide&r offers an extensive explanation of all &bbeekeeping&r mechanics.", From f0a2f5651052ce58b35ca0e6bb11b12a5a91f269 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Wed, 28 Jan 2026 23:58:29 +0300 Subject: [PATCH 040/157] Ru ru translation (#2893) * Delete Bread * Blast furnace and bloomery --- .../entries/mechanics/blast_furnace.json | 68 +++++++++++++++++++ .../ru_ru/entries/mechanics/bloomery.json | 6 +- .../ru_ru/entries/mechanics/bread.json | 55 --------------- 3 files changed, 71 insertions(+), 58 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json new file mode 100644 index 000000000..712207330 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json @@ -0,0 +1,68 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "Доменная печь", + "category": "tfc:mechanics", + "icon": "tfc:blast_furnace", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Доменная печь$() — это продвинутая установка, используемая для создания $(thing)Стали$(). Смешивая $(l:getting_started/finding_ores)Железные руды$(), $(l:tfg_tips/basic_automation)Кокс$() или $(l:beneath/ores_and_minerals#cursecoal)Антрацит$(), и $(thing)флюс$() в контролируемой горячей среде, вы можете создать металл, прочнее чугуна или кованого железа.$(br2)Чтобы получить доменную печь, вам сначала понадобится $(l:mechanics/crucible)Тигель$() и много $(thing)листов кованного железа$()." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/blast_furnace", + "text": "Для создания самой доменной печи потребуется $(thing)Тигель$(), а также несколько $(thing)двойных пластин кованого железа$()." + }, + { + "type": "patchouli:text", + "text": "Затем вам нужно будет построить доменную печь вместе с ее $(thing)Дымоходом$(). Дымоход должен быть составлен из $(l:mechanics/fire_clay#fire_bricks)Огнеупорных кирпичей$(), так как они достаточно прочны, чтобы выдержать интенсивный жар. Затем его следует выложить $(thing)пластинами из кованного железа$() для дополнительного укрепления. Пластины могут быть применены к наружним сторонам кирпичей при нажатии $(item)$(k:key.sneak)$() + $(item)$(k:key.use)$() с пластиной в руке, или скрафчены в $(l:mechanics/blast_furnace_insulation)Изоляцию для доменной печи$()." + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfc:blast_furnace", + "name": "Доменная печь", + "text": "Доменная печь с дымоходом минимальной высоты.", + "enable_visualize": true + }, + { + "type": "patchouli:text", + "text": "Дымоход доменной печи может состоять из пяти слоев - каждый слой требует четыре $(thing)Огнеупорных кирпичей$() и двенадцати $(thing)Кованых железных листов$(), для завершения строительства. Наличие большего количества слоев увеличивает общую вместимость доменной печи, позволяя плавить больше стали за один раз. Каждый слой дымохода (максимум - пять слоёв), позволяет доменной печи вмещать на четыре дополнительных предмета руды больше." + }, + { + "type": "patchouli:text", + "text": "Чтобы использовать доменную печь, вы должны бросить предметы в верхнюю часть дымохода - для производства стали, вы должны добавить равное количество предметов $(l:getting_started/finding_ores)Железных руд$() и $(l:mechanics/flux)флюса$(). Подойдут любые железные руды или предметы, которые могут плавиться в $(thing)Чугун$(). Вам также нужно будет добавить $(l:tfg_tips/basic_automation)Кокс$() или $(l:beneath/ores_and_minerals#cursecoal)Антрацит$(), который будет расходоваться по мере работы доменной печи." + }, + { + "type": "patchouli:text", + "text": "Использование доменной печи откроет интерфейс печи, показанный справа. В этом интерфейсе вы увидите индикаторы содержания руды и топлива доменной печи. В верхнем правом слоте должна находиться $(thing)Фурма$(), металлическая труба, используемая для направления воздуха в высокую печь, необходимая для достижения максимальных температур для плавки стали. Фурму можно выковать на $(l:mechanics/anvils)Наковальне$()." + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/blast_furnace.png" + ], + "text": "Интерфейс доменной печи", + "border": false + }, + { + "type": "patchouli:text", + "text": "Вам также понадобятся $(l:mechanics/bellows)Меха$(), чтобы доменная печь достигла температуры, при которой железо расплавится. Его можно установить на любой из четырех сторон доменной печи." + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfc:full_blast_furnace", + "name": "", + "text": "Доменная печь полного размера с прикрепленными мехами и тиглем.", + "enable_visualize": true + }, + { + "type": "patchouli:text", + "text": "Наконец, чтобы начать, зажгите доменную печь с помощью $(l:getting_started/firepit#firestarter)Примитивного огнива$() или $(thing)Стального огнива$(). Она начнет нагревать руды внутри. Убедитесь, что в доменной печи остаётся топливо, и используйте меха, чтобы нагнетать воздух в печь после того, как ее внутренняя температура достигнет максимума, который может выдать уголь. После нагрева руды внутри, она расплавится и превратится в $(l:mechanics/steel)Чугун$()." + }, + { + "type": "patchouli:text", + "text": "Жидкий металл будет стекать в любой металлический контейнер для жидкости, установленный непосредственно под доменной печью, такой как $(l:mechanics/crucible)Тигель$(). Его можно отлить в формы для слитков из выходного слота тигля и переработать в $(l:mechanics/steel)Сталь$()." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json index 2965665dd..edf100f4e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json @@ -22,19 +22,19 @@ }, { "type": "patchouli:text", - "text": "Сыродутный горн вмещает до 48 $(thing)Предметов$(), по 16 за каждый уровень камина. Чтобы добавить уровней дымоходу, поставьте ещё два слоя из каменный блоков.$(br2)Чтобы добавить предметы в горн, заберитесь наверх и закиньте их внутрь, после чего на их месте образуется серая масса." + "text": "Сыродутный горн вмещает до 48 $(thing)Предметов$(), по 16 за каждый уровень камина. Чтобы добавить уровней дымоходу, поставьте ещё два слоя из каменный блоков.$(br2)Чтобы добавить предметы в горн, заберитесь наверх и закиньте их внутрь, после чего на их месте образуется серая масса.$(br2Ты можешь использовть так и $(item)Древесный уголь$(), так и $(item)Уголь$() в качестве топлива для горна." }, { "type": "patchouli:image", "images": [ "tfc:textures/gui/book/tutorial/bloomery_hole.png" ], - "text": "Добавление предметов в доменную печь.", + "text": "Горну требуется $(thing)1 Древесный уголь$(), и $(thing)144 Л (mB) Железной руды$() чтобы создать 1 $(thing)Крицу$().", "border": true }, { "type": "patchouli:text", - "text": "Горну требуется $(thing)1 Древесный уголь$(), и $(thing)144 Л (mB) Железной руды$() чтобы создать 1 $(thing)Крицу$(). После заполнения горна смесью $(thing)Древесного угля$() и $(thing)Руды$(), зажгите двери горна и подождите 15 минут, пока руда плавится. Когда горн потухает, он создаёт блок $(thing)Крицы$(). Эти блоки содержат $(thing)Кричное железо$(), которое можно добыть повторно ломая блок $(thing)Крицы$() киркой или молотом." + "text": "Если тебе лень считать, мы рекомендуем использовать $(item)25 пыли рудного железа$() и $(item)22 топлива$(). После заполнения горна смесью $(thing)топлива$() и $(thing)Руды$(), зажгите двери горна и подождите 15 минут, пока руда плавится. Когда горн потухает, он создаёт блок $(thing)Крицы$(). Эти блоки содержат $(thing)Кричное железо$(), которое можно добыть повторно ломая блок $(thing)Крицы$() киркой." }, { "type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json deleted file mode 100644 index bd3de7807..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "name": "Хлеб", - "category": "tfc:mechanics", - "icon": "tfc:textures/item/food/barley_bread.png", - "pages": [ - { - "type": "patchouli:text", - "text": "Хлеб - это обработанная форма различных зерновых культур, таких как $(l:mechanics/crops#barley)Ячмень$(). Сбор зерновой культуры дает сырой, необработанный зерновой предмет, который сам по себе не пригоден для использования. Его необходимо переработать в $(thing)Хлеб$(), который затем можно есть или использовать в $(l:mechanics/sandwiches)Бутербродах$()." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/barley_cutting", - "text": "Сначала, срежьте солому с еды с помощью $(thing)Ножа$()." - }, - { - "type": "patchouli:spotlight", - "item": "tfc:food/rye_grain", - "link_recipes": false, - "text": "Зерна - это самая долговечная стадия процесса, они портятся гораздо медленнее, чем большинство продуктов. Само по себе свежее зерно хранится 10 месяцев и 7 дней. В маленьком сосуде оно хранится 1 год, 9 месяцев и 7 дней." - }, - { - "type": "tfc:quern_recipe", - "recipe": "tfc:quern/oat_grain", - "text": "Затем зерно должно быть перемолото в $(l:mechanics/quern)жернове$(), чтобы получить муку." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/dough/barley_dough_1", - "text": "Тесто готовится путем добавления ведра $(thing)Свежей воды$() к муке." - }, - { - "type": "tfc:heat_recipe", - "recipe": "tfc:heating/barley_dough", - "text": "Затем тесто можно $(l:mechanics/heating)нагреть$(), чтобы сделать хлеб. На этом этапе его также можно использовать в $(l:mechanics/sandwiches)Бутербродах$()." - } - ], - "read_by_default": true, - "extra_recipe_mappings": { - "tag:tfc:sandwich_bread": 0, - "tag:tfc:foods/dough": 0, - "tfc:food/barley_grain": 0, - "tfc:food/maize_grain": 0, - "tfc:food/oat_grain": 0, - "tfc:food/rice_grain": 0, - "tfc:food/rye_grain": 0, - "tfc:food/wheat_grain": 0, - "tfc:food/barley_flour": 0, - "tfc:food/maize_flour": 0, - "tfc:food/oat_flour": 0, - "tfc:food/rice_flour": 0, - "tfc:food/rye_flour": 0, - "tfc:food/wheat_flour": 0 - } -} \ No newline at end of file From 025921aece525faa31a9995a0dcfda34eb0a4bf2 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Thu, 29 Jan 2026 04:59:46 +0800 Subject: [PATCH 041/157] Update zh_cn translation for tfg patchouli book (#2894) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book * feat: update zh_cn translation for tfg patchouli_book --------- Co-authored-by: 闫茂源 --- .../zh_cn/entries/beneath/curious_blocks.json | 5 + .../zh_cn/entries/mechanics/crops.json | 1142 +++++++++-------- .../zh_cn/entries/the_world/wild_crops.json | 661 ++++++++++ 3 files changed, 1243 insertions(+), 565 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json index 73f70cb95..90c7f8230 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json @@ -13,6 +13,11 @@ "recipe": "tfg:shapeless/hellbricks_from_soot", "text": "地狱砖是一种建筑方块,也用于地狱熔炉建造。" }, + { + "type": "patchouli:spotlight", + "item": "beneath:ancient_altar", + "text": "辉石岩基座可用于展示你想炫耀的物品!" + }, { "type": "patchouli:crafting", "recipe": "beneath:crafting/blackstone_brick", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json index 3d67d0e77..2dad79376 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json @@ -14,172 +14,33 @@ }, { "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfg:rock_knapping/stone_hoe_head_1" - ], + "title": "Contents", "text": "要开始,首先通过$(thing)打制石器$()做一把$(thing)石锄$()" }, { "type": "patchouli:crafting", - "recipe": "tfc:crafting/stone/hoe_sedimentary", "text": "将锄头与木棍合成一把锄。$(br2)锄的功能与原版相同,$(item)$(k:key.use)$()点击泥土方块即可将其转化为$(thing)耕地$()。它还可以用于将$(thing)缠根泥土$()转化为$(thing)土$()。" }, { "type": "patchouli:text", - "text": "所有作物都需要种植在耕地上才能生长。有些作物还有额外的要求,比如只能种在水里或者需要插一根木棍才能生长。$(br2)作物不需要$(thing)营养物质$()就能生长,但营养物质能加速其成熟。营养物质分为三种:$(b)氮$()、$(6)磷$()和$(d)钾$()。每种作物都有一种偏爱的养分。", - "title": "种植作物" + "recipes": [ + "tfg:rock_knapping/stone_hoe_head_1" + ], + "text": "所有作物都需要种植在耕地上才能生长。有些作物还有额外的要求,比如只能种在水里或者需要插一根木棍才能生长。$(br2)作物不需要$(thing)营养物质$()就能生长,但营养物质能加速其成熟。营养物质分为三种:$(b)氮$()、$(6)磷$()和$(d)钾$()。每种作物都有一种偏爱的养分。" }, { "type": "patchouli:text", + "recipe": "tfc:crafting/stone/hoe_sedimentary", "text": "消耗偏爱的营养物质可以加速作物的生长,并提高收获时的产量。作物消耗耕地中的某种营养物质的同时,会小幅产出其他两种营养物质。$(br2)接下来的几页会列出群峦传说中所有的作物。" }, { "type": "patchouli:text", - "anchor": "barley", "text": "$(bold)$(l:the_world/climate#temperature)温度$():-8 - 26 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():18 - 75 %$(br)$(bold)营养物质$():氮$(br2)大麦是一种一格高的农作物。种植大麦会产出$(thing)大麦$()和$(thing)大麦种子$()。", "title": "大麦" }, { "type": "tfc:multimultiblock", - "text": "", - "multiblocks": [ - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=0]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=1]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=2]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=3]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=4]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=5]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=6]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=7]", - "Y": "tfc:farmland/loam" - } - } - ] + "text": "" }, { "type": "patchouli:text", @@ -497,15 +358,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=0,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=0,part=bottom]" } }, { @@ -518,15 +375,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=1,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=1,part=bottom]" } }, { @@ -539,15 +392,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=2,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=2,part=bottom]" } }, { @@ -560,15 +409,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/maize[age=3,part=top]", - "Y": "tfc:crop/maize[age=3,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=3,part=bottom]" } }, { @@ -581,15 +426,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/maize[age=4,part=top]", - "Y": "tfc:crop/maize[age=4,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=4,part=bottom]" } }, { @@ -602,15 +443,45 @@ ], [ "Z" + ] + ], + "mapping": { + "X": "tfc:crop/maize[age=5,part=top]", + "Y": "tfc:crop/maize[age=5,part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/maize[age=5,part=top]", - "Y": "tfc:crop/maize[age=5,part=bottom]", - "Z": "tfc:farmland/loam" + "X": "tfc:crop/rye[age=6]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=7]", + "Y": "tfc:farmland/loam" } } ] @@ -633,13 +504,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=0]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -650,13 +525,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=1]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -667,13 +546,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=2]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -684,13 +567,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=3]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -701,13 +588,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=4]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -718,47 +609,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=5]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/wheat[age=6]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/wheat[age=7]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } } ] @@ -1022,6 +883,40 @@ "X": "tfc:crop/beet[age=5]", "Y": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=6,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=7,fluid=water]", + "Y": "tfc:farmland/loam" + } } ] }, @@ -1233,6 +1128,23 @@ "X": "tfc:crop/carrot[age=4]", "Y": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=5]", + "Y": "tfc:farmland/loam" + } } ] }, @@ -1353,15 +1265,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=0,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=0,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=0,part=bottom,stick=true]" } }, { @@ -1374,15 +1282,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=1,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=1,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=1,part=bottom,stick=true]" } }, { @@ -1395,15 +1299,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=2,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=2,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=2,part=bottom,stick=true]" } }, { @@ -1416,15 +1316,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=3,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=3,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=3,part=bottom,stick=true]" } }, { @@ -1437,14 +1333,43 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=4,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=4,part=bottom,stick=true]", + "Y": "tfc:crop/green_bean[age=4,part=bottom,stick=true]" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "potato", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-1 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():50 - 100 %$(br)$(bold)营养物质$():钾$(br2)马铃薯是一种一格高的农作物。种植马铃薯会产出$(thing)马铃薯$()和$(thing)马铃薯种子$()。", + "title": "马铃薯" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=0]", + "Y": "tfc:farmland/loam", "Z": "tfc:farmland/loam" } }, @@ -1457,15 +1382,15 @@ "Y" ], [ - "Z" + "0" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/green_bean[age=5,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=5,part=bottom,stick=true]", + "X": "tfc:crop/potato[age=1]", + "Y": "tfc:farmland/loam", "Z": "tfc:farmland/loam" } }, @@ -1478,15 +1403,99 @@ "Y" ], [ - "Z" + "0" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/green_bean[age=6,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=6,part=bottom,stick=true]", + "X": "tfc:crop/potato[age=2]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=3]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=4]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=5]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=6]", + "Y": "tfc:farmland/loam", "Z": "tfc:farmland/loam" } }, @@ -1515,9 +1524,9 @@ }, { "type": "patchouli:text", - "anchor": "potato", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():-1 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():50 - 100 %$(br)$(bold)营养物质$():钾$(br2)马铃薯是一种一格高的农作物。种植马铃薯会产出$(thing)马铃薯$()和$(thing)马铃薯种子$()。", - "title": "马铃薯" + "anchor": "pumpkin", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 80 %$(br)$(bold)营养物质$():磷$(br2)南瓜是一种爬行作物。种植在耕地上时,南瓜梗会在成熟后在相邻位置放置最多两颗$(thing)南瓜$()。南瓜梗在入冬前可结果多次。南瓜可以制作成$(l:mechanics/lighting#jack_o_lanterns)南瓜灯$()。", + "title": "南瓜" }, { "type": "tfc:multimultiblock", @@ -1526,10 +1535,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1543,10 +1552,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1560,10 +1569,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1577,10 +1586,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1594,10 +1603,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1611,10 +1620,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1628,10 +1637,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1644,178 +1653,6 @@ } ] }, - { - "type": "patchouli:text", - "anchor": "pumpkin", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 80 %$(br)$(bold)营养物质$():磷$(br2)南瓜是一种爬行作物。种植在耕地上时,南瓜梗会在成熟后在相邻位置放置最多两颗$(thing)南瓜$()。南瓜梗在入冬前可结果多次。南瓜可以制作成$(l:mechanics/lighting#jack_o_lanterns)南瓜灯$()。", - "title": "南瓜" - }, - { - "type": "tfc:multimultiblock", - "text": "", - "multiblocks": [ - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=0]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=1]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=2]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=3]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=4]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=5]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=6]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=7]", - "P": "tfc:pumpkin" - } - } - ] - }, { "type": "patchouli:text", "anchor": "melon", @@ -2001,120 +1838,161 @@ { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=0]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=0]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=1]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=1]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=2]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=2]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=3]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=3]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=4]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=4]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=5]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=5]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=6]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=6]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=7]", + "P": "tfc:melon" } } ] @@ -2640,23 +2518,6 @@ "X": "tfc:crop/squash[age=6]", "Y": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/squash[age=7]", - "Y": "tfc:farmland/loam" - } } ] }, @@ -2680,15 +2541,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=0,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=0,part=bottom]" } }, { @@ -2701,15 +2558,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=1,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=1,part=bottom]" } }, { @@ -2722,15 +2575,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=2,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=2,part=bottom]" } }, { @@ -2743,15 +2592,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=3,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=3,part=bottom]" } }, { @@ -2764,15 +2609,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=4,part=top]", - "Y": "tfc:crop/sugarcane[age=4,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=4,part=bottom]" } }, { @@ -2785,15 +2626,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=5,part=top]", - "Y": "tfc:crop/sugarcane[age=5,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=5,part=bottom]" } }, { @@ -2806,15 +2643,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=6,part=top]", - "Y": "tfc:crop/sugarcane[age=6,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=6,part=bottom]" } }, { @@ -2827,15 +2660,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=7,part=top]", - "Y": "tfc:crop/sugarcane[age=7,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=7,part=bottom]" } } ] @@ -3155,6 +2984,48 @@ "Y": "tfc:crop/jute[age=5,part=bottom]", "Z": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=6,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=6,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=7,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=7,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } } ] }, @@ -3298,11 +3169,13 @@ }, { "type": "patchouli:text", + "anchor": "papyrus", "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():20 - 80 %$(br)$(bold)营养物质$():氮$(br2)向日葵是一种两格高的作物。向日葵种子可以种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)向日葵花盘$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,向日葵同样被视为有效花源。", "title": "向日葵" }, { "type": "tfc:multimultiblock", + "text": "$(thing)野生向日葵$()生长于5°C至40°C的温度区间及100至450毫米的降雨环境。其种子亦可烘烤食用!", "multiblocks": [ { "pattern": [ @@ -3429,33 +3302,12 @@ "Y": "tfg:sunflower[age=5,part=bottom]", "Z": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfg:sunflower[age=6,part=top]", - "Y": "tfg:sunflower[age=6,part=bottom]", - "Z": "tfc:farmland/loam" - } } - ], - "text": "$(thing)野生向日葵$()生长于5°C至40°C的温度区间及100至450毫米的降雨环境。其种子亦可烘烤食用!" + ] }, { "type": "patchouli:text", + "anchor": "sunflower", "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", "title": "油菜" }, @@ -3610,11 +3462,11 @@ } } ], - "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。", - "enable_visualize": false + "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。" }, { "type": "patchouli:text", + "anchor": "canola", "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():氮$(br2)亚麻是一种两格高的农作物。亚麻种子可以种植在耕地上,生长到两格高,并生产用于加工为$(thing)亚麻布$()的$(item)亚麻茎杆$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,亚麻同样被视为有效花源。", "title": "亚麻" }, @@ -3769,7 +3621,167 @@ } } ], - "text": "$(thing)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。" + "text": "$(thing)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "anchor": "flax", + "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -8 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 15 - 65 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)Flax is a two block tall crop. Flax seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Flax Stems$() which can be processed into $(thing)Linen$() or $(thing)Burlap$().$(br)Flax also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", + "title": "Flax" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:flax[age=4,part=top]", + "Y": "tfg:flax[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:flax[age=5,part=top]", + "Y": "tfg:flax[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:flax[age=6,part=top]", + "Y": "tfg:flax[age=6,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ], + "text": "$(thing)Wild Flax$() grows between -5 and 23C, and 175 to 475mm of rainfall." } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json new file mode 100644 index 000000000..5fcfe90ac --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json @@ -0,0 +1,661 @@ +{ + "name": "野生作物", + "category": "tfc:the_world", + "icon": "tfc:textures/gui/book/icons/wild_crops.png", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)野生作物$()可以在世界各地零星找到,它们以小片的形式生长。收获它们可以得到食物和种子,这些种子随后可以自行培育成非野生的形态。$(br2)你可以徒手,或者使用$(thing)小刀$()和其他锋利工具来收获野生作物。破坏时,它们会掉落$(thing)种子$()和一些$(thing)产物$()。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/wheat[mature=true]" + } + }, + "name": "野生小麦", + "text": "例如$(l:mechanics/crops#wheat)小麦$()就是一种野生作物。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "每一种可以培育的$(l:mechanics/crops)作物$()也都能在野外找到。野生作物看起来与人工培育的同类相似,但更隐蔽地生长在草丛中。野生作物仅在六月到十月间成熟。在其他月份,它们会呈现枯死状态,直到下一个夏季。" + }, + { + "type": "tfc:multimultiblock", + "text": "所有不同品种的野生作物", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/barley" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/oat" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/rye" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/maize[part=top]", + "Y": "tfc:wild_crop/maize[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/barley" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/rice[fluid=water]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/beet" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/cabbage" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/carrot" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/garlic" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/green_bean[part=top]", + "Y": "tfc:wild_crop/green_bean[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/potato" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/onion" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/soybean" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/squash" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/sugarcane[part=top]", + "Y": "tfc:wild_crop/sugarcane[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/tomato[part=top]", + "Y": "tfc:wild_crop/tomato[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/jute[part=top]", + "Y": "tfc:wild_crop/jute[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/pumpkin" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/melon" + } + } + ] + }, + { + "type": "patchouli:text", + "text": "野生作物会在接近其可培育气候的区域生成,因此,如果你在寻找特定作物,请到该作物可以生长的气候区寻找。然而,与玩家种植的$(l:mechanics/crops)作物$()不同,野生作物不需要$(l:mechanics/hydration)水分$()。相反,它们的分布取决于该地区的平均$()温度$()和$()降雨量$()。", + "title": "寻找野生作物" + }, + { + "type": "patchouli:text", + "text": "接下来的页面展示了可找到野生作物的生长环境对照表。" + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "作物", + "bold": true + }, + { + "text": "温度(°C)", + "bold": true + }, + { + "text": "降雨量(毫米)", + "bold": true + }, + { + "text": "大麦" + }, + { + "text": " -8 - 26" + }, + { + "text": " 70 - 310" + }, + { + "text": "燕麦" + }, + { + "text": " 3 - 40" + }, + { + "text": "140 - 400" + }, + { + "text": "黑麦" + }, + { + "text": "-11 - 30" + }, + { + "text": "100 - 350" + }, + { + "text": "玉米" + }, + { + "text": " 13 - 40" + }, + { + "text": "300 - 500" + }, + { + "text": "小麦" + }, + { + "text": " -4 - 35" + }, + { + "text": "100 - 400" + }, + { + "text": "水稻" + }, + { + "text": " 15 - 30" + }, + { + "text": "100 - 500" + }, + { + "text": "甜菜" + }, + { + "text": " -5 - 20" + }, + { + "text": " 70 - 300" + }, + { + "text": "卷心菜" + }, + { + "text": "-10 - 27" + }, + { + "text": " 60 - 280" + }, + { + "text": "胡萝卜" + }, + { + "text": " 3 - 30" + }, + { + "text": "100 - 400" + }, + { + "text": "大蒜" + }, + { + "text": "-20 - 18" + }, + { + "text": " 60 - 310" + }, + { + "text": "四季豆" + }, + { + "text": " 2 - 35" + }, + { + "text": "150 - 410" + }, + { + "text": "西瓜" + }, + { + "text": " 5 - 37" + }, + { + "text": "200 - 500" + } + ], + "text": "", + "title": "野生作物需求", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "作物", + "bold": true + }, + { + "text": "温度(°C)", + "bold": true + }, + { + "text": "降雨量(毫米)", + "bold": true + }, + { + "text": "马铃薯" + }, + { + "text": " -1 - 37" + }, + { + "text": "200 - 410" + }, + { + "text": "南瓜" + }, + { + "text": " 0 - 30" + }, + { + "text": "120 - 390" + }, + { + "text": "洋葱" + }, + { + "text": " 0 - 30" + }, + { + "text": "100 - 390" + }, + { + "text": "大豆" + }, + { + "text": " 8 - 30" + }, + { + "text": "160 - 410" + }, + { + "text": "西葫芦" + }, + { + "text": " 5 - 33" + }, + { + "text": " 90 - 390" + }, + { + "text": "甘蔗" + }, + { + "text": " 12 - 38" + }, + { + "text": "160 - 500" + }, + { + "text": "番茄" + }, + { + "text": " 0 - 36" + }, + { + "text": "120 - 390" + }, + { + "text": "黄麻" + }, + { + "text": " 5 - 37" + }, + { + "text": "100 - 410" + }, + { + "text": "纸莎草" + }, + { + "text": " 19 - 37" + }, + { + "text": "310 - 500" + }, + { + "text": "红甜椒" + }, + { + "text": " 16 - 30" + }, + { + "text": "190 - 400" + }, + { + "text": "黄甜椒" + }, + { + "text": " 16 - 30" + }, + { + "text": "190 - 400" + }, + { + "text": "向日葵" + }, + { + "text": " 5 - 40" + }, + { + "text": "100 - 450" + } + ], + "text": "", + "title": "野生作物需求", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "作物", + "bold": true + }, + { + "text": "温度(°C)", + "bold": true + }, + { + "text": "降雨量(毫米)", + "bold": true + }, + { + "text": "油菜" + }, + { + "text": " -5 - 25" + }, + { + "text": " 50 - 350" + }, + { + "text": "亚麻" + }, + { + "text": " -8 - 25" + }, + { + "text": "175 - 475" + } + ], + "text": "", + "title": "野生作物需求", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + } + ], + "read_by_default": true, + "sortnum": 4, + "extra_recipe_mappings": { + "tag:tfc:wild_crops": 0 + } +} \ No newline at end of file From 6c8931300a45932d4f7205e658d1228cbbd5456c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 23:04:44 +0000 Subject: [PATCH 042/157] pakku, fix lv hermetic casing typo --- .../tfg/machines/recipes.bakelite.js | 2 +- pakku-lock.json | 115 +++++++++--------- 2 files changed, 57 insertions(+), 60 deletions(-) diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js index 271f10084..99ebb9b4c 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -111,5 +111,5 @@ function registerTFGBakeliteRecipes(event) { ], { A: '#forge:plates/steel', B: '#forge:storage_blocks/bakelite' - }).tfg('tfg:shaped/lv_hermetic_casing_bakelite') + }).id('tfg:shaped/lv_hermetic_casing_bakelite') } \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index d315e4777..28949f71e 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7652,7 +7652,7 @@ "files": [ { "type": "modrinth", - "file_name": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", "mc_versions": [ "1.20", "1.20.1", @@ -7664,20 +7664,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/a4stvpj6/ImmediatelyFast-Forge-1.5.3+1.20.4.jar", - "id": "a4stvpj6", + "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/OomXW3xp/ImmediatelyFast-Forge-1.5.4+1.20.4.jar", + "id": "OomXW3xp", "parent_id": "5ZwdcRci", "hashes": { - "sha512": "ef57ecc7aa7138c1b06fac6d6b49707d6ef324b6220cd604f567cfdbabd5b9ca0e76a2a4ed354d08029976c773f40c65b7692372a3f70637d7ae446be2b3ace0", - "sha1": "d4695d013e9da7089e2906db3f56bc5398e478e2" + "sha512": "b4a30951b41367cbf6567e38d7ddada4a381b430e2bd2d2b01e195d1a8c434e9811af61b28962c1152bf5c669f3ede2551694df4e1b500b35cdf78178aa9e9f0", + "sha1": "e2e60485a0c3efa72f1948c952b095150e3ba4fc" }, "required_dependencies": [], - "size": 426980, - "date_published": "2025-12-09T20:19:33.206344Z" + "size": 538992, + "date_published": "2026-01-27T21:06:43.866649Z" }, { "type": "curseforge", - "file_name": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", "mc_versions": [ "1.20.2", "1.20.1", @@ -7689,16 +7689,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7313/94/ImmediatelyFast-Forge-1.5.3+1.20.4.jar", - "id": "7313094", + "url": "https://edge.forgecdn.net/files/7537/759/ImmediatelyFast-Forge-1.5.4+1.20.4.jar", + "id": "7537759", "parent_id": "686911", "hashes": { - "sha1": "d4695d013e9da7089e2906db3f56bc5398e478e2", - "md5": "1e5278b2585bab1db76d4b1ab61e82c1" + "sha1": "e2e60485a0c3efa72f1948c952b095150e3ba4fc", + "md5": "8fb21bb328cc322c6d9749eff087509f" }, "required_dependencies": [], - "size": 426980, - "date_published": "2025-12-09T20:19:33.393Z" + "size": 538992, + "date_published": "2026-01-27T21:06:43.760Z" } ] }, @@ -9558,7 +9558,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.23-forge.jar", + "file_name": "moonlight-1.20-2.16.27-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9567,20 +9567,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/XCFIOCRA/moonlight-1.20-2.16.23-forge.jar", - "id": "XCFIOCRA", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/lrpPgviq/moonlight-1.20-2.16.27-forge.jar", + "id": "lrpPgviq", "parent_id": "twkfQtEc", "hashes": { - "sha512": "2baeeafd86a7df76b81d41cf20f6dde2f1ecfed3bfda19f299d6acd59fd52eedda47829b56ac0f4da4647e9f7be50a8ec6f677c421f91c0bb5c8f5f8d0710b49", - "sha1": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87" + "sha512": "30b9a16c4643bbbf643304e14d524f72f7aa2343317ba40e136b88a433d2110dc727b7747003126dc9a220e18b5da69585b24c8b3135844ddeef07e5d6006afa", + "sha1": "0a1b384ec20d63e94c56123b53e264dc2afe5b17" }, "required_dependencies": [], - "size": 1390855, - "date_published": "2026-01-16T18:52:42.739110Z" + "size": 1392973, + "date_published": "2026-01-28T16:55:17.211884Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.23-forge.jar", + "file_name": "moonlight-1.20-2.16.27-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9589,16 +9589,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7469/722/moonlight-1.20-2.16.23-forge.jar", - "id": "7469722", + "url": "https://edge.forgecdn.net/files/7541/536/moonlight-1.20-2.16.27-forge.jar", + "id": "7541536", "parent_id": "499980", "hashes": { - "sha1": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87", - "md5": "a6659ba4650f16630293ce633c3ae4e7" + "sha1": "0a1b384ec20d63e94c56123b53e264dc2afe5b17", + "md5": "7e819bab11a4cf9973d0e24fb52c367b" }, "required_dependencies": [], - "size": 1390855, - "date_published": "2026-01-16T18:52:33.317Z" + "size": 1392973, + "date_published": "2026-01-28T16:55:09.907Z" } ] }, @@ -12911,31 +12911,7 @@ "files": [ { "type": "modrinth", - "file_name": "tfc_gurman-1.3.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/NVqgySaW/tfc_gurman-1.3.0.jar", - "id": "NVqgySaW", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "b82f4b893f85f152a305a9949df8a87337b2e1d75e80a1723c512de5ede3dfa056f17a2186511acf96556e4b5ce1b1c55927d6f97fabf109ac8fdf8ba20f197c", - "sha1": "c55512789128af89d57fe0c9a2f3b4d59a491724" - }, - "required_dependencies": [ - "JaCEZUhg", - "5bKeBHw2" - ], - "size": 542077, - "date_published": "2026-01-02T13:41:35.488377Z" - }, - { - "type": "curseforge", - "file_name": "tfc_gurman-1.3.0.jar", + "file_name": "tfc_gurman-1.4.1.jar", "mc_versions": [ "1.20.1" ], @@ -12943,19 +12919,40 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7408/157/tfc_gurman-1.3.0.jar", - "id": "7408157", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/zhoqj2Wr/tfc_gurman-1.4.1.jar", + "id": "zhoqj2Wr", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "dbfa8e9423dc6bb4fa98a17b99478651b99081e4990f1b9f01bfc5ade6ec35955756f8c856d2bfd3f4865779aaff4a7c68b6bb3b7e93f397afbf407c83c992c3", + "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a" + }, + "required_dependencies": [], + "size": 520225, + "date_published": "2026-01-28T01:09:39.160234Z" + }, + { + "type": "curseforge", + "file_name": "tfc_gurman-1.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7538/795/tfc_gurman-1.4.1.jar", + "id": "7538795", "parent_id": "1363944", "hashes": { - "sha1": "c55512789128af89d57fe0c9a2f3b4d59a491724", - "md5": "fd8ba6a9ec34193beda55f5d34e359f1" + "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a", + "md5": "d5734cf9b727fbb11b8025ceb26fe8aa" }, "required_dependencies": [ "302973", "453394" ], - "size": 542077, - "date_published": "2026-01-02T13:43:05.680Z" + "size": 520225, + "date_published": "2026-01-28T01:08:21.107Z" } ] }, From 34039b2517f3d60642fa0bf5f454eb3758668764 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 23:05:13 +0000 Subject: [PATCH 043/157] langs --- kubejs/assets/ae2/lang/es_es.json | 23 +++ kubejs/assets/beneath/lang/es_es.json | 30 ++++ kubejs/assets/betterend/lang/es_es.json | 123 ++++++++++++++++ .../assets/createstockbridge/lang/en_us.json | 16 +++ .../assets/createstockbridge/lang/ru_ru.json | 16 +++ .../assets/createstockbridge/lang/zh_cn.json | 16 +++ kubejs/assets/gtceu/lang/zh_cn.json | 4 +- kubejs/assets/minecraft/lang/zh_cn.json | 3 +- kubejs/assets/tfg/lang/en_us.json | 5 +- kubejs/assets/tfg/lang/ru_ru.json | 30 ++-- kubejs/assets/tfg/lang/zh_cn.json | 132 +++++++++++------- 11 files changed, 331 insertions(+), 67 deletions(-) create mode 100644 kubejs/assets/ae2/lang/es_es.json create mode 100644 kubejs/assets/beneath/lang/es_es.json create mode 100644 kubejs/assets/betterend/lang/es_es.json create mode 100644 kubejs/assets/createstockbridge/lang/en_us.json create mode 100644 kubejs/assets/createstockbridge/lang/ru_ru.json create mode 100644 kubejs/assets/createstockbridge/lang/zh_cn.json diff --git a/kubejs/assets/ae2/lang/es_es.json b/kubejs/assets/ae2/lang/es_es.json new file mode 100644 index 000000000..7ca1fbcfd --- /dev/null +++ b/kubejs/assets/ae2/lang/es_es.json @@ -0,0 +1,23 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "gui.ae2.inWorldCraftingPresses": "Las prensas de fabricación son obtenidas al romper un cubo misterioso. Los cubos misteriosos se ubican en el centro de meteoritos los cuales pueden ser hallados en La Luna.", + "gui.advanced_ae.AdvPatternProvider": "", + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "Polvo de suevita", + "block.ae2.sky_stone_block": "Suevita en bruto", + "block.ae2.sky_stone_stairs": "Escaleras de suevita", + "block.ae2.sky_stone_wall": "Muro de suevita", + "block.ae2.sky_stone_slab": "Losa de suevita", + "block.ae2.smooth_sky_stone_block": "Suevita lisa", + "block.ae2.smooth_sky_stone_stairs": "Escaleras de suevita lisas", + "block.ae2.smooth_sky_stone_wall": "Muro de suevita liso", + "block.ae2.smooth_sky_stone_slab": "Losa de suevita lisa", + "block.ae2.sky_stone_brick": "Ladrillos de suevita", + "block.ae2.sky_stone_brick_stairs": "Escaleras de ladrillos de suevita", + "block.ae2.sky_stone_brick_wall": "Muro de ladrillos de suevita", + "block.ae2.sky_stone_brick_slab": "Losa de ladrillos de suevita", + "block.ae2.sky_stone_small_brick": "Ladrillos pequeños de suevita", + "block.ae2.sky_stone_small_brick_stairs": "Escaleras de ladrillos pequeños de suevita", + "block.ae2.sky_stone_small_brick_wall": "Muro de ladrillos pequeños de suevita", + "block.ae2.sky_stone_small_brick_slab": "Losa de ladrillos pequeños de suevita" +} \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/es_es.json b/kubejs/assets/beneath/lang/es_es.json new file mode 100644 index 000000000..e87d2d8ce --- /dev/null +++ b/kubejs/assets/beneath/lang/es_es.json @@ -0,0 +1,30 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.beneath.blackstone_pebble": "Piroxenita suelta", + "block.beneath.blackstone_aqueduct": "Acueducto de piroxenita", + "block.beneath.loose_blackstone": "Piroxenita suelta", + "block.beneath.ore.nether_cursecoal": "Mena de antracita de migmatita", + "block.beneath.ore.nether_cursecoal.prospected": "Antracita", + "block.beneath.cursecoal_pile": "Pila de antracita", + "block.beneath.ore.blackstone_sylvite": "Mena de silvina de piroxenita", + "block.beneath.crackrack": "Queratofira en bruto", + "block.beneath.soul_clay": "Arcilla fangosa", + "block.beneath.wood.log.crimson": "Tallo carmesí", + "block.beneath.wood.stripped_log.crimson": "Tallo carmesí pelado", + "block.beneath.wood.wood.crimson": "Hifas carmesí", + "block.beneath.wood.stripped_wood.crimson": "Hifas carmesí peladas", + "block.beneath.wood.fallen_leaves.crimson": "Lamella carmesí caída", + "block.beneath.wood.leaves.crimson": "Lamella carmesí", + "block.beneath.wood.log.warped": "Tallo distorsionado", + "block.beneath.wood.stripped_log.warped": "Tallo distorsionado pelado", + "block.beneath.wood.wood.warped": "Hifas distorsionadas", + "block.beneath.wood.stripped_wood.warped": "Hifas distorsionadas peladas", + "block.beneath.wood.fallen_leaves.warped": "Lamella distorsionada caída", + "block.beneath.wood.leaves.warped": "Lamella distorsionada", + "block.beneath.ancient_altar": "Pedestal de piroxenita", + "item.beneath.cursed_hide": "Piel ignífuga", + "item.beneath.blackstone_brick": "Ladrillo de piroxenita", + "item.beneath.cursecoal": "Antracita", + "item.beneath.crackrack_rock": "Roca de queratofiro", + "item.beneath.loose_blackstone": "Piroxenita suelta" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/es_es.json b/kubejs/assets/betterend/lang/es_es.json new file mode 100644 index 000000000..b20b22cf0 --- /dev/null +++ b/kubejs/assets/betterend/lang/es_es.json @@ -0,0 +1,123 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.betterend.aeridium": "Erídio", + "block.betterend.amaranita_stem": "Tallo de amaranita", + "block.betterend.amber_grass": "Césped de ámbar", + "block.betterend.amber_root_wild": "Brotes de ámbar silvestres", + "block.betterend.amber_root_dead": "Brotes de ámbar secos", + "block.betterend.amber_root": "Brotes de ámbar", + "block.betterend.aurant_polypore": "Poliporo áureo", + "block.betterend.blooming_cooksonia": "Coccionia floreciente", + "block.betterend.blossom_berry": "Bayaflor", + "block.betterend.blossom_berry_wild": "Bayaflor silvestre", + "block.betterend.blossom_berry_dead": "Bayaflor seca", + "block.betterend.bolux_mushroom": "Colonia de hongos Bolux", + "block.betterend.bolux_mushroom_wild": "Colonia de hongos Bolux silvestre", + "block.betterend.bolux_mushroom_dead": "Colonia de hongos Bolux seca", + "block.betterend.brimstone": "Azufrita", + "block.betterend.bushy_grass": "Hierbanueva", + "block.betterend.bulb_moss": "Musgo bulboso", + "block.betterend.cave_bush": "Lamella carmín", + "block.betterend.cave_bush_fallen": "Lamela carmín pequeña", + "block.betterend.cave_grass": "Vermiligma", + "block.betterend.cave_pumpkin": "Bulbo cavernario", + "block.betterend.cave_pumpkin_wild": "Tallo de bulbo cavernario silvestre", + "block.betterend.cave_pumpkin_dead": "Tallo de bulbo cavernario seco", + "block.betterend.cave_pumpkin_plant": "Tallo de bulbo cavernario", + "block.betterend.charnia_cyan": "Carnia cián", + "block.betterend.charnia_green": "Carnia verde", + "block.betterend.charnia_light_blue": "Carnia verdácea", + "block.betterend.charnia_orange": "Carnia naranja", + "block.betterend.charnia_purple": "Carnia morada", + "block.betterend.charnia_red": "Carnia roja", + "block.betterend.chorus_grass": "Hierba coral", + "block.betterend.chorus_lily": "Lirio coral", + "block.betterend.chorus_mushroom": "Colonia de hongos Calmia", + "block.betterend.chorus_mushroom_wild": "Colonia de hongos Calmia silvestre", + "block.betterend.chorus_mushroom_dead": "Colonia de hongos Calmia seca", + "block.betterend.clawfern": "Helecho acerado", + "block.betterend.crystal_grass": "Hierba cristalina", + "block.betterend.end_lily": "Lirio de Deimos", + "block.betterend.end_lily_seed": "Brote de lirio de Deimos", + "block.betterend.end_lotus_flower": "Flor de loto de Fobos", + "block.betterend.end_lotus_leaf": "Hoja de loto de Fobos", + "block.betterend.end_lotus_stem": "Tallo de loto de Fobos", + "block.betterend.end_lotus_seed": "Brote de loto de Fobos", + "block.betterend.filalux_wings": "Alas filalúceas", + "block.betterend.flamaea": "Hongo flamigero", + "block.betterend.flammalix": "Hongo flamante", + "block.betterend.flavolite": "Lucitita en bruto", + "block.betterend.flavolite_bricks": "Ladrillos de lucitita", + "block.betterend.flavolite_pillar": "Pilar de lucitita", + "block.betterend.flavolite_polished": "Lucitita pulida", + "block.betterend.flavolite_tiles": "Baldosas de lucitita", + "block.betterend.fracturn": "Fracturno", + "block.betterend.glacian_hymenophore": "Himenóforo glacial", + "block.betterend.globulagus": "Globulago", + "block.betterend.hydrothermal_vent": "Ventilación térmica", + "block.betterend.hydralux": "Hidralúz", + "block.betterend.hydralux_sapling": "Brote de hidralúz", + "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Alga lacustre", + "block.betterend.lacugrove_bark": "Adaquita en bruto", + "block.betterend.lamellarium": "Lamellaria", + "block.betterend.lanceleaf": "Hoja lanceolada", + "block.betterend.lanceleaf_small": "Daga de hoja lanceolada", + "block.betterend.large_amaranita_mushroom": "Hongo de amaranita grande", + "block.betterend.lucernia_leaves": "Lamella de lucernia", + "block.betterend.lucernia_leaves_fallen": "Lamella de lucernia pequeña", + "block.betterend.lucernia_outer_leaves": "Hifas de lucernia", + "block.betterend.lucernia_bark": "Chapitel siniestro", + "block.betterend.lutebus": "Lutebio", + "block.betterend.magnula": "Magnulea", + "block.betterend.nightshade_moss": "Musgo de Nox", + "block.betterend.orango": "Orango", + "block.betterend.pond_anemone": "Anemona", + "block.betterend.purple_polypore": "Poliporo morado", + "block.betterend.rubinea": "Rubineda", + "block.betterend.ruscus": "Hierba de rusco", + "block.betterend.salteago": "Salteago", + "block.betterend.sandy_jadestone": "Lamprita en bruto", + "block.betterend.sandy_jadestone_bricks": "Ladrillos de lamprita", + "block.betterend.sandy_jadestone_pillar": "Pilar de lamprita", + "block.betterend.sandy_jadestone_polished": "Lamprita pulida", + "block.betterend.sandy_jadestone_tiles": "Baldosa de lamprita", + "block.betterend.selagine": "Selegina", + "block.betterend.shadow_berry": "Bayas de Nox", + "block.betterend.shadow_berry_wild": "Bayas de Nox silvestres", + "block.betterend.shadow_berry_dead": "Bayas de Nox secas", + "block.betterend.small_amaranita_mushroom": "Hongo de Amaranita pequeño", + "block.betterend.sulphur_crystal": "Cristal de azufre", + "block.betterend.sulphuric_rock": "Ignimbrita en bruto", + "block.betterend.sulphuric_rock_bricks": "Ladrillos de ignimbrita", + "block.betterend.sulphuric_rock_pillar": "Pilar de ignimbrita", + "block.betterend.sulphuric_rock_polished": "Ignimbrita pulida", + "block.betterend.sulphuric_rock_tiles": "Baldosa de ignimbrita", + "block.betterend.tube_worm": "Gusano de tubo", + "block.betterend.twisted_moss": "Musgo distorsionado", + "block.betterend.twisted_umbrella_moss": "Musgo paraguas distorsionado", + "block.betterend.twisted_umbrella_moss_tall": "Musgo paraguas distorsionado", + "block.betterend.twisted_vine": "Enredadera distorsionada", + "block.betterend.umbrella_moss": "Musgo paraguas", + "block.betterend.umbrella_moss_tall": "Musgo paraguas", + "block.betterend.vaiolush_fern": "Helecho vaciluceo", + "item.betterend.amber_root_product": "Brotes de ámbar", + "item.betterend.amber_root_seeds": "Semillas de brotes de ámbar", + "item.betterend.blossom_berry_product": "Bayaflor", + "item.betterend.blossom_berry_seeds": "Semillas de bayaflor", + "item.betterend.bolux_mushroom_cooked": "Hongo de Bolux cocinado", + "item.betterend.bolux_mushroom_product": "Hongo de Bolux", + "item.betterend.bolux_mushroom_seeds": "Esporas de hongos de Bolux", + "item.betterend.cave_pumpkin_chunks": "Porciones de bulbo cavernario", + "item.betterend.cave_pumpkin_product": "Bulbo cavernario", + "item.betterend.cave_pumpkin_plant_seeds": "Semillas de bulbo cavernario", + "item.betterend.cave_pumpkin_pie_dough": "Masa de bulbo cavernario", + "item.betterend.cave_pumpkin_pie_raw": "Pastel de bulbo cavernario crudo", + "item.betterend.cave_pumpkin_pie": "Pastel de bulbo cavernario", + "item.betterend.chorus_mushroom_cooked": "Hongo Calmia cocinado", + "item.betterend.chorus_mushroom_product": "Hongo Calmia", + "item.betterend.chorus_mushroom_seeds": "Esporas de hongo Calmia", + "item.betterend.shadow_berry_cooked": "Baya de Nox cocinada", + "item.betterend.shadow_berry_product": "Baya de Nox", + "item.betterend.shadow_berry_seeds": "Semillas de baya de Nox" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/en_us.json b/kubejs/assets/createstockbridge/lang/en_us.json new file mode 100644 index 000000000..3fc0dec6e --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/en_us.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE Stock Bridge", + "gui.createstockbridge.address": "Package Address:", + "gui.stockbridge.remote_items": "Create Stock System Items", + "tooltip.stockbridge.remote_item": "Item in Remote System", + "item.createstockbridge.request_pattern": "Request Pattern", + "createstockbridge.ponder.ae_stockbridge.header": "Connecting the Stock System to AE", + "createstockbridge.ponder.ae_stockbridge.text_1": "AE Stock Bridge links the Create Stock system with AE", + "createstockbridge.ponder.ae_stockbridge.text_2": "Right-Click to bind to the stock network before placing", + "createstockbridge.ponder.ae_stockbridge.text_3": "Set the AE Stock Bridge address to match the Frogport address", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE can request items by 'crafting'", + "createstockbridge.ponder.ae_stockbridge.text_7": "Create can request stored items from AE" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/ru_ru.json b/kubejs/assets/createstockbridge/lang/ru_ru.json new file mode 100644 index 000000000..e6a799fb7 --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/ru_ru.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE Мост-хранилище", + "gui.createstockbridge.address": "Адрес пакета:", + "gui.stockbridge.remote_items": "Предметы системы Create Stock", + "tooltip.stockbridge.remote_item": "Предмет в удалённой системе", + "item.createstockbridge.request_pattern": "Шаблон запроса", + "createstockbridge.ponder.ae_stockbridge.header": "Подключение системы Stock к AE", + "createstockbridge.ponder.ae_stockbridge.text_1": "AE Мост-хранилище связывает систему Create Stock с AE", + "createstockbridge.ponder.ae_stockbridge.text_2": "ПКМ для привязки к сети Stock перед установкой", + "createstockbridge.ponder.ae_stockbridge.text_3": "Настройте адрес AE Моста-хранилища так, чтобы он совпадал с адресом Frogport", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE может запрашивать предметы через 'крафт'", + "createstockbridge.ponder.ae_stockbridge.text_7": "Create может запрашивать хранящиеся предметы из AE" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/zh_cn.json b/kubejs/assets/createstockbridge/lang/zh_cn.json new file mode 100644 index 000000000..b243f3a6f --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/zh_cn.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE仓储桥接器", + "gui.createstockbridge.address": "包裹地址:", + "gui.stockbridge.remote_items": "机械动力仓储系统物品", + "tooltip.stockbridge.remote_item": "位于远端系统的物品", + "item.createstockbridge.request_pattern": "请求样板", + "createstockbridge.ponder.ae_stockbridge.header": "将仓储系统连接至应用能源", + "createstockbridge.ponder.ae_stockbridge.text_1": "AE仓储桥接器可让机械动力的仓储系统与应用能源(AE)相连", + "createstockbridge.ponder.ae_stockbridge.text_2": "放置前需先右击绑定库存网络", + "createstockbridge.ponder.ae_stockbridge.text_3": "为蛙港和AE仓储桥接器设置相同的地址", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE可以通过“自动合成”请求物品", + "createstockbridge.ponder.ae_stockbridge.text_7": "机械动力可以请求AE系统中的物品" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index ede962ce3..61fd14ab4 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -190,10 +190,12 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,月壤和紫金采集器:§r", "tooltip.moldraw.shift_view_molecule": "§7§o按住(Shift)查看分子结构§r", "tooltip.moldraw.shift_view_alloy": "§7§o按住(Shift)查看合金成分§r", + "gtceu.medical_condition.antidote.description.effect_removed": "上述疾病效果持续时间降低%s%%", + "gtceu.medical_condition.antidote.description.effect_removed.all": "消除上述所有疾病效果", "gtceu.greenhouse": "电力温室", "gtceu.steam_bloomery": "蒸汽锻铁炉", "gtceu.food_oven": "电烤箱", - "gtceu.food_processor": "食物处理机", + "gtceu.food_processor": "食品加工机", "gtceu.large_solar_panel": "大型太阳能阵列 MK I", "gtceu.large_solar_panel_tier2": "大型太阳能阵列 MK II", "gtceu.large_solar_panel_tier3": "大型太阳能阵列 MK III", diff --git a/kubejs/assets/minecraft/lang/zh_cn.json b/kubejs/assets/minecraft/lang/zh_cn.json index 9249a8440..f44571d73 100644 --- a/kubejs/assets/minecraft/lang/zh_cn.json +++ b/kubejs/assets/minecraft/lang/zh_cn.json @@ -103,5 +103,6 @@ "item.minecraft.milk_bucket": "牛奶桶", "material.tfg.dripstone": "石灰华", "death.attack.magic": "%1$s 被毒死了", - "death.attack.magic.player": "%1$s在试图逃离%2$s时被毒死了" + "death.attack.magic.player": "%1$s在试图逃离%2$s时被毒死了", + "effect.minecraft.dolphins_grace": "游泳速度" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ff499df4f..103ffd610 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3188,7 +3188,7 @@ "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\n\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.\n\nYou now also have access to a cheaper recipe for ULV and LV Machine Hulls!", "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV.\n\nThe second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", "quests.low_voltage.lv_forming_press.subtitle": "The Forming Press forms...", - "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can do TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the &aPhenolic Circuit Board&r.", + "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can do TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the &aPhenolic Circuit Board&r.\n\nYou'll gain access to a cheaper recipe once you're in &bMV&r.", "quests.low_voltage.lv_laser_engraver.subtitle": "Pew pew!", "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitters for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", "quests.medium_voltage": "&bMV&r - Medium Voltage", @@ -4866,6 +4866,9 @@ "quests.tfg_tips.greenhouse_automation.title": "Greenhouse Automation", "quests.tfg_tips.greenhouse_automation.subtitle": "By your powers combined...", "quests.tfg_tips.greenhouse_automation.desc": "With the combination of Firmalife's &2Picker&r and &2Sweeper&r, Create's Deployers, and GregTech's Item Collectors, it's possible to completely automate your greenhouse!\n\nPickers will pull mature crops from Hydroponic Planters and Quad Planters when they receive a redstone pulse, while Sweepers will harvest mature crops from the other types in a 3x3 area around it while connected to a redstone signal.\n\nThese machines will produce loose items, but an Item Collector will suck those up in a large area around it.\n\nFrom there, pipe the seeds back into Deployers to plant them in the Planters!", + "quests.tfg_tips.food_automation.title": "Food Automation", + "quests.tfg_tips.food_automation.subtitle": "Automate your kitchen.", + "quests.tfg_tips.food_automation.desc": "You can completely automate food starting from &7LV&r using the &3Food Oven&r and &3Food Processor&r.\n\nTo properly make food out of multiple ingredients in a Food Processor, such as sandwiches, you will have to use the &3Robot Arm&r with the \"Keep Exact\" button enabled (or have your Create logstics deliver exact amounts to your machines).\n\nTo prevent spoiled food from filling up your storage you should use the &3Rotten Voiding Cover&r.\n\nThis will later pair nicely with a refrigerator in &bMV&r.", "quests.tfg_tips.beekeeping.title": "Beekeeping", "quests.tfg_tips.beekeeping.subtitle": "They're so small now...", "quests.tfg_tips.beekeeping.desc": "&bBeekeeping&r has a plethora of uses. Not only do bees fertilize nearby crops (assuming you have the correct trait), you will be able to obtain useful resources such as &aWax&r and &aHoney.&r Breed bees to achieve better stats.\nThe &2Field Guide&r offers an extensive explanation of all &bbeekeeping&r mechanics.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 16c1b92fd..95f8aaeec 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -878,22 +878,18 @@ "item.tfg.unfinished_inscriber_accumulation_press": "Незаконченный аккумулирующий пресс", "item.tfg.brick.deepslate": "Мигматитовый кирпич", "item.tfg.brick.dripstone": "Травертиновый кирпич", - "item.tfg.loose.moon_stone": "Камешек анортозита", "item.tfg.brick.moon_stone": "Анортозитовый кирпич", - "item.tfg.loose.moon_deepslate": "Камешек норита", "item.tfg.brick.moon_deepslate": "Норитовый кирпич", - "item.tfg.loose.mars_stone": "Камешек аргиллита", "item.tfg.brick.mars_stone": "Аргиллитовый кирпич", - "item.tfg.loose.venus_stone": "Камушек трахита", "item.tfg.brick.venus_stone": "Трахитовый кирпич", - "item.tfg.loose.mercury_stone": "Камушек коматиита", "item.tfg.brick.mercury_stone": "Коматиитовый кирпич", - "item.tfg.loose.glacio_stone": "Камушек фонолита", "item.tfg.brick.glacio_stone": "Фонолитовый кирпич", - "item.tfg.loose.permafrost": "Permafrost Chunk", "item.tfg.brick.permafrost": "Кирпич вечной мерзлоты", - "item.tfg.loose.red_granite": "Камушек красного гранита", "item.tfg.brick.red_granite": "Кирпич красного гранита", + "item.tfg.brick.sandy_jadestone": "Лампроитовый кирпич", + "item.tfg.brick.flavolite": "Игнимбритовый кирпич", + "item.tfg.brick.scoria": "Кирпич из пепла", + "item.tfg.brick.scorchia": "Кирпич из тёмного пепла", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "Обшивка строительных лесов", "item.tfg.airship_hull": "Корпус дирижабля", @@ -1206,10 +1202,12 @@ "item.tfg.fish_roe": "Икра %s", "item.tfg.rotten_voiding_cover": "Удаление гнили(Улучшение)", "item.tfg.flora_pellets": "Растительные гранулы", + "item.tfg.magnesia_refractory_brick_ingot": "Склеенный смолой магнезиальный огнеупорный кирпич", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканизированный латекс", "material.tfg.fluix": "Флюис", "material.tfg.conifer_pitch": "Хвойная смола", + "material.tfg.pyrogallol": "Пирогаллол", "material.gtceu.lactose": "Лактоза", "material.tfg.gabbro": "Габбро", "material.tfg.shale": "Сланец", @@ -1408,6 +1406,8 @@ "ore_vein.tfg.normal_copper": "Медь и Халькопирит", "ore_vein.tfg.normal_garnet_tin": "Гранатовый и Касситеритовый песок", "ore_vein.tfg.normal_garnierite": "Гарниерит и Кобальтит", + "ore_vein.tfg.normal_garnierite.emi.0": "Подсказка: Габбро всегда находится", + "ore_vein.tfg.normal_garnierite.emi.1": "под Базальтом.", "ore_vein.tfg.normal_gold": "Золото, Лимонит и Гематит", "ore_vein.tfg.normal_graphite": "Графит и Алмаз", "ore_vein.tfg.normal_gypsum": "Гипс и Кальцит", @@ -1423,6 +1423,8 @@ "ore_vein.tfg.normal_olivine": "Бентонит и Оливин", "ore_vein.tfg.normal_quartz": "Кварцы", "ore_vein.tfg.normal_redstone": "Редстоун, Киноварь и Рубин", + "ore_vein.tfg.normal_redstone.emi.0": "Подсказка: Гранит всегда находится", + "ore_vein.tfg.normal_redstone.emi.1": "под Риолитом.", "ore_vein.tfg.normal_salt": "Соли и Бура", "ore_vein.tfg.normal_saltpeter": "Селитра и Электротин", "ore_vein.tfg.normal_silver": "Серебро, Галена и Свинец", @@ -1529,9 +1531,10 @@ "ore_vein.tfg.nether_sulfur": "Сера и Пирит", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", - "ore_vein.tfg.venus_manual_salt": "Salts & Spodumene", - "ore_vein.tfg.venus_manual_salt.emi.0": "Only in Salt Flats.", + "ore_vein.tfg.venus_manual_salt": "Соли и Cподумен", + "ore_vein.tfg.venus_manual_salt.emi.0": "Только в Соляных равнинах.", "ore_vein.tfg.venus_manual_sulfur": "Сера и Пирит", + "ore_vein.tfg.venus_manual_sulfur.emi.0": "Только в Сернистое ущелье.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", "tfg.tooltip.food_trait.refrigerating": "§bОхлаждённое", @@ -1603,7 +1606,6 @@ "trim_material.tfc.salt_tfc": "Соль", "trim_material.tfc.sapphire_tfc": "Сапфир", "trim_material.tfc.sodalite_tfc": "Содалит", - "trim_material.tfc.coke_tfc": "Кокс", "trim_material.tfc.armalcolite_tfc": "Армальколит", "trim_material.tfc.spessartine_tfc": "Спасерит", "trim_material.tfc.topaz_tfc": "Топаз", @@ -1706,6 +1708,7 @@ "tfg.tooltip.hotornot_hot_equipment": "§7Дает защиту от всех §6горячих§7 предметов, жидкостей и труб.§r", "tfg.tooltip.hotornot_cold_equipment": "§7Дает защиту от всех §bхолодных§7 предметов, жидкостей и труб.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Дает защиту от всех §eлегче воздуха§7 газов.§r", + "tfg.tooltip.polycaprolactam": "Также известный как Нейлон", "tfg.tooltip.machine.one_energy_hatch": "Принимает ровно §6один§r энергетический разъём.", "tfg.tooltip.machine.two_energy_hatches": "Принимает до §6двух§r энергетических разъёма.", "tfg.tooltip.machine.subtick": "Эта машина §2Сабтик§r!", @@ -1754,6 +1757,8 @@ "tfg.tooltip.component.nuclear_turbine_2": "Каждый держатель ротора выше §5EV§r §7добавляет§r 10% эффективности и умножает EU/t на 2.", "tfg.tooltip.component.smr_generator_1": "§eПроиводит:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "Предназначен для производства энергии из sCO2 с использованием малого модульного реактора.\n Используйте смазку и Ускоритель для повышения эффективности и управления охлаждением ММР.", + "tfg.tooltip.show_recipes": "Показать рецепты", + "emi.category.tfg.artisan_table": "Ремесленный стол", "tfg.gui.refrigerator.unify_dates.enabled": "Объединение сроков годности: §aВкл.", "tfg.gui.refrigerator.unify_dates.disabled": "Объединение сроков годности: §cВыкл.", "tfg.machine.food_refrigerator_power_usage": "§7Потребляет§r %s EU/t §7во время работы, чтобы сохранить вашу еду.§r", @@ -1972,6 +1977,7 @@ "quests.ae2.interface_automation.title": "Автоматизация интерфейса", "quests.ae2.interface_automation.desc": "Лучший способ пассивно маршрутизировать предметы и жидкости по базе — использовать &bМЭ интерфейс&r. Поскольку интерфейсы не выталкивают своё содержимое, тебе потребуется установить улучшения машин на машину или трубу.\n\nНе забудь включить опцию &eРазрешить ввод со стороны выхода&r на выходной стороне в интерфейсе машины GregTech, чтобы можно было и забирать, и вставлять предметы с одной и той же стороны.\n\nИспользование фильтров на крышках также может быть удобным способом, чтобы несколько машин забирали предметы из одного и того же интерфейса.\n\nЧтобы избежать переполнения входных слотов предметов в машине, тебе нужно использовать улучшение машины \"Роботизированный манипулятор\" в режиме &eПоддерживать ровно&r с фильтром.\n\nС вводом жидкостей такой проблемы нет, так как он автоматически заполняет только один слот.", "quests.ae2.crafting_accelerator.desc": "Просто воспользуйся внутриигровым руководством — оно объяснит всё гораздо лучше, чем мы когда-либо смогли бы в рамках задания.\n\nНе спеши и внимательно прочитай его — это отличный источник информации!", + "quests.ae2.export_bus.title": "МЭ шина экспорта", "quests.ae2.export_bus.desc": "&dМЭ шина экспорта&r — это мощный инструмент для вывода предметов или жидкостей из твоей &dМЭ сети&r.\nКак только у тебя появится возможность их крафтить, особенно обрати внимание на варианты из &eExtendedAE&r — они могут сильно помочь с автоматизацией.\n\n&cВажно&r: они оказывают значительно большее &4влияние на TPS&r, чем, например, MЭ интерфейсы, поэтому использовать их стоит умеренно.", "quests.ae2.export_bus.task": "Любая шина экспорта", "quests.ae2.import_bus.desc": "&dМЭ шина импорта&r — это один из способов ввода предметов и жидкостей в твою &dМЭ сеть&r. Впрочем, для того же результата ты можешь просто отправлять предметы и жидкости в интерфейс или поставщик шаблонов, поэтому шины импорта используются более нишево.\n\n&cВажно&r: они оказывают значительно большее &4влияние на TPS&r, чем, например, МЭ-интерфейсы, поэтому использовать их стоит умеренно.", @@ -2000,6 +2006,8 @@ "quests.ae2.universal_circuits.title": "Универсальные схемы", "quests.ae2.universal_circuits.subtitle": "Так вот для чего они!", "quests.ae2.universal_circuits.desc": "Вы когда-нибудь задумывались, для чего нужны Универсальные схемы? Помимо красивых значков заданий, они в основном используются в AE2!\n\nAE2 плохо обрабатывает теги предметов в шаблонах, поэтому универсальные схемы разработаны для использования в любых шаблонах, требующих схем. Таким образом, всякий раз, когда вы открываете новый тип схемы, вам нужно добавить только один шаблон, чтобы преобразовать новую схему в универсальную, вместо обновления &oвсехl& ваших старых шаблонов!", + "quests.ae2.stock_bridge.title": "AE Мост-хранилище", + "quests.ae2.stock_bridge.desc": "Если вы вложили много сил в логистическую сеть Create, мысль о необходимости её снести и заменить на AE2 может привести в отчаяние. &bМост-хранилище&r служит связующим звеном между вашей ME-сетью и сетью Create. Ознакомьтесь с его Ponder-сценарием, чтобы узнать, как его настроить.\n\nМы всё же рекомендуем со временем перенести старые системы на AE2 — в основном из-за значительно меньшей нагрузки на производительность игры.", "quests.ae2.iv.title": "AE2 уровня IV", "quests.ae2.iv.desc": "Вся эта ветка становится полностью доступной, как только ты достигнешь &1IV&r.", "quests.ae2.accumulation_press.desc": "Чтобы получить этот &eНовый пресс для вырезателя&r, тебе придётся немного инвестировать.\n\nВо-первых, нужно улучшить свой имплозионный компрессор, установив в него &5два энергетических люка EV&r.\n\nЗатем обзавестись новым IV лазерным гравировщиком, если у тебя его ещё нет.\n\nИ наконец, подготовь много промышленного динамита — для этого процесса подходит &cтолько он&r.\n\nПланируй всё заранее, так как этот этап довольно требовательный!", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index c40e74d68..291c2fe7e 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -581,14 +581,14 @@ "block.tfg.zpm_aqueous_accumulator": "§c精英蓄水器 III§r", "block.tfg.uv_aqueous_accumulator": "§3终极蓄水器§r", "block.tfg.electric_greenhouse": "电力温室", - "block.tfg.lv_food_processor": "基础食物处理机", - "block.tfg.mv_food_processor": "§b高级食物处理机§r", - "block.tfg.hv_food_processor": "§6高级食物处理机 II§r", - "block.tfg.ev_food_processor": "§5高级食物处理机 III§r", - "block.tfg.iv_food_processor": "§9精英食物处理机§r", - "block.tfg.luv_food_processor": "§d精英食物处理机 II§r", - "block.tfg.zpm_food_processor": "§c精英食物处理机 III§r", - "block.tfg.uv_food_processor": "§3终极食物处理机§r", + "block.tfg.lv_food_processor": "基础食品加工机", + "block.tfg.mv_food_processor": "§b高级食品加工机§r", + "block.tfg.hv_food_processor": "§6高级食品加工机 II§r", + "block.tfg.ev_food_processor": "§5高级食品加工机 III§r", + "block.tfg.iv_food_processor": "§9精英食品加工机§r", + "block.tfg.luv_food_processor": "§d精英食品加工机 II§r", + "block.tfg.zpm_food_processor": "§c精英食品加工机 III§r", + "block.tfg.uv_food_processor": "§3终极食品加工机§r", "block.tfg.lv_food_oven": "基础电烤箱", "block.tfg.mv_food_oven": "§b进阶电烤箱§r", "block.tfg.hv_food_oven": "§6进阶电烤箱 II§r", @@ -1296,6 +1296,7 @@ "item.tfg.fish_roe": "%s鱼卵", "item.tfg.rotten_voiding_cover": "腐烂物销毁覆盖板", "item.tfg.flora_pellets": "植物颗粒", + "item.tfg.magnesia_refractory_brick_ingot": "树脂结合镁质耐火砖", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1471,6 +1472,13 @@ "material.tfg.chloroplasts": "叶绿体", "material.tfg.nitrate_rich_water": "富硝酸水", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "富硝酸半重氨水", + "material.tfg.weak_red_steel": "脆红钢", + "material.tfg.weak_blue_steel": "脆蓝钢", + "material.tfg.refractory_clay": "耐火黏土", + "material.tfg.bakelite": "电木", + "material.tfg.phenolic_resin": "酚醛树脂", + "material.tfg.magnesium_hydroxide": "氢氧化镁", + "material.tfg.magnesia_refractory_brick": "树脂结合镁质耐火砖", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1785,6 +1793,7 @@ "tfg.tooltip.hotornot_hot_equipment": "§7提供对所有§6高温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_cold_equipment": "§7提供对所有§b低温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7的气体的防护。§r", + "tfg.tooltip.polycaprolactam": "也称为尼龙", "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -2231,7 +2240,7 @@ "quests.create_logistics.fabricate_rose_quartz.desc": "由于高级物流对于进程推进并非超级必要,你也可以考虑将获取透镜的任务留到&b中压(MV)&r阶段,那时你将能够在家完成。&d玫瑰石英&r可以从其粉尘形式(由8份红石和1份下界石英混合而成)通过一台&b高级&3高压灭菌器&r结晶出来,用&b冰水&r代替通常的(蒸馏)水来模拟自然条件。类似地,在&b中压&r等级,&d玫瑰石英透镜&r本身可以从&d玫瑰石英板&r切割而来,尽管它必须从完整的玫瑰石英块中获取(作为宝石板,它必须在&3切割机&r中加工)。", "quests.create_logistics.rose_quartz_lens.title": "玫瑰色眼镜", "quests.create_logistics.rose_quartz_lens.subtitle": "你只需要一个(YONO)", - "quests.create_logistics.rose_quartz_lens.desc": "无论你以何种方式获得了所需材料,你都需要一台&3车床&r来实际制造透镜。一台&7基础&3车床&r足以用一颗&d精美玫瑰石英&r宝石制作透镜,但如果你想仅用一块板来制作透镜,你将需要更好的设备,即一台&b高级&3车床&r。\n\n一旦制作完成,该透镜可以用于在&7基础&3激光刻录机&r中刻录&d双重红合金板&r来制造我们需要的&d发射器&r单元,并且在此过程中不会被消耗。", + "quests.create_logistics.rose_quartz_lens.desc": "无论你以何种方式获得了所需材料,你都需要一台&3车床&r来实际制造透镜。一台&7基础&3车床&r足以用一颗&d精美玫瑰石英&r宝石制作透镜,但如果你想仅用一块板来制作透镜,你将需要更好的设备,即一台&b高级&3车床&r。\n\n一旦制作完成,该透镜可以用于在&7基础&3激光刻录机&r中刻录&d双层红色合金板&r来制造你所需要的&d发射器&r单元,并且在此过程中不会被消耗。", "quests.create_logistics.stock_link.title": "仓储链接站", "quests.create_logistics.stock_link.subtitle": "家里有存储总线了", "quests.create_logistics.stock_link.desc": "你可以制造的第一个&2高级物流&r机器是&3仓储链接站&r,它可用于创建&d物流网络&r。当放置到&3打包机&r的任意一面时,仓储链接站将&a使打包机所连接的库存对网络可见&r!就其本身而言,仓储链接站并不是超级有用,但它是所有其他即将到来的机器的核心组件……\n\n记得先手持仓储链接站右键点击已放置的仓储链接站,将两者绑定以共享同一网络。要取消此操作,你可以简单地单独合成仓储链接站来清除其调谐。", @@ -2974,10 +2983,10 @@ "quests.low_voltage.lv_machine_hull.title": "你的第二个机器外壳", "quests.low_voltage.lv_machine_hull.subtitle": "是时候接触电力了", "quests.low_voltage.lv_machine_hull.desc.1": "你离你的&6第一台LV机器&r和电气时代的开端非常近了!如果你还没有制作任何&4红钢&r,现在你必须做了,但作为回报,你将获得&6新的方法&r来改进你的生产。\n\n这就是格雷科技的理念:&6你进步得越远,新的配方就越好&r。\n\n开始时尝试制作至少3或4个外壳。", - "quests.low_voltage.lv_machine_hull.desc.2": "对于某些玩家来说,达到一个新的等级是以制作第一个&6电路&r为标志,对于其他人则是&6机器外壳&r或&6能源舱&r。你可以使用任何最适合你的方式,但为了组织有序,这些任务将使用机器外壳作为标志。\n\n不知道从何开始?我们建议寻找那些能让其他所有东西都变得更便宜(事半功倍)的机器,从你最讨厌的事情开始。", - "quests.low_voltage.lv_machine_casing.title": "用于机械动力的LV机械方块?", + "quests.low_voltage.lv_machine_hull.desc.2": "对于某些玩家来说,达到一个新的等级是以制作第一个&6电路&r为标志,对于其他人则是&6机器外壳&r或&6能源舱&r。你可以使用任何最适合你的方式,但为了组织有序,这些任务将使用机器外壳作为标志。\n\n快速提醒:除非机器有特别说明,否则当机器&c任何相邻的方块暴露在雨或水中时&r,机器会发生爆炸。", + "quests.low_voltage.lv_machine_casing.title": "你的下一代机器", "quests.low_voltage.lv_machine_casing.subtitle": "更多选择!", - "quests.low_voltage.lv_machine_casing.desc": "为降低入门LV阶段的难度,&5TFG&r允许你使用&6机械动力&r的机器替代部分&6格雷科技&r机器。\n\n我们在&6上一章节&r已介绍过这些内容,只需记住:当存在格雷科技机器的替代方案时,你都能在任务中自行选择。", + "quests.low_voltage.lv_machine_casing.desc": "既然已通上电,现在就该好好利用它了!我们建议你先制造一些机器,它们能让后续制造更多机器变得更轻松、更廉价。\n\n为降低入门LV阶段的难度,&5TFG&r允许你使用&6机械动力&r的机器替代部分&6格雷科技&r机器。\n\n我们在&6上一章节&r已介绍过这些内容,只需记住:当存在格雷科技机器的替代方案时,你都能在任务中自行选择。", "quests.low_voltage.lv_motor.title": "众多马达中的第一个", "quests.low_voltage.lv_motor.subtitle": "低压在召唤……", "quests.low_voltage.lv_motor.desc": "记住,如果配方让你不知所措,&2EMI是你的朋友&r。你可以点击任何配方右下角带有四个堆叠方块的按钮,EMI会显示所有合成成分的树状图,你甚至可以让它将“购物清单”添加到你的收藏中!\n\n言归正传,通过制作6个&aLV电动马达&r来为&7LV&r阶段做好准备!这可能看起来很多,但这是进入&7LV&r阶段好东西的&6最低要求&r。", @@ -2987,25 +2996,24 @@ "quests.low_voltage.lv_age_progression.task": "我……现在可能有点方向感了", "quests.low_voltage.lost.title": "迷路了?", "quests.low_voltage.lost.subtitle": "这一切让人应接不暇", - "quests.low_voltage.lost.desc.1": "进入&7LV&r阶段会解锁大量选项,很容易让人不知所措。以下是我们推荐的发展路线:\n\n1)建立一个稳定的电力来源。查看右下角的任务,有好几种方案可选,都可行。别吝啬,多建几台发电机!\n\n务必&e仔细阅读格雷科技能源任务章节&r,以便充分理解EU(能量单位)、电压、电流和线损是如何运作的。", - "quests.low_voltage.lost.desc.2": "2)专注于建造那些能让后续机器造价更便宜的机器。\n\n两极磁化机是一台超级便宜的机器,几乎可以免费磁化金属棒。如果你还没造蒸汽时代对应的机器,那就搭建起卷板机、线材轧机、车床和切割机。这些任务都在左上角。\n\n之后,重点利用化学反应釜和流体固化机(左侧)来降低橡胶成本,并用组装机(下方)来降低电子元件成本。\n\n当所有东西的成本都降到最低后,确保批量合成组件以节省大量时间。", - "quests.low_voltage.lost.desc.3": "3)建造一台装罐机并制作一些电池(右上角)。电池箱将对你的工厂扩张大有裨益,而探矿仪绝对是改变游戏体验的神器。\n\n4)&7LV&r阶段有两个主要终极目标:&a电路组装机&r和&a电力高炉&r。现在你应该准备好挑战它们了。", + "quests.low_voltage.lost.desc.1": "进入&7LV&r阶段会解锁大量选项,很容易让人不知所措。以下是我们推荐的发展路线:\n\n1)建立一个稳定的电力来源。查看下方的任务,有好几种方案可选,都可行。别吝啬,多建几台发电机!\n\n务必&e仔细阅读格雷科技能源任务章节&r,以便充分理解EU(能量单位)、电压、电流和线损是如何运作的。", + "quests.low_voltage.lost.desc.2": "2)专注于建造那些能让后续机器造价更便宜的机器。\n\n两极磁化机是一台超级便宜的机器,几乎可以免费磁化金属棒。如果你还没造蒸汽时代对应的机器,那就搭建起卷板机、线材轧机、车床和切割机。\n\n之后,重点利用化学反应釜和流体固化机(左侧)来降低橡胶成本,并用组装机(下方)来降低电子元件成本。\n\n当所有东西的成本都降到最低后,确保批量合成组件以节省大量时间。", + "quests.low_voltage.lost.desc.3": "3)建造一台装罐机并制作一些电池。电池箱将对你的工厂扩张大有裨益,而探矿仪绝对是改变游戏体验的神器。\n\n4)&7LV&r阶段有两个主要终极目标:&a电路组装机&r和&a电力高炉&r。现在你应该准备好挑战它们了。", "quests.low_voltage.lost.task": "太棒了,我逐渐理解一切!", "quests.low_voltage.lv_steam_turbine.title": "蒸汽轮机", "quests.low_voltage.lv_steam_turbine.subtitle": "你必须建造更多的涡轮机", - "quests.low_voltage.lv_steam_turbine.desc.1": "&3蒸汽轮机&r是你在&7LV&r阶段实际上可以使用的为数不多的发电机之一。&2稍后,你将解锁更有趣的能源选项&r,例如天然气或汽油。\n\n当提供蒸汽时,涡轮机将以&d2mB=1EU&r的比例输出电力。", - "quests.low_voltage.lv_steam_turbine.desc.2": "如果你使用单个&3蒸汽轮机&r,只需要&a1x锡电缆&r。但若升级到&32台蒸汽涡轮&r,则应使用&a2x锡电缆&r——否则它们可能会&c烧毁&r。\n\n这涉及&9电流&r机制……不过具体原理将留待后续说明,现在你只需专注享受游戏。别担心!", + "quests.low_voltage.lv_steam_turbine.desc": "&3蒸汽轮机&r是大多数玩家的第一台&7LV&r发电机,因为你已经建造出蒸汽锅炉实现了蒸汽的量产。\n\n当输入蒸汽时,蒸汽轮机将以&d2mB=1EU&r的比例输出电力。\n\n蒸汽的一个缺点在于运输,由于其能量密度较低,你需要使用大型或巨型管道来进行输送。\n\n一旦单方块锅炉的产能无法满足你的需求,你也可以考虑升级到大型青铜锅炉。", "quests.low_voltage.lbb.title": "大型青铜锅炉", "quests.low_voltage.lbb.subtitle": "轰!轰!轰!轰!", - "quests.low_voltage.lbb.desc.1": "&3大型锅炉&r是小型锅炉的&6可选的&r大号版本,可使用固体或液体燃料驱动。\n\n若想采用蒸汽发电方案,这是替代机械动力蒸汽引擎的选项。后续能源方案将在&bMV&r章节列出。\n\n请确保其供水永不中断——就像操作小型锅炉时那样,否则它会&c爆炸&r!", + "quests.low_voltage.lbb.desc.1": "&3大型锅炉&r是小型锅炉的&6可选的&r大号版本,可使用固体或液体燃料驱动。\n\n若想采用蒸汽发电方案,这是替代机械动力蒸汽引擎的选项。\n\n请确保其供水永不中断——就像操作小型锅炉时那样,否则它会&c爆炸&r!", "quests.low_voltage.lbb.desc.2": "一旦完全预热,&3大型青铜锅炉&r可产出800mB/t的蒸汽,经转换可得&d400EU/t&r能量,相当于12.5台基础蒸汽轮机的产能。如此(相对)巨大的能量输出需要消耗&l大量&r可燃燃料。&5考虑到这点&r,其GUI允许你将锅炉&9调节&r至25%%功率,即200mB/t,对应&d100EU/t&r的电力,略高于3台基础蒸汽轮机的输出。\n\n我们建议等到你准备运行为电力高炉供电时再建造此设备,除非你有很多的蒸汽多方块机器。", - "quests.low_voltage.lbb.desc.3": "在TerraFirmaGreg整合包中,你有多种燃料选择方案。你可以使用软管滑轮从深层地下湖抽取岩浆,或建立树场配合焦炉生产木炭与杂酚油。此外,地表存在大型煤炭矿脉,可通过自动化采矿设备开采,并转化为焦炭以及远超木炭产出的杂酚油。\n\n若选择树场方案,需配备三座焦炉才能维持大型青铜锅炉全功率运行。", + "quests.low_voltage.lbb.desc.3": "在TerraFirmaGreg整合包中,你有多种燃料选择方案。你可以使用软管滑轮从深层地下湖抽取岩浆(不,无限岩浆是不会存在的),或建立树场配合焦炉生产木炭与杂酚油。此外,地表存在大型煤炭矿脉,可通过自动化采矿设备开采,并转化为焦炭以及远超木炭产出的杂酚油。\n\n若选择树场方案,需配备三座焦炉才能维持大型青铜锅炉全功率运行。", "quests.low_voltage.lv_polariser.title": "基础两极磁化机", "quests.low_voltage.lv_polariser.subtitle": "两极磁化机用于磁化!", "quests.low_voltage.lv_polariser.desc": "在&7LV&r阶段,这可以说是最经济的机器之一,能用于制造&6无需红石的磁化金属杆&r来生产电机。当你开始批量制造电机时,这台机器能为你节省大量红石。", "quests.low_voltage.link_chapter.title": "给我解释一下能量", "quests.low_voltage.link_chapter.subtitle": "有一整章关于能量的内容", - "quests.low_voltage.link_chapter.desc": "点击此处查看章节", + "quests.low_voltage.link_chapter.desc": "这看起来可能需要阅读很多内容,但如果你想避免意外并充分利用你的发电设备,理解这些内容是很重要的。\n\n格雷科技的能量系统(EU,能量单位)与几乎所有其他模组使用的 FE(Forge能量)系统的工作方式不同。\n\n在&7LV&r阶段有四种发电方式,而且都是可行的选择。如果你是格雷科技的新手,蒸汽发电是最简单的,但随着你进入更高的等级,它的效率会迅速下降。气体燃料的生产更为复杂,但对应的发电机成本最低。内燃机则介于两者之间。\n\n这里是格雷科技能源章节的链接", "quests.low_voltage.link_chapter.task": "我读过了", "quests.low_voltage.lv_combuston_gen.title": "内燃发电机", "quests.low_voltage.lv_combuston_gen.subtitle": "它会轰隆作响并产生能量", @@ -3021,7 +3029,7 @@ "quests.low_voltage.lv_seeds.desc": "若遇到这类作物,建议采集并建立农场种植。\n\n它们将成为&a种子油&r的最佳来源,该液体可用于生产&e生物柴油&r。油菜籽耐寒性较强,而向日葵更适宜温暖环境。若不愿花费过多时间耕作,也可在电力温室中培育,仅需消耗少量电力即可实现自动化种植。", "quests.low_voltage.lv_seeds.task": "油菜或向日葵", "quests.low_voltage.lv_gas_turbine.title": "燃气轮机", - "quests.low_voltage.lv_gas_turbine.subtitle": "它需要更多电路,但更少材料", + "quests.low_voltage.lv_gas_turbine.subtitle": "面向石化爱好者", "quests.low_voltage.lv_gas_turbine.desc": "借助&7合成气&r,你现在拥有了在&7LV&r阶段使用&c燃气轮机&r的可行方案。它们与其他&6发电机&r工作原理完全相同,但应比&6内燃机&r略微节省材料。", "quests.low_voltage.lv_gas_syngas.title": "合成气", "quests.low_voltage.lv_gas_syngas.subtitle": "并非木煤气", @@ -3033,15 +3041,6 @@ "quests.low_voltage.lv_turbo_charge.subtitle": "可更快为电动工具充电", "quests.low_voltage.lv_turbo_charge.desc": "&o本任务主题为可选内容,但可能仍会引发你的兴趣。我们出于内容完整性的考虑将其放置于此。&r\n\n&3闪聚充电箱&r可为&6RF与EU&r设备(例如&9钻头&r)提供极速充电。\n\n该设备对每件充电物品最高支持4安培电流,使其充电速度达到&3电池箱&r的&6两倍&r,但不具备放电功能。\n\n&e任何&r类型的充电箱均可完成本任务。", "quests.low_voltage.lv_turbo_charge.task": "任何闪聚充电箱都行", - "quests.low_voltage.lv_fisher.title": "捕鱼机", - "quests.low_voltage.lv_fisher.subtitle": "完全兼容群峦传说!", - "quests.low_voltage.lv_fisher.desc": "&o本任务主题为可选内容,但可能仍会引发你的兴趣。我们出于内容完整性的考虑将其放置于此。&r\n\n&3捕鱼机&r可从水中捕捞鱼类,需在其正下方配备5x5水域范围方可运作。其使用与普通钓鱼相同的战利品表,每次操作消耗1根线以及与其等级对应的电力(&7LV&r阶段为32EU,等等)。基本机制便是如此。\n\n从鱼类中可提取&e鱼油&r,该材料可用于制作&6生物柴油&r。", - "quests.low_voltage.lv_fisher.task": "任何捕鱼机都行", - "quests.low_voltage.lv_rock_crusher.title": "碎岩机", - "quests.low_voltage.lv_rock_crusher.subtitle": "圆石是爱,圆石是生命", - "quests.low_voltage.lv_rock_crusher.desc.1": "&o本任务主题为可选内容,但可能仍会引发你的兴趣。我们出于内容完整性的考虑将其放置于此。&r\n\n&3碎岩机&r实质上是个箱式刷石机。只需提供任意天然岩石或圆石方块,它就能持续复制该方块。若想快速获取大量砖块材料,这将是非常便捷的选择!\n\n&e任何&r等级的碎岩机均可完成本任务。", - "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3背景知识:&r&o黑曜石需要红石才能生成的设定,源自一个Minecraft的远古漏洞&7MC-4239&f。当年在圆石生成器的岩浆水流接触处放置红石,便会生成黑曜石。该漏洞已在Minecraft 1.8的14w25b快照中修复,截至撰写本文时已是&o距今9年前&r的往事了!", - "quests.low_voltage.lv_rock_crusher.task": "任何碎岩机都行", "quests.low_voltage.lv_aqueous_accumulator.title": "蓄水器", "quests.low_voltage.lv_aqueous_accumulator.subtitle": "热力基本(Thermal Foundation)模组在召唤", "quests.low_voltage.lv_aqueous_accumulator.desc": "&3蓄水器&r本质上相当于流体版的碎岩机。只需将机器放置在两个对应流体的源方块旁,配置好电路即可持续生成该流体!其功能实质上与动力泵相同,但使用电力驱动而非机械动力,因此能更便捷地融入你的工厂体系。额外优势在于,HV等级的该设备还能无限生成岩浆!\n\n你可以将源方块置于含水状态以防止冬季冻结,机器仍可正常运作。", @@ -3062,13 +3061,13 @@ "quests.low_voltage.lv_lathe.task": "以下任何一个", "quests.low_voltage.universal_cell.title": "更好的桶", "quests.low_voltage.universal_cell.subtitle": "内部结构一目了然,不像那些桶完全封闭得严严实实……", - "quests.low_voltage.universal_cell.desc.1": "单元是流体存储的另一种形式。所有储存同类等量流体的单元均可&6堆叠&r,并可通过&3装罐机&r实现自动灌装。\n\n每个流体单元可容纳&d一桶&r流体。\n\n还没被说服吗?与桶和大木桶不同,单元能&a安全地容纳&r其中的内容,防止你被烫伤、冻伤或飘起来。", + "quests.low_voltage.universal_cell.desc.1": "单元是流体存储的另一种形式。所有储存同类等量流体的单元均可&6堆叠&r,并可通过&3装罐机&r实现自动灌装。\n\n每个基础的流体单元可容纳&d1桶&r流体,而钢单元可以容纳8桶。\n\n还没被说服吗?与桶和大木桶不同,单元能&a安全地容纳&r其中的内容,防止你被烫伤、冻伤或飘起来。同时它们也非常便宜!", "quests.low_voltage.universal_cell.desc.2": "通用单元最多可容纳&d一桶&r流体,同时支持存储&9微量&r流体。若需暂存残余流体而不想专门制作整只桶,这类容器尤为理想。\n\n采用高阶材料制造的单元能承载更多流体,不过届时&9桶&r和&9超级缸&r将提供更大容量。\n\n与桶类似,将单元放入合成栏即可清空其内容物。", "quests.low_voltage.universal_cell.task": "任意单元", "quests.low_voltage.machine_auto_output_behaviour.title": "机器自动输出行为", "quests.low_voltage.machine_auto_output_behaviour.subtitle": "我们来了解相关知识。", "quests.low_voltage.machine_auto_output_behaviour.desc.1": "所有机器通常包含一个&7正面&r与一个&9输出面&r。\n\n&7正面&r应该很明显。\n&9输出面&r则是带有点状或孔洞标记的面,默认位于机器放置时的背面。\n\n机器可通过输出面实现&a自动输出&r功能。需在图形界面中点击对应按钮启用该功能,流体与物品的自动输出需分别设置。通过&d过滤卡&r和&d覆盖板&r可对自动输出进行精细化控制,具体机制请参阅本章节中的&d覆盖板行为&r任务。。", - "quests.low_voltage.machine_auto_output_behaviour.desc.2": "使用&5扳手&r右键点击机器可更改输出面,按住潜行右键点击则能调整正面方向。需注意:机器的正面&c不可&r同时设置为输出面!\n\n默认情况下,物品与流体无法通过输出面输入,但使用&5螺丝刀&r可切换此功能。可直接右键点击输出面,或按住潜行右键点击界面中对应输出面的网格栏位进行调整。\n\n存在部分特殊功能机器(如&3泵&r、&3采矿机&r、&3捕鱼机&r、&3物品收集器&r等)不执行合成配方。这类机器将在其&7正面&r进行输出(该面仍以点状标记标识)。", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "使用&5扳手&r右键点击机器可更改输出面,按住潜行右键点击则能调整正面方向。需注意:机器的正面&c不可&r同时设置为输出面!\n\n默认情况下,物品与流体无法通过输出面输入,但使用&5螺丝刀&r可切换此功能。可直接右键点击输出面,或按住潜行右键点击界面中对应输出面的网格栏位进行调整。", "quests.low_voltage.machine_auto_output_behaviour.task": "嗯,真有趣!", "quests.low_voltage.programmed_circuits.title": "编程电路", "quests.low_voltage.programmed_circuits.subtitle": "不想花费你的电路来选择配方?", @@ -3115,18 +3114,20 @@ "quests.low_voltage.lv_amp_explanation.subtitle": "《电流机制入门指南》", "quests.low_voltage.lv_amp_explanation.desc": "本任务线将简要讲解&9格雷科技电流机制&r,至于&d电压&r机制则待你抵达&bMV&r阶段后详解。\n\n&6&l核心要点:&r为确保安全,请使电缆的电流承载上限与发电设备的输出电流总量相匹配。\n\n仍有疑惑?请查阅&c格雷科技能源&r章节获取完整的电力系统详解!", "quests.low_voltage.lv_ore_prospector.title": "这是黑客行为", - "quests.low_voltage.lv_ore_prospector.subtitle": "勘探者的未来", + "quests.low_voltage.lv_ore_prospector.subtitle": "新一代探矿仪", "quests.low_voltage.lv_ore_prospector.desc": "探矿仪是一个能助你快速定位矿脉的神奇工具。\n\n它的GUI支持交互操作,右键点击即可扫描矿石并实时显示在动态地图上。\n\n&l&3背景知识:&r&o想当年便携式探矿仪曾锁定在&dLuV等级&f才能使用,现在的孩子们可太轻松了。", + "quests.low_voltage.night_vision_goggles.subtitle": "使玩家不再迷失于黑暗中!", + "quests.low_voltage.night_vision_goggles.desc": "为眼镜充好电并戴在脸上,只要电池还有电,你就能获得永久性的夜视效果!你可以通过快捷键切换此效果,默认设置为&aO&r键。", "quests.low_voltage.lv_sprayer.title": "喷漆罐", "quests.low_voltage.lv_sprayer.subtitle": "服务器标签争夺战开始!", - "quests.low_voltage.lv_sprayer.desc": "可惜这只是一个&l空的&r喷漆罐,你必须在使用前填充化学染料。\n\n&a喷漆罐&r不提供任何涉及机器的功能,但能带来相当&b出色的视觉效果与实用性&r!\n\n几乎所有格雷科技方块实体(机器、管道、电缆等)均可被&6喷涂&r成16种颜色中的任意一种。无论是用于制作精美截图,还是在多人基地中区分不同设备布局都极为便利,同时也有助于分辨各类管道与线缆。\n\n将&a喷罐&r持于副手时,你放置的任何方块都会自动喷涂上颜色。", + "quests.low_voltage.lv_sprayer.desc": "可惜这只是一个&l空的&r喷漆罐,你必须在使用前填充染料。\n\n&a喷漆罐&r不提供任何涉及机器的功能,但能带来相当&b出色的视觉效果与实用性&r!\n\n几乎所有格雷科技方块实体(机器、管道、电缆等)均可被&6喷涂&r成16种颜色中的任意一种。无论是用于制作精美截图,还是在多人基地中区分不同设备布局都极为便利,同时也有助于分辨各类管道与线缆。\n\n将&a喷罐&r持于副手时,你放置的任何方块都会自动喷涂上颜色。", "quests.low_voltage.other_machines.title": "等等,还有更多!", "quests.low_voltage.other_machines.subtitle": "你逃不出格雷的掌心……", "quests.low_voltage.other_machines.desc": "我们暂不展开&d常规矿物处理的全套流程&r。为什么强调常规?有些矿石需要特殊处理,但这属于后期内容。糟糕,差点又跑题了!\n\n诸如&b化学浸洗器&r或&b电解机&r等设备可能会派上用场。\n\n若对矿物处理感到困惑,请查阅专属的&c矿石处理&r章节获取完整指南!", "quests.low_voltage.other_machines.task": "我自愿放弃理智", "quests.low_voltage.lv_chemical_bath.title": "基础化学浸洗机", "quests.low_voltage.lv_chemical_bath.subtitle": "化学浸洗机用于浸洗……", - "quests.low_voltage.lv_chemical_bath.desc.1": "&l矿石处理之外的用途:&r\n\n化学浸洗机可替代&6密封大桶&r配方,使纸和皮革的制作变得&6轻松省力&r。\n\n还包括其他辅助功能,例如对各类物品与方块进行染色或漂白处理。", + "quests.low_voltage.lv_chemical_bath.desc.1": "&l矿石处理之外的用途:&r\n\n化学浸洗机可替代&6密封大桶&r配方,使皮革和防腐木的制作变得&6轻松省力&r。\n\n还包括其他辅助功能,例如对各类物品与方块进行染色或漂白处理。", "quests.low_voltage.lv_chemical_bath.desc.2": "&l对于矿石处理:&r\n\n部分&a粉碎矿石&r通过化学浸洗转化为&a纯净矿石&r时存在替代途径:使用&a汞&r或&a过硫酸钠&r进行处理。此步骤并非必需,但若想获取特殊&6副产品&r则至关重要(提示:这可是银的绝佳替代来源!)", "quests.low_voltage.lv_electroliser.title": "基础电解机", "quests.low_voltage.lv_electroliser.subtitle": "嗡嗡作响", @@ -3135,21 +3136,20 @@ "quests.low_voltage.lv_electroliser.desc.3": "&c注意!&r受矿物特性影响,将金属粉尘直接冶炼成锭相比电解分解能获得更高金属产量,但代价是你会损失粉尘中蕴含的其他副产品。必须根据需求权衡:优先追求直接收益,还是最大化获取副产物种类。", "quests.low_voltage.lv_mixer.title": "基础搅拌机", "quests.low_voltage.lv_mixer.subtitle": "搅拌机用于搅拌……", - "quests.low_voltage.lv_mixer.desc": "使用搅拌机将&6大幅加快&r彩色钢的制备过程,尤其是制作机器外壳所需的&4红钢&r。即使现在认为不需要,后续阶段你会发现它&6不可或缺&r。\n\n你可能已经习惯了在坩埚中进行合金冶炼,但对于任何新合金(以及所有旧合金),格雷科技的合金制作方式是&a将粉末混合&r,然后将其加热成锭或提取为流体。先别去JEI里查看合金冶炼炉,那要到&5EV&r阶段才有。", - "quests.low_voltage.lv_mixer.task": "来自机械动力或格雷科技", + "quests.low_voltage.lv_mixer.desc": "电动搅拌机将&6大幅加快&r彩色钢的制备过程,因其可以直接制作&a彩色钢粉&a。即使现在认为不需要,后续阶段你会发现它&6不可或缺&r。\n\n你可能已经习惯了在坩埚中进行合金冶炼,但对于任何新合金(以及所有旧合金),格雷科技的合金制作方式是&a将粉末混合&r,然后将其加热成锭或提取为流体。&7(先别去JEI里查看合金冶炼炉,那要到&5EV&r&7阶段才有。)&r", "quests.low_voltage.soldering_alloy.title": "焊锡", "quests.low_voltage.soldering_alloy.subtitle": "我拥有灵魂却非焊将(注:英文谐音梗)", - "quests.low_voltage.soldering_alloy.desc": "&a焊锡&r仅作为&9流体&r使用,在多数电路配方中可作为&a锡&r的廉价替代品进行&d互换&r。\n\n选择权在你手中:想节省材料?就用焊锡。想减少材料制备时间?直接使用锡更为便捷。", + "quests.low_voltage.soldering_alloy.desc": "&a焊锡&r仅作为&9流体&r使用,在多数电路配方中可作为&a锡&r的廉价替代品进行&d互换&r。\n\n选择权在你手中:想节省材料?就用焊锡。想减少材料制备时间?直接使用锡更为便捷。\n\n记住,你需要先用搅拌机制作焊锡粉,然后使用提取机将其转化为流体。别管JEI中的合金冶炼炉配方!", "quests.low_voltage.gallium_arsenide.title": "砷化镓", "quests.low_voltage.gallium_arsenide.subtitle": "我讨厌副产物,但它们太棒了", "quests.low_voltage.gallium_arsenide.desc": "后续许多材料无法通过直接冶炼矿石获取!它们只能通过加工其他矿石产生的副产品来获得。镓和砷&4正属于&r这类材料。\n\n镓的获取途径,按从劣到优排序(综合考虑难度与产出):\n\n&9-&r&3电解&a闪锌矿&r获得微量粉尘概率较低。注意此方法将损失直接冶炼收益。\n\n&9-&r将&a粉碎铝土矿&r放入&3化学浸洗机&r处理,需消耗&9过硫酸钠&r。\n\n&9-&r通过&3热力离心机&r或&3离心机&r处理&a闪锌矿&r时作为副产品获取。\n\n对于&d砷&r,你将不得不开采&a雄黄&r并用&3离心机&r处理,或者将&a辉钴矿&r放入&3电力高炉&r中进行加工。", "quests.low_voltage.lv_assembler.title": "基础组装机", - "quests.low_voltage.lv_assembler.subtitle": "这家伙组装起来比你和宜家都利索!", - "quests.low_voltage.lv_assembler.desc.1": "虽然这是发展进程中极其&9关键&r的机器,但它&9&l无法立即发挥作用&r——因为造价&c十分昂贵&r。大部分重要配方都需要&c流体&r支持,建议先完善基础配套设施再着手建造。\n\n明确这点后,请将&3组装机&r视作与工作台同等重要的核心设备,只不过...嗯,它毕竟是台机器。", - "quests.low_voltage.lv_assembler.desc.2": "当基础设施完善后,你将能解锁以下材料的优化配方:\n\n&9-&r &6真空管&r产量提升至两倍以上\n\n&9-&r &6电阻&r每次合成可产出4个!\n\n&9-&r &6电路板&r大幅减少铜材消耗\n\n哇哦!\n\n&l&3背景知识:&r&o在格雷科技2时代,组装机仅有两个槽位,且仅用于特殊电路与机器外壳的替代配方,可谓一脉相承的纯正血统。", + "quests.low_voltage.lv_assembler.subtitle": "无需宜家说明书", + "quests.low_voltage.lv_assembler.desc.1": "尽管这是发展进程中极其&9关键&r的机器,但我们不建议你将它作为首个LV机器来制作,因为它&c造价高昂&r。\n\n不过,如果你已跟随任务指引至此,那么现在正是制作它的好时机!\n\n&3组装机&r对游戏进程至关重要。请将其视作与工作台同等重要的核心设备,只不过……咳,它毕竟是台机器嘛。", + "quests.low_voltage.lv_assembler.desc.2": "你将能解锁以下材料的优化配方:\n\n&9-&r &6真空管&r产量提升至两倍以上\n\n&9-&r &6电阻&r每次合成可产出4个!\n\n&9-&r &6电路板&r大幅减少铜材消耗\n\n哇哦!\n\n&l&3背景知识:&r&o在格雷科技2时代,组装机仅有两个槽位,且仅用于特殊电路与机器外壳的替代配方,可谓一脉相承的纯正血统。", "quests.low_voltage.lv_assembler.task": "基础组装机", - "quests.low_voltage.t2_circuit_board.subtitle": "是啊是啊,是木头的,但别低估它", - "quests.low_voltage.t2_circuit_board.desc.1": "该电路板用于制造&dMV电路&r!\n\n&9注意:&r制作酚醛印刷电路板时你有&l两种&r选择。若使用&a过硫酸钠&r或&a三氯化铁&r进行化学蚀刻,制作电路板&6仅需消耗原配方四分之一的银&r。\n\n&l但考虑到&r当前获取这些化学试剂较为困难,你也可以直接通过开采&o方铅矿脉&r来获取更多白银……\n\n若想了解&a过硫酸钠&r的制备方法,可在&bMV&r章节找到相应任务(就当是份轻松阅读材料)。", + "quests.low_voltage.t2_circuit_board.subtitle": "现在他们再也造不出这样的东西了……", + "quests.low_voltage.t2_circuit_board.desc.1": "该电路板用于制造&dMV电路&r!\n\n&9注意:&r制作酚醛印刷电路板时你有&l两种&r选择。若使用&a过硫酸钠&r或&a三氯化铁&r进行化学蚀刻,制作电路板&6需消耗的银仅为工匠台配方的四分之一&r。\n\n&l但考虑到&r当前获取这些化学试剂较为困难,你也可以直接通过开采&o方铅矿脉&r来获取更多白银……\n\n若想了解&a过硫酸钠&r的制备方法,可在&bMV&r章节找到相应任务(就当是份轻松阅读材料)。", "quests.low_voltage.t2_circuit_board.desc.2": "&l&3背景故事:&r&o在GTCEu1.12.2中,这些电路板被称为&2优质电路板&f。这个名字并不完全合适,因为它们&4相当邪恶&f。", "quests.low_voltage.lv_diode.title": "二极管", "quests.low_voltage.lv_diode.subtitle": "不要被EMI动摇!", @@ -3171,15 +3171,23 @@ "quests.low_voltage.lv_centrifuge.desc.1": "&l矿石处理之外的用途:&r\n\n好家伙,有什么是这台机器办不到的?分解不同种类的粉末、分离空气、帮你报税等等……\n\n功能多到列不完!我们只能说&c你需要离心机&r。", "quests.low_voltage.lv_centrifuge.desc.2": "&l对于矿石处理:&r\n\n该设备可将&a含杂矿粉&r或&a洁净矿粉&r转化为纯净的矿粉,并额外产出微量&6副产品&r矿粉。虽非获取副产物的最优工艺路线,但这是当前所有矿石处理设备中&c造价最低廉、最适合小规模配置&r的解决方案。", "quests.low_voltage.lv_centrifuge.desc.3": "&l&3背景知识:&r&o在基础版GTCE中,离心机曾是性能碾压其他矿石处理设备的存在——不仅操作简便,还能像洗矿机或热力离心机一样稳定产出三份微量粉尘。当前版本我们为其进行了平衡性调整,以促进工艺路线的多样性发展。", - "quests.low_voltage.lv_centrifuge.task": "", "quests.low_voltage.lv_glue.title": "粘住了", "quests.low_voltage.lv_glue.subtitle": "真是棘手的情况", - "quests.low_voltage.lv_glue.desc": "现在你可以通过&3离心机&r处理&a粘性树脂&r来获得液态&a胶水&r(以及目前实用性较低的植物球)。\n\n立即开始制备胶水能抢占先机。它可用于制作&6成本更低的电阻&r,并在&3组装机&r中生产&6更经济的电路板&r(尤其在&o近期发展&r阶段价值显著)。\n\n&e提示:&r你也可以离心处理群峦传说模组中的&a胶水&r或&a松脂&r,哪种材料更易获取就选哪种!", + "quests.low_voltage.lv_glue.desc": "现在你可以通过&3离心机&r处理&a粘性树脂&r来获得液态&a胶水&r(以及目前实用性较低的植物球)。\n\n立即开始制备胶水能抢占先机。它可用于制作&6成本更低的电阻&r,并在&3组装机&r中生产&6更经济的电路板&r。\n\n&e提示:&r你也可以离心处理群峦传说模组中的&a胶水&r或&a松脂&r,哪种材料更易获取就选哪种!", "quests.low_voltage.lv_glue.task": "胶水", "quests.low_voltage.lv_cutter.title": "基础切割机", "quests.low_voltage.lv_cutter.subtitle": "切割机……用于切割……", "quests.low_voltage.lv_cutter.desc": "目前你应使用&9水&r来执行相关配方,无需费力获取润滑液。\n\n若尚未配备此设备,它还能将&6金属杆切割成四个螺栓&r。\n\n该机器是获取&d宝石板&r的唯一途径,该材料是制造过滤卡及后续&3集气室&r的必要组件。", "quests.low_voltage.lv_cutter.task": "任何切割机", + "quests.low_voltage.lv_distillery.subtitle": "蒸馏室用于蒸馏……", + "quests.low_voltage.lv_distillery.desc": "蒸馏室的功能类似于离心机,但主要用于处理有机或石化流体。\n\n在&7LV&r阶段,你只能从单一输入中提取一种产物,但当你升级至&6HV&r的蒸馏塔后,这一限制将会改变。\n\n这台机器在LV阶段的使用频率并不高(除非你用它来生产内燃机燃料),但它是获取&e苯酚&r的关键设备。", + "quests.low_voltage.phenolic_resin.subtitle": "人造树脂", + "quests.low_voltage.phenolic_resin.desc.1": "酚醛树脂由&6苯酚&r与&a甲醛&r通过化学反应制成。\n\n虽然在&7LV&r阶段,你获取苯酚的途径其实只有两种(蒸馏杂酚油或重燃油),但生产甲醛所需的&d甲烷&r则有更多获取方式。", + "quests.low_voltage.phenolic_resin.desc.2": "最简单(也最慢)的方法是在化学反应釜中用氢和碳合成,但这同时需要非常缓慢的水电解来供应氢气。\n\n蒸馏室也提供了多种选择,包括通过处理杂酚油来获取。\n\n如果你在使用合成气作为燃料,也可以将其氧化为甲烷。\n\n最后,如果你想尝试一些特别的方法,还可以离心巨量幽冥之地的蘑菇来获取。", + "quests.low_voltage.magnesia.subtitle": "这也是希腊的一个地名!", + "quests.low_voltage.magnesia.desc": "氧化镁,亦称苦土,可通过两种方式获取:\n\n- 开采菱镁矿石\n\n- 使镁与碱液反应生成氢氧化镁,随后在焦炉中煅烧。镁可从多种不同的矿石中提炼获得。", + "quests.low_voltage.refractory_brick.subtitle": "酷冷™耐火砖", + "quests.low_voltage.refractory_brick.desc": "是时候拆掉你那套旧的群峦高炉了!如果愿意,你可以将大部分材料回收制成&6耐火黏土粉&r(推荐使用电弧炉,这样既能得到粉末又能回收铁!),或者你也可以烧制更多耐火黏土。但务必确保你已储备了大量钢材!\n\n然后,将耐火黏土粉与一些氧化镁、石墨及树脂混合,制作出改进型陶瓷材料,这正是制造&d首批线圈&r所需的。", "quests.low_voltage.lv_gas_collector.title": "基础集气室", "quests.low_voltage.lv_gas_collector.subtitle": "它会让你喘不过气来", "quests.low_voltage.lv_gas_collector.desc": "集气室可采集空气,并通过离心分离获得&a氧气&r与&a氮气&r。\n\n&l&3背景知识:&r&o格雷科技5的老玩家定会记得当年需用压缩机配合IC2气罐获取压缩空气的岁月…如今气罐化学体系已彻底革新。", @@ -3187,7 +3195,7 @@ "quests.low_voltage.lv_oxygen.subtitle": "严格来说,应该叫双氧分子(Dioxygen)...", "quests.low_voltage.lv_oxygen.desc.1": "你大可在JEI里耗费&o&e宝贵的生命年华&r寻找最优的氧气制备方案——毕竟获取途径实在繁多。电解各类矿物均能产出氧气。\n\n要是任务手册能提供更多信息就好了!", "quests.low_voltage.lv_oxygen.desc.2": "惊喜!在我们看来(!),最佳获取方式其实是制造&d集气室&r后&a离心空气&r——虽然你可能暂时还造不出来。此方法同时能产出&a氮气&r,可有效加速某些&3电力高炉&r配方的运行效率。\n\n在我们看来(!)次优方案是&a电解二氧化硅&r。二氧化硅可通过玻璃粉及各类石粉等多种途径获取。我们&6稍后会重点回顾此方案&r,因为它堪称&6终极解法&r。", - "quests.low_voltage.lv_oxygen.desc.3": "在我们看来(!)位列第三的方案是&a电解水&r。实际上,由于能耗较高,水电解更适用于&a制氢&r。&4请勿将此方法作为主要氧源&r——它应专用于&1氢气&r生产,关于制氢我们后续将提供详细指导。\n\n在我们看来(!)位列第四的方案是:&a绝对不要&r随意浪费氧气!无论通过何种途径获得的氧气都具有重要价值,应当妥善存储在储罐中。\n\n&e注意:&r将存放在物品栏内&l任意&r储罐中的流体提交即可完成任务,使用气态氧桶同样有效。", + "quests.low_voltage.lv_oxygen.desc.3": "在我们看来(!)位列第三的方案是&a电解水&r。实际上,由于能耗较高,水电解更适用于&a制氢&r。&4请勿将此方法作为主要氧源&r——它应专用于&1氢气&r生产,关于制氢我们后续将提供详细指导。\n\n在我们看来(!)位列第四的方案是:&a绝对不要&r随意浪费氧气!无论通过何种途径获得的氧气都具有重要价值,应当妥善存储在储罐中。", "quests.low_voltage.lv_oxygen.task": "氧", "quests.low_voltage.lv_nitrogen.title": "氮气", "quests.low_voltage.lv_nitrogen.subtitle": "你的电力高炉增幅剂", @@ -3205,7 +3213,7 @@ "quests.low_voltage.lv_chemical_reactor.subtitle": "化学入门指南", "quests.low_voltage.lv_chemical_reactor.task": "液态橡胶", "quests.low_voltage.lv_chemical_reactor.desc.1": "&3化学反应釜&r将在&l大量&r配方中成为必备设备。\n\n让我们立即试用——何不利用刚造好的化学反应釜解锁全新的&6改良橡胶配方&r?橡胶在&d流体状态无法直接使用&r,因此你需要另造一台机器进行后续加工。", - "quests.low_voltage.lv_chemical_reactor.desc.2": "仅靠化学反应釜无法完成橡胶制作,以下是你可能需要打造的&a其他设备&r:\n\n&3固化机&r能直接将橡胶凝固成&a橡胶片&r,这是后续发展必需的材料。\n\n随后可利用&3组装机&r将液态橡胶加工成&a线缆&r。虽然对锡质线缆影响不大,但更高级的线缆&e必须&r通过组装机制造。\n\n&e注意:&r将存储在物品栏&l任意&r储罐中的流体提交即可完成任务,推荐使用桶作为容器。", + "quests.low_voltage.lv_chemical_reactor.desc.2": "仅靠化学反应釜无法完成橡胶制作,以下是你可能需要打造的&a其他设备&r:\n\n&3固化机&r能直接将橡胶凝固成&a橡胶片&r,这是后续发展必需的材料。\n\n随后可利用&3组装机&r将液态橡胶加工成&a线缆&r。虽然对锡质线缆影响不大,但更高级的线缆&e必须&r通过组装机制造。", "quests.low_voltage.lv_fluid_solidifier.title": "基础流体固化器", "quests.low_voltage.lv_fluid_solidifier.subtitle": "流体固化器用于固化……", "quests.low_voltage.lv_fluid_solidifier.desc": "将这台机器与&3化学反应釜&r相邻放置,即可自动将橡胶固化成&a橡胶片&r。\n\n使用&d扳手&r调整&3化学反应釜&r侧面方向并开启流体&9自动输出&r,即可实现自动化传输。\n\n后续还有其他流体需要固化处理,你可以在非橡胶生产时段&3重新调配流体固化器&r的功能——或者直接建造第二台专用设备!", @@ -3220,7 +3228,7 @@ "quests.low_voltage.cupronickel_ingot.desc": "格雷科技进阶的一大核心在于获取新材料,这些材料将用于升级机器和解锁高级组件。\n\n你即将接触的其中一种材料是&b白铜&r——这仅是漫长征程的起点。\n该材料用于建造你的第一座&6电力高炉&r,乃是工业发展不可或缺的关键步骤。\n\n幸运的是,这第一步相当简单:一台&7合金炉&r即可胜任。\n因此即便配方显示需要&b128个白铜&r也无需担忧——实际操作比看起来容易得多!&r\n\n后续阶段的合金制备将日趋复杂,趁简单的时候好好享受吧!", "quests.low_voltage.cupronickel_coil.title": "白铜线圈", "quests.low_voltage.cupronickel_coil.subtitle": "宝宝的第一个加热线圈", - "quests.low_voltage.cupronickel_coil.desc": "准备&a128份白铜&r、&a32份青铜&r与&a16份锡合金&r,用于制造初代电力高炉所需的加热线圈。\n\n这仍不到整座电力高炉原材料成本的一半(!)。你还需要准备约各一组的殷钢与钢材,请尽快投入采矿作业。\n\n白铜线圈能使电力高炉处理最高&d1800K&r的配方(未计入电压增益)。这个温度在我们看来相当炙热。\n\n&6线圈详解教程位于&l格雷科技能源&r&6标签页——前往查阅以了解更多!&r", + "quests.low_voltage.cupronickel_coil.desc": "准备&a128份白铜&r、&a32份蓝钢&r与&a16份锡合金&r锭,以及&a128个耐火砖&r ,用于制造初代电力高炉所需的加热线圈。\n\n这仍不到整座电力高炉原材料成本的一半(!)。你还需要准备约各一组的殷钢与钢材,请尽快投入采矿作业。\n\n白铜线圈能使电力高炉处理最高&d1800K&r的配方(未计入电压增益)。这个温度在我们看来相当炙热。\n\n&6线圈详解教程位于&l格雷科技能源&r&6标签页——前往查阅以了解更多!&r", "quests.low_voltage.lv_ebf.title": "电力高炉", "quests.low_voltage.lv_ebf.subtitle": "格雷科技的核心机器之一,我们喜欢这个庞然大物。", "quests.low_voltage.lv_ebf.desc.1": "这个任务解释了&3电动高炉&r的核心机制,而旁边的任务将解释多方块部件的机制。一定要查看那个任务。\n\n总之,&3电力高炉&r是你的&e第一个电动多方块结构&r!恭喜。它用于在高温下处理材料。\n\n你将熟悉电力高炉来制造&a铝&r并进步到&d&bMV时代&r。它还能比&6高炉&r更快地制造&7钢&r,这意味着你终于可以拆除旧的群峦传说铁匠铺了。", @@ -3248,13 +3256,26 @@ "quests.low_voltage.mv_hull.desc2": "在深入&bMV&r阶段之前请记住,若不想过度依赖格雷科技,在&6TFG&r整合包中你可以运用&6机械动力&r来强化基础设施。铝制传动杆与齿轮的应力容量是钢制的四倍,装配后所有机器都能更快地运转!", "quests.low_voltage.aluminium_greate.title": "铝级格雷机械", "quests.low_voltage.aluminium_greate.subtitle": "也被称为“中应力”阶段", - "quests.low_voltage.aluminium_greate.desc": "距上次升级已有一段时日,现在你终于解锁了全新等级的格雷机械齿轮与传动轴。与之前一样,铝质部件的应力容量达到了钢质的&b四倍&r。\n\n继续推进格雷机械系列内容完全属于可选流程——我们更建议你转向格雷科技主线发展。但若你希望继续沿用原有设备,本次升级将帮助你&b理顺&r部分旧装置的杂乱布局。\n\n你可以通过&e蒸汽引擎&r进一步提升整体应力规模,或利用&9Create Additions&r的&e电动马达&r将EU电能转化为SU应力单位。", + "quests.low_voltage.aluminium_greate.desc": "距上次升级已有一段时日,现在你终于解锁了全新等级的格雷机械齿轮与传动轴。与之前一样,铝质部件的应力容量达到了钢质的&b四倍&r。\n\n继续推进格雷机械系列内容完全属于可选流程——我们更建议你转向格雷科技主线发展。但若你希望继续沿用原有设备,本次升级将帮助你&b理顺&r部分旧装置的杂乱布局。\n\n你可以通过&e蒸汽引擎&r进一步提升整体应力产出,或利用&9Create Additions&r的&e电动马达&r将EU电能转化为SU应力单位。", "quests.low_voltage.oil.title": "提前发现石油了?", "quests.low_voltage.oil.subtitle": "致LV阶段的卷王", - "quests.low_voltage.oil.desc": "若你在旅途中发现任何油砂矿或(沙漠中的)石油喷口,其实在LV阶段便可稍加利用。\n\n你可将其转化为重燃油用于锅炉,或更佳——用它生产少量&b聚乙烯&r!\n\n相关细节虽在MV章节,但此刻你已可用聚乙烯制造数种物品,例如成本更低的机器外壳与二极管。", + "quests.low_voltage.oil.desc": "若你在旅途中发现任何油砂矿或(沙漠中的)石油喷口,其实在LV阶段便可稍加利用。\n\n你可将其转化为重燃油用于锅炉,或者将其转化为柴油用于内燃发电机。", "quests.low_voltage.glowstone.title": "永久照明", "quests.low_voltage.glowstone.subtitle": "发明电灯泡的迂回方式", "quests.low_voltage.glowstone.desc": "想找一些廉价的永久光源?现在你有了LV提取机(很快还会有LV流体固化机),正好可以好好利用在下界攒下的那些&6荧石粉&r。不够用?用搅拌机还能自己造。\n\n打开JEI看看,所有用液态荧石和荧石块合成的新光源都在里面。格雷科技还提供了直接用荧石粉在组装机里制作的款式。\n\n还有个福利:液态荧石可以直接作为灯笼的无限燃料!", + "quests.low_voltage.next_machines.title": "甚至更多机器", + "quests.low_voltage.next_machines.subtitle": "好戏开场", + "quests.low_voltage.next_machines.desc": "既然你已有几台机器在运转,现在是时候让它们投入工作了。\n\n在本任务右侧列出了一些完全可选的机器(本章节不知还能将它们放在何处!),除此之外,组装机能让电子元件更便宜,而化学反应釜、提取机和流体固化机则能降低橡胶成本。完成这些之后,剩下的&7LV&r阶段就任你探索了!", + "quests.low_voltage.food_machines.title": "食品加工机器", + "quests.low_voltage.food_machines.subtitle": "快餐即刻享用", + "quests.low_voltage.food_machines.desc": "食品加工机与电烤箱是两台专门为适配群峦传说食物系统而设计的定制机器。\n\n食品加工机能够处理搅拌碗配方、汤、三明治、熏制、腌制、风干……你能想到的它几乎都能做。除了烹饪——那是电烤箱的职责。\n\n腐烂物销毁覆盖板可以安装在任何机器或输入总线上,自动销毁任何变质的食物。它能有效防止你的食物自动化流水线发生堵塞!", + "quests.low_voltage.bakelite.subtitle": "亦称聚氧基苄基甲基乙二醇酐……试试看能快速念五遍不", + "quests.low_voltage.bakelite.desc.1": "你的第一种聚合物!只需将酚醛树脂与石棉或防腐刨花板复合材料混合即可制成。\n\n你将使用电木来制作酚醛电路板和MV机器外壳,因此批量生产是个好主意,不过到&bMV&r阶段你将用聚乙烯替代它。\n\n现在你还获得了一种更便宜的ULV和LV机器外壳配方!", + "quests.low_voltage.bakelite.desc.2": "&l&3背景知识:&r&o电木是第一种由合成组分制成的塑料。历史上第一种塑料的殊荣属于帕克辛(硝化纤维素塑料),但其原料硝化纤维素的合成链过长——对低压阶段来说过于复杂。\n\n第二种塑料是加拉利斯(酪蛋白塑料),由乳蛋白和甲醛制成,但牛奶的自动化生产较为困难。", + "quests.low_voltage.lv_forming_press.subtitle": "冲压机床用于塑形……", + "quests.low_voltage.lv_forming_press.desc": "这台机器通常用途不多,但在TFG中,如果你因任何原因仍需使用TFC的焊接配方,它都可以胜任。它也能轻松复制任何模头或模具。\n\n更迫在眉睫的是(双关语见谅),你需要用它来制作下一阶段电路的关键组件——&a酚醛电路板&r。\n\n进入&bMV&r阶段后,你将获得一个更便宜的配方。", + "quests.low_voltage.lv_laser_engraver.subtitle": "biu biu!", + "quests.low_voltage.lv_laser_engraver.desc": "制作机械动力物流系统所需的发信线圈需要用到基础激光蚀刻机。除此之外,它目前的功能不多,只能制作磨制石头。\n\n关于激光的更多应用,要等到&bMV&r阶段再处理了。", "quests.medium_voltage": "&bMV&r - 中压", "quests.medium_voltage.subtitle": "进军石油化工,精炼电子技术", "quests.medium_voltage.mv_machine_hull.title": "欢迎来到MV!", @@ -3946,7 +3967,8 @@ "quests.steam_age.create_tools.desc": "使用扳手可以通过潜行+右键单击来快速拾起机械动力方块,当然,用斧或镐也可以。戴上护目镜则能让你查看机器的更详细信息,例如它们产生或消耗的应力。\n\n目前这两样工具都并非强制使用,但它们会非常有用,你之后肯定会需要它们的。\n\n关于吹制玻璃的帮助,请查阅 TFG 提示章节。你知道用锤子破坏圆石会将其变为沙砾,再次破坏沙砾则会变成沙子……吗?", "quests.steam_age.basic_millstone.title": "自动化矿石处理", "quests.steam_age.basic_millstone.subtitle": "告别手推磨", - "quests.steam_age.basic_millstone.desc": "&3石磨&r是手推磨的自动化版本。你可以把任何你想粉碎的东西从顶部扔进去,然后右键单击取出粉碎后的物品。如果你直接把它连接到动物曲柄上,它会相当慢,但你可以使用齿轮比来提高它的速度。\n\n请注意:产出物仅会出现在第一个槽位。其余槽位属于格雷科技机制的一部分,在&6HV&r阶段前都无需关注。", + "quests.steam_age.basic_millstone.desc.1": "&3石磨&r是手推磨的自动化版本。你可以把任何你想粉碎的东西从顶部扔进去,然后右键单击取出粉碎后的物品。如果你直接把它连接到动物曲柄上,它会相当慢,但你可以利用齿轮比来提高它的速度。\n\n请注意:产出物仅会出现在第一个槽位。其余槽位属于格雷科技机制的一部分,在&6HV&r阶段前都无需关注。", + "quests.steam_age.basic_millstone.desc.2": "&l&3背景知识:&r&o石磨之所以不能将谷物磨成面粉,是因为机械动力模组无法正确处理群峦传说中的食物腐败机制——此前这曾引发各种问题,比如腐烂食物变新鲜或新鲜食物直接腐烂。在&7LV阶段&r解锁食品加工机之前,你仍需通过研钵在合成栏里加工谷物。", "quests.steam_age.horse_crank.title": "你的第一个动力源", "quests.steam_age.horse_crank.subtitle": "让你的牲畜付租金", "quests.steam_age.horse_crank.desc.1": "&3动物曲柄&r 是你第一个可获得的机械动力源。要使用它,将曲柄放在一个7x7清空区域的中心,并用拴绳将动物拴在上面。不同的动物会提供不同数量的动力,而下面的方块会增加输出动力的速度。多个曲柄的区域可以重叠。\n\n你可能需要手持第二根拴绳来拴住动物。", @@ -4137,7 +4159,7 @@ "quests.steam_age.rolling_mill.desc.2": "&l&3背景知识:&r &o该机器在旧版TFG中就已存在,但当时生产的是金属杆而非板材,而在LV卷板机问世之前,制作板材的最佳方案竟有20%%的失败概率!&r", "quests.steam_age.steel_mixer.title": "钢动力搅拌器", "quests.steam_age.steel_mixer.subtitle": "LV搅拌机的早期版本", - "quests.steam_age.steel_mixer.desc": "&3钢动力搅拌器&r是蒸汽时代另一台值得制造的顶尖设备——它能以远胜坩埚的效率混合各类彩色钢粉!此外还能执行大量其他配方,包括某些涉及气体的反应……不必深究其原理。\n\n需要加热的配方可使用木炭炉或烈焰人燃烧室提供热源,并通过机械臂实现自动添料。", + "quests.steam_age.steel_mixer.desc": "&3钢动力搅拌器&r是蒸汽时代另一台值得制造的顶尖设备——它能以远胜坩埚的效率混合各类黑钢粉!遗憾的是,它无法直接制作红钢或蓝钢粉,但能够生产它们的&a脆钢版本&r。\n\n此外还能执行大量其他配方,包括某些涉及气体的反应……不必深究其原理。\n\n需要加热的配方可使用木炭炉或烈焰人燃烧室提供热源,并通过机械臂实现自动添料。", "quests.steam_age.potin.title": "粗青铜管道商……", "quests.steam_age.potin.subtitle": "……我要上战场了,只需要你最好的粗青铜合金。", "quests.steam_age.potin.desc.1": "&d粗青铜合金流体管道&r在当前材料等级中拥有&a极高的性价比与吞吐量&r。若想优化流体输送系统,建议考虑制作此类管道。\n\n要获取&d粗青铜合金&r,请先合成其&e粉末&r形态。\n\n本任务要求制作细径或标准尺寸的管道,完成任意尺寸即可。", @@ -4157,7 +4179,7 @@ "quests.steam_age.what_next.desc": "若你直接快速推进至此,建议优先制造LV卷板机、线材轧机或搅拌器等设备。\n若已制作了下面的动能机器,则建议选择组装机、电弧炉、化学反应釜或磁化机。", "quests.steam_age.alternator.title": "交流发电机", "quests.steam_age.alternator.subtitle": "将应力转化为电力", - "quests.steam_age.alternator.desc.1": "若你已搭建了规模可观的蒸汽时代设备,大可不必为了改用锅炉和LV蒸汽涡轮而立即将其全部拆除。&3交流发电机&r能够将蒸汽引擎产生的应力单位转化为电力。每台蒸汽引擎配合交流发电机可输出1安LV电流!\n\n但需注意,交流发电机是将应力转换为了另一套电力系统(FE),因此你需要通过能量转换器将其转化为格雷科技可用的LV电力(EU)。记得用软槌将其切换至\"FE转EU\"模式。", + "quests.steam_age.alternator.desc.1": "若你已搭建了规模可观的蒸汽时代设备,大可不必为了改用锅炉和LV蒸汽涡轮而立即将其全部拆除。&3交流发电机&r能够将蒸汽引擎产生的应力单位转化为电力。每台蒸汽引擎配合交流发电机可输出1安&7LV&r电流!\n\n但需注意,交流发电机是将应力转换为了另一套电力系统(FE),因此你需要通过能量转换器将其转化为格雷科技可用的&7LV&r电力(EU)。记得用软槌将其切换至&a\"FE转EU\"&r模式。", "quests.steam_age.alternator.desc.2": "一个蒸汽引擎输出8安LV电流的示例!\n", "quests.steam_age.packager.title": "机械动力物流", "quests.steam_age.packager.subtitle": "“我们家有AE2”", @@ -4344,6 +4366,7 @@ "quests.stone_age.medical_conditions.subtitle": "别吃石棉", "quests.stone_age.medical_conditions.desc.1": "小心你捡起的东西!并非所有矿石或粉尘都可以安全触碰,有些会导致&6健康状况&r的累积。\n\n所有&c危险&r信息都会写在物品提示上,所以如果你突然发现身上出现了负面效果,赶紧把那件物品移出你的物品栏!把它放进像小缸或背包这样的容器里是安全的。\n\n大多数这类效果会随着时间慢慢自行消退,但如果你让它们累积得足够久,就会开始引发一大堆其他讨厌的效果,甚至包括&c死亡&r。", "quests.stone_age.medical_conditions.desc.2": "你终究需要处理其中一些材料,因此也有应对它们的方法。\n\n最好的方法是首先避免染上任何病症——口罩和橡胶手套能分别防止吸入危害和接触危害。\n\n次优的方法是进行治疗:查看一些你可以合成的&a药丸、药片和药膏&r——它们都有助于治愈特定的效果(并能提供有用的增益!),不过更强效的药物也会有更恼人的副作用。", + "quests.stone_age.medical_conditions.desc.3": "请务必远离任何具有&c致癌性&r或&c放射性&r的物质——在你能够于&7LV&r阶段制作出对乙酰氨基酚之前,这些负面状态将是&e永久性&r的。", "quests.stone_age.medical_conditions.task": "做自己的医生", "quests.stone_age.copper_for_anvil.title": "为制作砧准备铜锭", "quests.stone_age.copper_for_anvil.subtitle": "你最好习惯弄到14个某种锭。", @@ -4928,6 +4951,9 @@ "quests.tfg_tips.greenhouse_automation.title": "温室自动化", "quests.tfg_tips.greenhouse_automation.subtitle": "集众力于一身……", "quests.tfg_tips.greenhouse_automation.desc": "通过结合Firmalife的&2采摘器&r与&2清扫器&r、机械动力的机械臂、以及格雷科技的物品收集器,你完全可以实现温室的全自动化运行!\n\n&2采摘器&r在收到红石脉冲时,会从水培种植盆和四槽种植盆中采摘成熟作物;而&2清扫器&r在连接红石信号时,会收割其周围3x3区域内其他类型种植盆中的成熟作物。\n\n这些机器会产出掉落物形式的物品,而物品收集器能吸附其周围大范围内的这些物品。\n\n最后,通过管道将种子送回机械臂,即可重新种植到种植盆中!", + "quests.tfg_tips.food_automation.title": "食品自动化", + "quests.tfg_tips.food_automation.subtitle": "自动化你的厨房。", + "quests.tfg_tips.food_automation.desc": "从&7LV&r阶段开始,你就可以使用&3电烤箱&r和&3食品加工机&r来实现食物的完全自动化生产。\n\n为了在食品加工机中正确使用多种原料制作食物(例如三明治),你需要使用&3机械臂&r并开启“保持补给”按钮(或者利用机械动力物流将精确数量的原料配送到你的机器中)。\n\n为了防止腐烂的食物堆满你的存储空间,你应该使用&3腐烂物销毁覆盖板&r。\n\n这在后期将与&bMV&r阶段的电冰箱完美配合。", "quests.tfg_tips.beekeeping.title": "养蜂", "quests.tfg_tips.beekeeping.subtitle": "它们现在这么小...", "quests.tfg_tips.beekeeping.desc": "&b养蜂&r有着诸多用途。蜜蜂不仅能给附近的作物授粉(需具备相应特性),你还能从中获取&a蜜蜡&r和&a蜂蜜&r等实用资源。通过培育可提升蜜蜂的各项属性。\n&2野外指南&r对&b养蜂&r的所有机制提供了详尽的解说。", From e0804114478dd97ec2bcd9498b75377bb2170eae Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 12:07:47 +0000 Subject: [PATCH 044/157] fix #2899 --- .pakku/server-overrides/defaultconfigs/tfc-server.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pakku/server-overrides/defaultconfigs/tfc-server.toml b/.pakku/server-overrides/defaultconfigs/tfc-server.toml index 90d7eb41a..5b61836ec 100644 --- a/.pakku/server-overrides/defaultconfigs/tfc-server.toml +++ b/.pakku/server-overrides/defaultconfigs/tfc-server.toml @@ -167,7 +167,7 @@ familiarityDecayLimit = 0.3 # # Tank capacity of a crucible (in mB). #Range: 0 ~ 2147483645 - crucibleCapacity = 4032 + crucibleCapacity = 4608 # # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. #Range: > 1 From af398a45d8d80b3964e9235a8fe8f19ada90fa95 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 12:17:47 +0000 Subject: [PATCH 045/157] #2900 add shapeless recipes to convert old stone dusts into new --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfg/recipes.temporary.js | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f70a6bec5..eba6d3a24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,8 @@ - High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie - TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e +- Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie +- Fixed the crucible capacity config on servers (#2899) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index 2365c1fca..b59260605 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -29,6 +29,15 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('greate:rose_quartz_lens', 'gtceu:rose_quartz_lens') event.shapeless('greate:rose_quartz_plate', 'gtceu:rose_quartz_plate') + event.shapeless('tfg:igneous_felsic_dust', 'gtceu:granite_dust') + event.shapeless('tfg:igneous_intermediate_dust', 'gtceu:diorite_dust') + event.shapeless('tfg:igneous_intermediate_dust', 'gtceu:andesite_dust') + event.shapeless('tfg:metamorphic_dust', 'gtceu:marble_dust') + event.shapeless('tfg:metamorphic_dust', 'gtceu:deepslate_dust') + event.shapeless('tfg:igneous_ultramafic_dust', 'gtceu:blackstone_dust') + event.shapeless('tfg:igneous_felsic_dust', 'gtceu:red_granite_dust') + event.shapeless('tfg:igneous_mafic_dust', 'gtceu:basalt_dust') + // TODO: remove nether/ender air in 0.12 From 941c5848a362b7e379af0c4cd8b26d21d24c941a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 12:21:30 +0000 Subject: [PATCH 046/157] #2862 sedimentary carbonate dust to flux --- CHANGELOG.md | 1 + .../tfg/natural_blocks/recipes.rocks.js | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eba6d3a24..d875177e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e - Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie - Fixed the crucible capacity config on servers (#2899) @Pyritie +- Added recipe to convert sedimentary carbonate stone dust into flux (#2862) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 8918df150..a3be60a35 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -584,4 +584,17 @@ function registerTFGRockRecipes(event) { .itemOutputs('#forge:plates/stone') .duration(20) .EUt(GTValues.VA[GTValues.LV]) + + // Sedimentary carbonate into flux + + event.recipes.gtceu.macerator('tfg:sedimentary_carbonate_to_flux') + .itemInputs('#forge:dusts/sedimentary_carbonate') + .itemOutputs('2x tfc:powder/flux') + .duration(20) + .EUt(2) + + event.recipes.tfc.quern('2x tfc:powder/flux', '#forge:dusts/sedimentary_carbonate') + .id(`tfg:quern/sedimentary_carbonate_to_flux`) + + event.shapeless('2x tfc:powder/flux', ['#forge:dusts/sedimentary_carbonate', '#forge:tools/hammers']) } \ No newline at end of file From 79a169de2064eadc0bacb5fd7562ff10e3cc165f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 23:35:02 +0000 Subject: [PATCH 047/157] added different oil spouts, changed ore veins a little --- CHANGELOG.md | 3 + .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 37 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 37 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- kubejs/assets/tfg/lang/en_us.json | 3 + kubejs/assets/tfg/lang/fr_fr.json | 3 + kubejs/assets/tfg/lang/ja_jp.json | 3 + kubejs/assets/tfg/lang/pt_br.json | 1 + kubejs/assets/tfg/lang/ru_ru.json | 12 +- kubejs/assets/tfg/lang/uk_ua.json | 1 + kubejs/assets/tfg/lang/zh_cn.json | 1 + .../placed_feature/flood_fill_lake.json | 21 ++ .../earth/spouts/heavy_oil_spout.json | 21 ++ .../earth/spouts/lava_spout.json | 21 ++ .../earth/spouts/light_oil_spout.json | 21 ++ .../earth/spouts/oil_spout.json | 21 ++ .../earth/spouts/raw_oil_spout.json | 21 ++ .../earth/vein/desert_oilsands.json | 131 +++++++++++ .../earth/vein/normal_beryllium.json | 2 +- .../earth/vein/normal_oilsands.json | 8 +- .../nether/vein/nether_beryllium.json | 2 +- .../venus/vein/venus_manual_salt.json | 186 ++++++++++++++++ .../venus/vein/venus_manual_sulfur.json | 136 ++++++++++++ .../venus/vein_manual/salt.json | 208 ------------------ .../venus/vein_manual/sulfur.json | 172 --------------- .../placed_feature/earth/oil_spout.json | 26 ++- .../earth/vein/desert_oilsands.json | 10 + .../earth/vein/normal_tarkianite.json | 10 - .../placed_feature/earth/volcano_spout.json | 25 +++ .../venus/vein_manual/salt.json | 2 +- .../venus/vein_manual/sulfur.json | 2 +- .../tfg/worldgen/tags.overworld.js | 2 + 50 files changed, 911 insertions(+), 461 deletions(-) create mode 100644 kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json diff --git a/CHANGELOG.md b/CHANGELOG.md index d875177e9..a8df34b39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,9 @@ - Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie - Fixed the crucible capacity config on servers (#2899) @Pyritie - Added recipe to convert sedimentary carbonate stone dust into flux (#2862) @Pyritie +- Deserts now contain oil spouts for heavy, raw, light, and normal oils @Pyritie +- Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert @Pyritie +- Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json index f7d325389..118ee2950 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json index 934ef99bb..f23822ceb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Desert Oilsands$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -1060,7 +1060,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale$(br2)Only appears in deserts to the $(thing)West$(), with a maximum rainfall of 120mm.", + "title": "Desert Oilsands", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 30$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2512,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json index 3de956a2f..b52e37189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/300 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json index f7d325389..118ee2950 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json index 934ef99bb..f23822ceb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Desert Oilsands$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -1060,7 +1060,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale$(br2)Only appears in deserts to the $(thing)West$(), with a maximum rainfall of 120mm.", + "title": "Desert Oilsands", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 30$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2512,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json index 3de956a2f..b52e37189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/300 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json index f7d325389..118ee2950 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json index 934ef99bb..f23822ceb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Desert Oilsands$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -1060,7 +1060,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale$(br2)Only appears in deserts to the $(thing)West$(), with a maximum rainfall of 120mm.", + "title": "Desert Oilsands", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 30$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2512,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json index 3de956a2f..b52e37189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/300 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json index f407ecfb2..2520734e3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandina: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Ametista: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Amianto: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Apatita: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Areia Cassiterita: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Areia Granada: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Areia Mineral Basáltica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Areia Mineral Granítica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Areias Petrolíferas: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Barita: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxita: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()", + "text": "$(li)Almandina: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Ametista: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Amianto: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Apatita: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Areia Cassiterita: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Areia Granada: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Areia Mineral Basáltica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Areia Mineral Granítica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Areias Petrolíferas: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Barita: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxita: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json index 00139dc21..fdef0abf8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Ametista e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatita e Pirocloro$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Areias Minerais$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasita e Monazita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonita e Olivina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuto (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuto (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Calcopirita e Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Carvão$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Cianita, Mica e Bauxita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Cobre e Calcopirita$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Ametista e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatita e Pirocloro$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Areias Minerais$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasita e Monazita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonita e Olivina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuto (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuto (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Calcopirita e Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Carvão$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Cianita, Mica e Bauxita$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperita e Bornita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Cromita e Magnetita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Enxofre e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Esfalerita e Enxofre$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Esfalerita e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Esmeralda e Berílio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Espodumena e Lepidolita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierita e Cobaltita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gipsita e Calcita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethita e Malaquita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Grafite e Diamante$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Granada e Areia Cassiterita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematita e Limonita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematita, Goethita e Rubi$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Cobre e Calcopirita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperita e Bornita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Cromita e Magnetita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Enxofre e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Esfalerita e Enxofre$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Esfalerita e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Esmeralda e Berílio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Espodumena e Lepidolita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierita e Cobaltita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gipsita e Calcita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethita e Malaquita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Grafite e Diamante$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Granada e Areia Cassiterita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematita e Limonita$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetita e Vanádio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opala e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Ouro (Profundo)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Ouro, Limonita e Hematita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Pedra-sabão, Talco e Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzos$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinábrio e Rubi$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Safira e Almandina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Sais e Bórax$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Salitre e Eletrotina$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematita, Goethita e Rubi$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetita e Vanádio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opala e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Ouro (Profundo)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Ouro, Limonita e Hematita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Pedra-sabão, Talco e Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzos$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinábrio e Rubi$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Safira e Almandina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Sais e Bórax$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarcianita e Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topázio e Calcocita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninita e Pechblenda$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenita e Molibdenita$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Salitre e Eletrotina$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarcianita e Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topázio e Calcocita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninita e Pechblenda$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenita e Molibdenita$()$()", "type": "patchouli:text" }, { @@ -290,7 +290,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/185 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "title": "Areias Petrolíferas", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Areias Petrolíferas", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 100%$(br)$(thing)Fonte de$(): Liberdade \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 90$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -1472,7 +1499,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 30$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "normal_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json index 0baeae0ae..6b0f4b8d2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json @@ -1025,7 +1025,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/300 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json index 920c13227..b4dd2dfad 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", + "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index ada05a65d..f21d79ff6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал и гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Соли и Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен и Лепидолит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит и Сера$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркианит и Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал и гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Соли и Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен и Лепидолит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит и Сера$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркианит и Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраэдрит (обычный)$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Уголь$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопирит и Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеелит и Вольфрамат$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Уголь$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопирит и Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 30$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2435,7 +2435,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/185 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 30 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец$(br2)Появляется только в пустынях на $(thing)западе$(), при годовыми осадками 120мм.", + "title": "Нефтеносный песок", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Нефтеносный песок", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): Нефтепродукты", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 90$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -3257,7 +3284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)Юго-западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json index 9f46b9208..647ffad7d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/300 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json index 4035a14c0..0bdf84f0d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index 5d52261e0..2f51d20f8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Золото (Глибоке)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Золото, Лімоніт та Гематит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Каситерит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Каситерит (Поверхнивий)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Кварц$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Кіаніт, Слюда та Боксити$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Лапіс, Лазурит та Содаліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Лімоніт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Магнетит і Ванадій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Марганець і Тантал$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Мінеральні піски$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нафтові піски$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Золото (Глибоке)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Золото, Лімоніт та Гематит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Каситерит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Каситерит (Поверхнивий)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Кварц$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Кіаніт, Слюда та Боксити$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Лапіс, Лазурит та Содаліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Лімоніт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Магнетит і Ванадій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Марганець і Тантал$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Мінеральні піски$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Нафтові піски$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал і Гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Кіновар і Рубін$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфір і Альмадін$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селітра та Електротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Солі та Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен та Лепідоліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Стеатит, Тальк і Трона$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит і Сірка$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркіаніт та Нафтові піски$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраедрит (Звичайний)$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нафтові піски$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал і Гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Кіновар і Рубін$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфір і Альмадін$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селітра та Електротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Солі та Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен та Лепідоліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Стеатит, Тальк і Трона$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит і Сірка$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркіаніт та Нафтові піски$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз і Халькоцит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Ураніт & Пітчбленд$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопірит та Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хроміт і Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеєліт та Вольфрам$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдоніт і Борніт$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз і Халькоцит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Ураніт & Пітчбленд$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопірит та Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хроміт і Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеєліт та Вольфрам$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдоніт і Борніт$()$()", "type": "patchouli:text" }, { @@ -2313,7 +2313,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/185 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "title": "Нафтові піски", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Нафтові піски", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 100%$(br)$(thing)Джерело$(): Свободи \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 90$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Нафтові піски", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2750,7 +2777,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 30$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "normal_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json index 6799e5aca..877b8f677 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json @@ -2029,7 +2029,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/300 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json index 2890944c0..e6fceb082 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", + "text": "$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json index 96183bfcd..dea185666 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)塔基安矿, 油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)晶质铀矿, 沥青铀矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)煤炭$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)盐, 硼砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)石榴石, 锡石矿砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)石英$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)矿砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)硅镁镍矿, 辉钴矿$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)塔基安矿, 油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)晶质铀矿, 沥青铀矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)煤炭$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)盐, 硼砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)石榴石, 锡石矿砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)石英$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)矿砂$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 蓝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)硫, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)磁铁矿, 钒$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)紫水晶, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)膨润土, 橄榄石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)蓝宝石, 铁铝榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)蓝晶石, 云母, 铝土矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)褐铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)赤铁矿, 褐铁矿$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 蓝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)硫, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)磁铁矿, 钒$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)紫水晶, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)膨润土, 橄榄石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)蓝宝石, 铁铝榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)蓝晶石, 云母, 铝土矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)褐铁矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)赤铁矿, 针铁矿, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)辉铋矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)辉铋矿 (普通)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)金矿 (深层)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)金矿, 褐铁矿, 赤铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)针铁矿, 孔雀石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)钼铅矿, 辉钼矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)铬铁矿, 磁铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)锂辉石, 锂云母$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)锡石矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)锡石矿 (普通)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)锰矿, 钽矿$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)赤铁矿, 针铁矿, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)辉铋矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)辉铋矿 (普通)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)金矿 (深层)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)金矿, 褐铁矿, 赤铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)针铁矿, 孔雀石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)钼铅矿, 辉钼矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)铬铁矿, 磁铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)锂辉石, 锂云母$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)锡石矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)锡石矿 (普通)$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)闪锌矿, 硫$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)黄玉, 辉铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)黄铜矿, 雄黄$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)黝铜矿 (普通)$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)闪锌矿, 硫$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)黄玉, 辉铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)黄铜矿, 雄黄$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)黝铜矿 (普通)$()$()", "type": "patchouli:text" }, { @@ -265,7 +265,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/185 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 30 — 70$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "title": "油砂", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "油砂", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 100%$(br)$(thing)来源$(): 自由 \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "油砂", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -1646,7 +1673,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 30$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "normal_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json index 77704041c..9b70891e2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json @@ -1385,7 +1385,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/300 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 103ffd610..2c5d2b5d3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1397,6 +1397,9 @@ "ore_vein.tfg.deep_sapphire": "Sapphire & Almandine", "ore_vein.tfg.deep_scheelite": "Scheelite & Tungstate", "ore_vein.tfg.deep_topaz": "Topaz & Chalcocite", + "ore_vein.tfg.desert_oilsands": "Desert Oilsands", + "ore_vein.tfg.desert_oilsands.emi.0": "Only in dry climates.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max rainfall: 120mm", "ore_vein.tfg.normal_apatite": "Apatite & Pyrochlore", "ore_vein.tfg.normal_basaltic_sands": "Mineral Sands", "ore_vein.tfg.normal_beryllium": "Emerald & Beryllium", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 9a9a4317b..b489989b6 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1030,6 +1030,9 @@ "ore_vein.tfg.deep_sapphire": "Sapphire & Almandine", "ore_vein.tfg.deep_scheelite": "Scheelite & Tungstate", "ore_vein.tfg.deep_topaz": "Topaz & Chalcocite", + "ore_vein.tfg.desert_oilsands": "Desert Oilsands", + "ore_vein.tfg.desert_oilsands.emi.0": "Only in dry climates.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max rainfall: 120mm", "ore_vein.tfg.normal_apatite": "Apatite & Pyrochlore", "ore_vein.tfg.normal_basaltic_sands": "Mineral Sands", "ore_vein.tfg.normal_beryllium": "Emerald & Beryllium", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 134711f8b..98b582761 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1387,6 +1387,9 @@ "ore_vein.tfg.deep_sapphire": "Sapphire & Almandine", "ore_vein.tfg.deep_scheelite": "Scheelite & Tungstate", "ore_vein.tfg.deep_topaz": "Topaz & Chalcocite", + "ore_vein.tfg.desert_oilsands": "Desert Oilsands", + "ore_vein.tfg.desert_oilsands.emi.0": "Only in dry climates.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max rainfall: 120mm", "ore_vein.tfg.normal_apatite": "Apatite & Pyrochlore", "ore_vein.tfg.normal_basaltic_sands": "Mineral Sands", "ore_vein.tfg.normal_beryllium": "Emerald & Beryllium", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 74c064112..99ddccf2c 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -800,6 +800,7 @@ "ore_vein.tfg.deep_sapphire": "Safira e Almandina", "ore_vein.tfg.deep_scheelite": "Sheelita e Tungstato", "ore_vein.tfg.deep_topaz": "Topázio e Calcocita", + "ore_vein.tfg.desert_oilsands": "Areias Petrolíferas", "ore_vein.tfg.normal_apatite": "Apatita e Pirocloro", "ore_vein.tfg.normal_basaltic_sands": "Areias Minerais", "ore_vein.tfg.normal_beryllium": "Esmeralda e Berílio", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 95f8aaeec..05d81ada3 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1397,6 +1397,9 @@ "ore_vein.tfg.deep_sapphire": "Сапфир и Альмандин", "ore_vein.tfg.deep_scheelite": "Шеелит и Вольфрамат", "ore_vein.tfg.deep_topaz": "Топаз и Халькозин", + "ore_vein.tfg.desert_oilsands": "Нефтеносный песок", + "ore_vein.tfg.desert_oilsands.emi.0": "Только в сухом климате.", + "ore_vein.tfg.desert_oilsands.emi.1": "Макс. годовые осадки: 120мм", "ore_vein.tfg.normal_apatite": "Апатит и Пирохлор", "ore_vein.tfg.normal_basaltic_sands": "Минеральные пески", "ore_vein.tfg.normal_beryllium": "Изумруд и Бериллий", @@ -1406,8 +1409,6 @@ "ore_vein.tfg.normal_copper": "Медь и Халькопирит", "ore_vein.tfg.normal_garnet_tin": "Гранатовый и Касситеритовый песок", "ore_vein.tfg.normal_garnierite": "Гарниерит и Кобальтит", - "ore_vein.tfg.normal_garnierite.emi.0": "Подсказка: Габбро всегда находится", - "ore_vein.tfg.normal_garnierite.emi.1": "под Базальтом.", "ore_vein.tfg.normal_gold": "Золото, Лимонит и Гематит", "ore_vein.tfg.normal_graphite": "Графит и Алмаз", "ore_vein.tfg.normal_gypsum": "Гипс и Кальцит", @@ -1423,8 +1424,6 @@ "ore_vein.tfg.normal_olivine": "Бентонит и Оливин", "ore_vein.tfg.normal_quartz": "Кварцы", "ore_vein.tfg.normal_redstone": "Редстоун, Киноварь и Рубин", - "ore_vein.tfg.normal_redstone.emi.0": "Подсказка: Гранит всегда находится", - "ore_vein.tfg.normal_redstone.emi.1": "под Риолитом.", "ore_vein.tfg.normal_salt": "Соли и Бура", "ore_vein.tfg.normal_saltpeter": "Селитра и Электротин", "ore_vein.tfg.normal_silver": "Серебро, Галена и Свинец", @@ -1531,10 +1530,9 @@ "ore_vein.tfg.nether_sulfur": "Сера и Пирит", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", - "ore_vein.tfg.venus_manual_salt": "Соли и Cподумен", - "ore_vein.tfg.venus_manual_salt.emi.0": "Только в Соляных равнинах.", + "ore_vein.tfg.venus_manual_salt": "Salts & Spodumene", + "ore_vein.tfg.venus_manual_salt.emi.0": "Only in Salt Flats.", "ore_vein.tfg.venus_manual_sulfur": "Сера и Пирит", - "ore_vein.tfg.venus_manual_sulfur.emi.0": "Только в Сернистое ущелье.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", "tfg.tooltip.food_trait.refrigerating": "§bОхлаждённое", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index b1472e75f..b8e88bb13 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1321,6 +1321,7 @@ "ore_vein.tfg.deep_sapphire": "Сапфір і Альмадін", "ore_vein.tfg.deep_scheelite": "Шеєліт та Вольфрам", "ore_vein.tfg.deep_topaz": "Топаз і Халькоцит", + "ore_vein.tfg.desert_oilsands": "Нафтові піски", "ore_vein.tfg.normal_apatite": "Апатит і Пірохлор", "ore_vein.tfg.normal_basaltic_sands": "Мінеральні піски", "ore_vein.tfg.normal_beryllium": "Смарагд і Берилій", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 291c2fe7e..49b0390dc 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1491,6 +1491,7 @@ "ore_vein.tfg.deep_sapphire": "蓝宝石, 铁铝榴石", "ore_vein.tfg.deep_scheelite": "白钨矿, 钨酸锂", "ore_vein.tfg.deep_topaz": "黄玉, 辉铜矿", + "ore_vein.tfg.desert_oilsands": "油砂", "ore_vein.tfg.normal_apatite": "磷灰石, 烧绿石", "ore_vein.tfg.normal_basaltic_sands": "矿砂", "ore_vein.tfg.normal_beryllium": "绿宝石, 铍矿", diff --git a/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json b/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json new file mode 100644 index 000000000..3c544cd20 --- /dev/null +++ b/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "tfc:flood_fill_lake", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 5 + }, + { + "type": "tfc:climate", + "min_rainfall": 100 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json new file mode 100644 index 000000000..9ff88f4a9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil_heavy", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json new file mode 100644 index 000000000..b7403f302 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "minecraft:lava", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 16, + "min_inclusive": 12 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 0 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json new file mode 100644 index 000000000..aa0d24d9e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil_light", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json new file mode 100644 index 000000000..c88b6ca8f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json new file mode 100644 index 000000000..48f65fa84 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil_medium", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json new file mode 100644 index 000000000..c495617ff --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json @@ -0,0 +1,131 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:cluster_vein", + "config": { + "size": 60, + "rarity": 150, + "density": 0.2, + "min_y": 30, + "max_y": 70, + "random_name": "desert_oilsands", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 50, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:oilsands_indicator", + "weight": 100 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json index 645616ae0..04f2f8dbe 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json @@ -12,7 +12,7 @@ "rarity": 250, "density": 0.35, "min_y": -32, - "max_y": 50, + "max_y": 30, "random_name": "normal_beryllium", "blocks": [ { diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json index 5ec1ce356..c3078167d 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json @@ -2,11 +2,11 @@ "__credits__": "This vein was automatically generated by OresToFieldGuide.", "type": "tfc:cluster_vein", "config": { - "size": 55, - "rarity": 185, + "size": 30, + "rarity": 220, "density": 0.2, - "min_y": 0, - "max_y": 70, + "min_y": 40, + "max_y": 90, "random_name": "normal_oilsands", "blocks": [ { diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json index 80c57d36c..6aa08c262 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json @@ -9,7 +9,7 @@ "min_slant": 0, "max_slant": 4, "sign": 0, - "rarity": 250, + "rarity": 300, "density": 0.45, "min_y": 32, "max_y": 128, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json new file mode 100644 index 000000000..375a552e5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json @@ -0,0 +1,186 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:disc_vein", + "config": { + "height": 6, + "size": 20, + "rarity": 30, + "density": 0.2, + "min_y": 40, + "max_y": 65, + "random_name": "venus_manual_salt", + "blocks": [ + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:dripstone_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:dripstone_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:dripstone_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "ad_astra:venus_stone" + ], + "with": [ + { + "block": "gtceu:venus_stone_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:venus_stone_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:venus_stone_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:venus_stone_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "minecraft:basalt" + ], + "with": [ + { + "block": "gtceu:basalt_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:basalt_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:basalt_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:rhyolite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:rhyolite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:dacite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:dacite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:andesite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:andesite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_spodumene_ore", + "weight": 5 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 30, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:rock_salt_indicator", + "weight": 5 + }, + { + "block": "gtceu:rock_salt_bud_indicator", + "weight": 5 + }, + { + "block": "gtceu:salt_indicator", + "weight": 40 + }, + { + "block": "gtceu:salt_bud_indicator", + "weight": 40 + }, + { + "block": "gtceu:lepidolite_indicator", + "weight": 5 + }, + { + "block": "gtceu:spodumene_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json new file mode 100644 index 000000000..acc09cbcb --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json @@ -0,0 +1,136 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:cluster_vein", + "config": { + "size": 20, + "rarity": 30, + "density": 0.2, + "min_y": 40, + "max_y": 65, + "random_name": "venus_manual_sulfur", + "blocks": [ + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:dripstone_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "ad_astra:venus_stone" + ], + "with": [ + { + "block": "gtceu:venus_stone_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:venus_stone_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:venus_stone_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "minecraft:basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_sphalerite_ore", + "weight": 5 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 30, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json deleted file mode 100644 index ca56083f5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "height": 6, - "size": 20, - "rarity": 30, - "density": 0.2, - "min_y": 40, - "max_y": 65, - "random_name": "venus_manual_salt", - "blocks": [ - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:venus_stone_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:venus_stone_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "minecraft:dripstone_block" - ], - "with": [ - { - "block": "gtceu:dripstone_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:dripstone_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:dripstone_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:dripstone_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:rhyolite_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:rhyolite_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:basalt_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:andesite_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:andesite_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:dacite_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_spodumene_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 10, - "depth": 30, - "underground_rarity": 40, - "underground_count": 180, - "blocks": [ - { - "block": "gtceu:rock_salt_indicator", - "weight": 5 - }, - { - "block": "gtceu:rock_salt_bud_indicator", - "weight": 5 - }, - { - "block": "gtceu:salt_indicator", - "weight": 40 - }, - { - "block": "gtceu:salt_bud_indicator", - "weight": 40 - }, - { - "block": "gtceu:lepidolite_indicator", - "weight": 5 - }, - { - "block": "gtceu:spodumene_indicator", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json deleted file mode 100644 index e9054a1dd..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "size": 20, - "rarity": 30, - "density": 0.2, - "min_y": 40, - "max_y": 65, - "random_name": "venus_manual_sulfur", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt", - "minecraft:basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "minecraft:dripstone_block" - ], - "with": [ - { - "block": "gtceu:dripstone_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:dripstone_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:dripstone_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:venus_stone_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:venus_stone_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 20, - "depth": 30, - "underground_rarity": 40, - "underground_count": 180, - "blocks": [ - { - "block": "gtceu:sulfur_indicator", - "weight": 80 - }, - { - "block": "gtceu:pyrite_indicator", - "weight": 15 - }, - { - "block": "tfc:ore/small_sphalerite", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json index 2bdc4c768..f570cfa9b 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json @@ -1,5 +1,27 @@ { - "feature": "gtceu:raw_oil_sprout", + "feature": { + "type": "minecraft:simple_random_selector", + "config": { + "features": [ + { + "feature": "tfg:earth/spouts/oil_spout", + "placement": [] + }, + { + "feature": "tfg:earth/spouts/light_oil_spout", + "placement": [] + }, + { + "feature": "tfg:earth/spouts/heavy_oil_spout", + "placement": [] + }, + { + "feature": "tfg:earth/spouts/raw_oil_spout", + "placement": [] + } + ] + } + }, "placement": [ { "type": "minecraft:rarity_filter", @@ -9,7 +31,7 @@ "type": "tfc:climate", "min_temperature": 0, "min_rainfall": 0, - "max_rainfall": 100 + "max_rainfall": 120 }, { "type": "minecraft:in_square" diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json new file mode 100644 index 000000000..0ffca76ee --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json @@ -0,0 +1,10 @@ +{ + "feature": "tfg:earth/vein/desert_oilsands", + "placement": [ + { + "type": "tfc:climate", + "min_rainfall": 0, + "max_rainfall": 120 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json index b65ab875b..08f6e3a64 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json @@ -1,14 +1,4 @@ { - - - - - "__credits__": "REVERT THIS FILE AFTER RUNNING ORES TO FIELD GUIDE. Otherwise it wipes the climate stuff.", - - - - - "feature": "tfg:earth/vein/normal_tarkianite", "placement": [ { diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json new file mode 100644 index 000000000..02a680eef --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json @@ -0,0 +1,25 @@ +{ + "feature": "tfg:earth/spouts/lava_spout", + "placement": [ + { + "type": "tfc:volcano", + "center": true + }, + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": -10 + }, + "min_inclusive": { + "absolute": -45 + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json index 0d2f4aca3..603541018 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json @@ -1,4 +1,4 @@ { - "feature": "tfg:venus/vein_manual/salt", + "feature": "tfg:venus/vein/venus_manual_salt", "placement": [] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json index 7979b73a1..a72e67a02 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json @@ -1,4 +1,4 @@ { - "feature": "tfg:venus/vein_manual/sulfur", + "feature": "tfg:venus/vein/venus_manual_sulfur", "placement": [] } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js index 4bebe7ca2..b9e6ca6ce 100644 --- a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js +++ b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js @@ -77,6 +77,7 @@ function registerTFGOverworldPlacedFeatures(event) { // Tarkianite event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tarkianite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/desert_oilsands') // Add back the non-ore ones event.add("tfc:in_biome/veins", "tfc:vein/gravel"); @@ -103,4 +104,5 @@ function registerTFGOverworldPlacedFeatures(event) { event.add("tfc:in_biome/underground_decoration", "tfg:glow_lichen"); event.add("tfc:in_biome/underground_decoration", "tfg:earth/sulfur_patch"); event.add("tfc:in_biome/underground_decoration", "tfg:earth/oil_spout"); + event.add("tfc:in_biome/underground_decoration", "tfg:earth/volcano_spout"); } \ No newline at end of file From 783a87b2ff2fca786d6164c1b400e34065d65bdf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 23:50:11 +0000 Subject: [PATCH 048/157] fix #2909 --- CHANGELOG.md | 1 + kubejs/server_scripts/exposure/recipes.js | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8df34b39..896a20071 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - Fixed the dye colors used to make Create Deco's bricks (#2859) @silllil - Fixed the Electric Greenhouse outputting way less Chorus Fruit than before @Pyritie - Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg +- Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/exposure/recipes.js b/kubejs/server_scripts/exposure/recipes.js index 3bb130821..b524e344b 100644 --- a/kubejs/server_scripts/exposure/recipes.js +++ b/kubejs/server_scripts/exposure/recipes.js @@ -67,25 +67,25 @@ const registerExposureRecipes = (event) => { // Creating the developer // Pyrogallol - event.recipes.tfc.pot(['tfc:powder/saltpeter'], Fluid.of('tfc:tannin', 500), 30 * 20, 750) + event.recipes.tfc.pot(['tfc:powder/saltpeter'], Fluid.of('tfc:tannin', 500), 30 * 20, 650) .itemOutput('tfg:pyrogallol_dust') .id('tfg:pot/tannin_to_pyrogallol_saltpeter') - event.recipes.tfc.pot(['tfc:powder/soda_ash'], Fluid.of('tfc:tannin', 500), 30 * 20, 750) + event.recipes.tfc.pot(['tfc:powder/soda_ash'], Fluid.of('tfc:tannin', 500), 30 * 20, 650) .itemOutput('tfg:pyrogallol_dust') .id('tfg:pot/tannin_to_pyrogallol_soda_ash') event.recipes.firmalife.vat() .inputs('tfc:powder/saltpeter', Fluid.of('tfc:tannin', 500)) .length(30 * 20) - .temperature(750) + .temperature(650) .outputItem('tfg:pyrogallol_dust') .id('tfg:vat/tannin_to_pyrogallol_saltpeter') event.recipes.firmalife.vat() .inputs('tfc:powder/soda_ash', Fluid.of('tfc:tannin', 500)) .length(30 * 20) - .temperature(750) + .temperature(650) .outputItem('tfg:pyrogallol_dust') .id('tfg:vat/tannin_to_soda_ash') @@ -104,7 +104,7 @@ const registerExposureRecipes = (event) => { .EUt(7) // Developer - event.recipes.tfc.pot(['#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes'], Fluid.of('tfc:lye', 1000), 30 * 20, 750) + event.recipes.tfc.pot(['#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes'], Fluid.of('tfc:lye', 1000), 30 * 20, 550) .fluidOutput(Fluid.of('tfg:bw_photographic_developer', 1000)) .id('tfg:pot/bw_developer') From a0085fa56b8645abcadb0729fd591d7837db5350 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 23:50:17 +0000 Subject: [PATCH 049/157] fix #2905 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/primitive/recipes.clay.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 896a20071..8e27d4714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ - Fixed the Electric Greenhouse outputting way less Chorus Fruit than before @Pyritie - Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg - Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie +- Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 0b256107b..dec812be3 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -43,6 +43,7 @@ function registerTFGClayRecipes(event) { { input: "tfc:ceramic/unfired_spindle_head", output: "tfc:ceramic/spindle_head", name: "spindle_head" }, { input: "tfc:ceramic/unfired_vessel", output: "tfc:ceramic/vessel", name: "vessel" }, { input: "tfc:ceramic/unfired_large_vessel", output: "tfc:ceramic/large_vessel", name: "large_vessel" }, + { input: "tfcscraping:ceramic/unfired_scraping_knife_blade_mold", output: "tfcscraping:ceramic/scraping_knife_blade_mold", name: "scraping_knife" }, { input: "tfcchannelcasting:unfired_channel", output: "tfcchannelcasting:channel", name: "channel" }, { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" }, { input: "firmalife:oven_top", output: "firmalife:cured_oven_top", name: "oven_top" }, From 0d64c4df4f5367a9983567d195724cbf5842bd74 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 00:47:38 +0000 Subject: [PATCH 050/157] #2876 --- CHANGELOG.md | 2 + kubejs/server_scripts/create/recipes.js | 19 ++++--- .../tfg/natural_blocks/recipes.rocks.js | 54 ++++++++++++++++++- .../server_scripts/tfg/recipes.temporary.js | 2 +- 4 files changed, 69 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e27d4714..05d2891c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,8 @@ - Deserts now contain oil spouts for heavy, raw, light, and normal oils @Pyritie - Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert @Pyritie - Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie +- Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie +- Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 864673961..9dfed7c04 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -58,7 +58,10 @@ const registerCreateRecipes = (event) => { // Remove Table Cloth recipes global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove([{ id: `create:crafting/logistics/${dye}_table_cloth` }, { id: `create:crafting/logistics/${dye}_table_cloth_from_other_table_cloth` }]) + event.remove([ + { id: `create:crafting/logistics/${dye}_table_cloth` }, + { id: `create:crafting/logistics/${dye}_table_cloth_from_other_table_cloth` } + ]) }) event.remove({ type: 'minecraft:stonecutting', input: 'create:andesite_alloy' }) @@ -1412,17 +1415,21 @@ const registerCreateRecipes = (event) => { event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) event.recipes.tfc.barrel_sealed(1000) - .inputs('create:brown_toolbox', Fluid.of(`tfc:${dye}_dye`, 288)) - .outputItem(`create:${dye}_toolbox`) + .inputs('#create:toolboxes', Fluid.of(`tfc:${dye}_dye`, 288)) + .outputItem(TFC.isp.of(`create:${dye}_toolbox`).simpleModifier('tfg:copy_nbt').asCanonClass()) .id(`barrel/create/${dye}_toolbox`) - event.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) - .itemInputs('create:brown_toolbox') + event.recipes.gtceu.food_processor(`create/${dye}_toolbox`) + .itemInputs('#create:toolboxes') .inputFluids(Fluid.of(`tfc:${dye}_dye`, 288)) .itemOutputs(`create:${dye}_toolbox`) .duration(200) .EUt(4) - .category(GTRecipeCategories.CHEM_DYES) + + $ISPRecipeLogic.RegisterRecipeData(`food_processor/create/${dye}_toolbox`, + [Ingredient.of('#create:toolboxes')], + TFC.isp.of(`create:${dye}_toolbox`).simpleModifier('tfg:copy_nbt').asCanonClass(), + []) } }) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index a3be60a35..262c47dd9 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -198,13 +198,22 @@ function registerTFGRockRecipes(event) { // Cobble to mossy cobble if (rock.cobble != null && rock.cobble.mossy != null) { - event.recipes.gtceu.mixer(`tfg:${rockId}_cobble_rocks_to_mossy_cobble`) + event.recipes.gtceu.mixer(`tfg:${rockId}_cobble_to_mossy_cobble`) .itemInputs(rock.cobble.block, '#tfc:compost_greens_low') .circuit(1) .inputFluids("#tfg:clean_water 144") .itemOutputs(rock.cobble.mossy.block) .duration(50) .EUt(2) + + event.recipes.create.deploying(rock.cobble.mossy.block, [ rock.cobble.block, '#tfc:compost_greens_low' ]) + .id(`tfg:deploying/${rockId}_cobble_to_mossy_cobble`) + + event.recipes.create.deploying(rock.cobble.block, [ rock.cobble.mossy.block, 'tfc:groundcover/pumice' ]) + .id(`tfg:deploying/${rockId}_mossy_cobble_to_cobble_pumice`) + + event.recipes.create.deploying(rock.cobble.block, [ rock.cobble.mossy.block, '#forge:tools/knives' ]) + .id(`tfg:deploying/${rockId}_mossy_cobble_to_cobble_knife`) } // Bricks to brick blocks @@ -227,6 +236,20 @@ function registerTFGRockRecipes(event) { .circuit(1) .duration(50) .EUt(2) + + event.recipes.create.sequenced_assembly(`4x ${rock.bricks.block}`, rock.brick, [ + event.recipes.create.deploying(rock.brick, [rock.brick, rock.brick]), + event.recipes.create.deploying(rock.brick, [rock.brick, 'tfc:mortar']) + ]) + .transitionalItem(rock.brick) + .loops(4) + .id(`tfg:deploying/${rockId}_brick_to_bricks`) + } + + // Bricks to smooth + if (rock.bricks != null && rock.polished != null) { + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.bricks.block) + .id(`tfg:polishing/${rockId}_brick_to_polished`) } // Bricks to mossy bricks @@ -238,8 +261,24 @@ function registerTFGRockRecipes(event) { .itemOutputs(rock.bricks.mossy.block) .duration(50) .EUt(2) + + event.recipes.create.deploying(rock.bricks.mossy.block, [ rock.bricks.block, '#tfc:compost_greens_low' ]) + .id(`tfg:deploying/${rockId}_bricks_to_mossy_bricks`) + + event.recipes.create.deploying(rock.bricks.block, [ rock.bricks.mossy.block, 'tfc:groundcover/pumice' ]) + .id(`tfg:deploying/${rockId}_mossy_bricks_to_bricks_pumice`) + + event.recipes.create.deploying(rock.bricks.block, [ rock.bricks.mossy.block, '#forge:tools/knives' ]) + .id(`tfg:deploying/${rockId}_mossy_bricks_to_bricks_knife`) + + // Mossy bricks to smooth + if (rock.bricks.mossy != null && rock.polished != null) { + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.bricks.mossy.block) + .id(`tfg:polishing/${rockId}_mossy_brick_to_polished`) + } } + // Bricks to cracked bricks if (rock.bricks != null && rock.bricks.cracked != null) { if (!rock.isTFC) { @@ -258,8 +297,18 @@ function registerTFGRockRecipes(event) { event.recipes.greate.pressing(rock.bricks.cracked.block, rock.bricks.block) .recipeTier(0) .id(`tfg:pressing/${rockId}_bricks_to_cracked`); + + event.recipes.create.deploying(rock.bricks.block, [ rock.bricks.cracked.block, 'tfc:mortar' ]) + .id(`tfg:deploying/${rockId}_cracked_bricks_to_bricks`) + + // Cracked bricks to smooth + if (rock.bricks.cracked != null && rock.polished != null) { + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.bricks.cracked.block) + .id(`tfg:polishing/${rockId}_cracked_brick_to_polished`) + } } + // Raw to polished if (rock.raw != null && rock.polished != null) { rawToPolished(`${rockId}_raw_to_polished`, !rock.isTFC, rock.raw.block, rock.polished.block); @@ -271,6 +320,9 @@ function registerTFGRockRecipes(event) { .itemOutputs(`8x ${rock.polished.block}`) .duration(250) .EUt(8) + + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.raw.block) + .id(`tfg:polishing/${rockId}_raw_to_polished`) } if (rock.hardened != null && rock.polished != null) { diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index b59260605..68d907bd4 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -35,7 +35,7 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('tfg:metamorphic_dust', 'gtceu:marble_dust') event.shapeless('tfg:metamorphic_dust', 'gtceu:deepslate_dust') event.shapeless('tfg:igneous_ultramafic_dust', 'gtceu:blackstone_dust') - event.shapeless('tfg:igneous_felsic_dust', 'gtceu:red_granite_dust') + event.shapeless('tfg:igneous_felsic_dust', 'gtceu:granite_red_dust') event.shapeless('tfg:igneous_mafic_dust', 'gtceu:basalt_dust') // TODO: remove nether/ender air in 0.12 From 438a2349c3c7591b9b53d8d204276a2653f835da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 00:49:28 +0000 Subject: [PATCH 051/157] #2904 Related Work Items: #29 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfc/recipes.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05d2891c9..7ca6559cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie - Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie - Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie +- Added recipe to convert kaolin clay blocks back into kaolin clay (#2904) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 692fb88a4..577940b86 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -252,4 +252,8 @@ const registerTFCRecipes = (event) => { .EUt(2); event.shapeless('4x tfc:fire_clay', ['tfc:fire_clay_block']) + + event.shapeless('4x tfc:kaolin_clay', ['tfc:white_kaolin_clay']) + event.shapeless('4x tfc:kaolin_clay', ['tfc:pink_kaolin_clay']) + event.shapeless('4x tfc:kaolin_clay', ['tfc:red_kaolin_clay']) } From 4462abee2c8c3dceb9a2166ee82c183cd0f1f74e Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Fri, 30 Jan 2026 13:44:56 +1100 Subject: [PATCH 052/157] Added assembler recipe for framed cube (#2889) Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/framed_blocks/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index 571a8438b..86807a155 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -385,6 +385,13 @@ const registerFramedBlocksRecipes = (event) => { A: '#minecraft:planks', B: '#forge:rods/wooden' }).id('framedblocks:framed_cube') + + event.recipes.gtceu.assembler('tfg:assembler/framedblocks/framed_cube') + .itemInputs('4x #minecraft:planks', '4x #forge:rods/wooden') + .circuit(8) + .itemOutputs('framedblocks:framed_cube') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) // Framed Fence event.shaped('3x framedblocks:framed_fence', [ From 00e5a9b85f810fd115f13498bf1f2fa176e1b8d7 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Fri, 30 Jan 2026 20:19:48 +0800 Subject: [PATCH 053/157] Update zh_cn translation for patchouli_book of corps and bloomery (#2911) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book * feat: update zh_cn translation for tfg patchouli_book * feat: update zh_cn for patchouli_book corps and bloomery * fix: fix conflicts --------- Co-authored-by: 闫茂源 --- .../zh_cn/entries/mechanics/bloomery.json | 2 +- .../zh_cn/entries/mechanics/crops.json | 23 +++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json index 9cda74328..6ccf049c2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json @@ -34,7 +34,7 @@ }, { "type": "patchouli:text", - "text": "若你不想费心计算配比,我们推荐使用$(item)25份金属矿粉$()和$(item)22份燃料$()的组合。在投入所需的$(thing)燃料$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" + "text": "若你不想费心计算配比,我们推荐使用$(item)25份金属矿粉$()和$(item)22份燃料$()的组合。在投入所需的$(thing)燃料$()和$(thing)矿石$()后,点燃锻铁炉门并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" }, { "type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json index 2dad79376..c6189f085 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json @@ -12,6 +12,15 @@ "type": "patchouli:text", "text": "除了从野生作物获取种子,栽培作物也会产出种子。当一株完全成熟的作物不论是因为天气原因,或是过了收获时节而枯萎时就会转变为种子,为下一季种植更多作物提供了保障。" }, + { + "type": "patchouli:text", + "title": "目录", + "text": "$(li)$(l:tfc:mechanics/crops#barley)大麦$()$(li)$(l:tfc:mechanics/crops#beet)甜菜$()$(li)$(l:tfc:mechanics/crops#cabbage)卷心菜$()$(li)$(l:tfc:mechanics/crops#canola)油菜$()$(li)$(l:tfc:mechanics/crops#carrot)胡萝卜$()$(li)$(l:tfc:mechanics/crops#flax)亚麻$()$(li)$(l:tfc:mechanics/crops#garlic)大蒜$()$(li)$(l:tfc:mechanics/crops#green_bean)绿豆$()$(li)$(l:tfc:mechanics/crops#jute)黄麻$()$(li)$(l:tfc:mechanics/crops#maize)玉米$()$(li)$(l:tfc:mechanics/crops#melon)西瓜$()$(li)$(l:tfc:mechanics/crops#oat)燕麦$()$(li)$(l:tfc:mechanics/crops#onion)洋葱$()" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfc:mechanics/crops#papyrus)纸莎草$()$(li)$(l:tfc:mechanics/crops#potato)马铃薯$()$(li)$(l:tfc:mechanics/crops#pumpkin)南瓜$()$(li)$(l:tfc:mechanics/crops#red_bell_pepper)红甜椒$()$(li)$(l:tfc:mechanics/crops#rice)大米$()$(li)$(l:tfc:mechanics/crops#rye)黑麦$()$(li)$(l:tfc:mechanics/crops#soybean)大豆$()$(li)$(l:tfc:mechanics/crops#squash)西葫芦$()$(li)$(l:tfc:mechanics/crops#sugarcane)甘蔗$()$(li)$(l:tfc:mechanics/crops#sunflower)向日葵$()$(li)$(l:tfc:mechanics/crops#tomatoes)西红柿$()$(li)$(l:tfc:mechanics/crops#wheat)小麦$()$(li)$(l:tfc:mechanics/crops#yellow_bell_pepper)黄甜椒$()" + }, { "type": "tfc:rock_knapping_recipe", "title": "Contents", @@ -780,7 +789,7 @@ }, { "type": "tfc:multimultiblock", - "text": "", + "text": "注意:种植水稻种子的方块必须$(thing)含水$()。", "multiblocks": [ { "pattern": [ @@ -3308,8 +3317,8 @@ { "type": "patchouli:text", "anchor": "sunflower", - "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", - "title": "油菜" + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():20 - 80 %$(br)$(bold)营养物质$():氮$(br2)向日葵是一种两格高的作物。向日葵种子可以种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)向日葵花盘$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,向日葵同样被视为有效花源。", + "title": "向日葵" }, { "type": "tfc:multimultiblock", @@ -3467,8 +3476,8 @@ { "type": "patchouli:text", "anchor": "canola", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():氮$(br2)亚麻是一种两格高的农作物。亚麻种子可以种植在耕地上,生长到两格高,并生产用于加工为$(thing)亚麻布$()的$(item)亚麻茎杆$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,亚麻同样被视为有效花源。", - "title": "亚麻" + "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", + "title": "油菜" }, { "type": "tfc:multimultiblock", @@ -3627,8 +3636,8 @@ { "type": "patchouli:text", "anchor": "flax", - "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -8 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 15 - 65 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)Flax is a two block tall crop. Flax seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Flax Stems$() which can be processed into $(thing)Linen$() or $(thing)Burlap$().$(br)Flax also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", - "title": "Flax" + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():氮$(br2)亚麻是一种两格高的农作物。亚麻种子可以种植在耕地上,生长到两格高,并生产用于加工为$(thing)亚麻布$()的$(item)亚麻茎杆$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,亚麻同样被视为有效花源。", + "title": "亚麻" }, { "type": "tfc:multimultiblock", From cafa289f76a4a9838080d44b69c904c3f59061e5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 21:45:00 +0000 Subject: [PATCH 054/157] remove create stock bridge #2915 --- .../create_stock_bridge/recipes.js | 28 ++++---- kubejs/server_scripts/main_server_script.js | 2 +- pakku-lock.json | 70 ------------------- 3 files changed, 15 insertions(+), 85 deletions(-) diff --git a/kubejs/server_scripts/create_stock_bridge/recipes.js b/kubejs/server_scripts/create_stock_bridge/recipes.js index 4cfa8fddd..6cce7de17 100644 --- a/kubejs/server_scripts/create_stock_bridge/recipes.js +++ b/kubejs/server_scripts/create_stock_bridge/recipes.js @@ -1,17 +1,17 @@ -"use strict"; +//"use strict"; -function registerCreateStockBridgeRecipes(event) { +//function registerCreateStockBridgeRecipes(event) { - event.remove({ id: 'createstockbridge:ae_bridge' }) +// event.remove({ id: 'createstockbridge:ae_bridge' }) - event.shaped('createstockbridge:ae_bridge', [ - 'ACF', - 'DBD' - ], { - A: 'ae2:fluix_pearl', - B: 'ae2:interface', - C: 'create:stock_link', - D: 'ae2:engineering_processor', - F: '#forge:exquisite_gems/rose_quartz' - }) -} \ No newline at end of file +// event.shaped('createstockbridge:ae_bridge', [ +// 'ACF', +// 'DBD' +// ], { +// A: 'ae2:fluix_pearl', +// B: 'ae2:interface', +// C: 'create:stock_link', +// D: 'ae2:engineering_processor', +// F: '#forge:exquisite_gems/rose_quartz' +// }) +//} \ 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 e0cddeb76..408acefbb 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -237,7 +237,7 @@ ServerEvents.recipes(event => { registerCreateFactoryLogisticsRecipes(event) registerCreateHorsePowerBlockRecipes(event) registerCreateHypertubeRecipes(event) - registerCreateStockBridgeRecipes(event) + //registerCreateStockBridgeRecipes(event) registerDeaFissionRecipes(event) registerDiggerHelmetRecipes(event) registerDomumOrnamentumRecipes(event) diff --git a/pakku-lock.json b/pakku-lock.json index 28949f71e..54b43aefc 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3963,76 +3963,6 @@ } ] }, - { - "pakku_id": "Dzg6pHg5yCqd3AP6", - "pakku_links": [ - "Nw8xTCQngHA15ilh" - ], - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "create-stock-bridge", - "modrinth": "create-stock-bridge" - }, - "name": { - "curseforge": "Create Stock Bridge", - "modrinth": "Create Stock Bridge" - }, - "id": { - "curseforge": "1256341", - "modrinth": "V7mbOBO4" - }, - "files": [ - { - "type": "curseforge", - "file_name": "createstockbridge-1.20-0.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6784/442/createstockbridge-1.20-0.1.5.jar", - "id": "6784442", - "parent_id": "1256341", - "hashes": { - "sha1": "0fa15f11788e3bc3a812fc597ade17af33888952", - "md5": "1359e31326732aac28d21ded5371a9ef" - }, - "required_dependencies": [ - "223794", - "328085" - ], - "size": 170122, - "date_published": "2025-07-18T17:47:38.837Z" - }, - { - "type": "modrinth", - "file_name": "createstockbridge-1.20-0.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/V7mbOBO4/versions/rzBecedb/createstockbridge-1.20-0.1.5.jar", - "id": "rzBecedb", - "parent_id": "V7mbOBO4", - "hashes": { - "sha512": "ff39b4dd4a024dcb8018bde41d0f77a9321be9b9c6314eb7ea2d5070876d735fc72c0d46b1b27db75fa099062a8f95eb9d860396dd6e9dbc8aae7018a651cd51", - "sha1": "0fa15f11788e3bc3a812fc597ade17af33888952" - }, - "required_dependencies": [ - "XxWD5pD3", - "LNytGWDc" - ], - "size": 170122, - "date_published": "2025-07-18T17:47:40.706650Z" - } - ] - }, { "pakku_id": "Fu7EpxmtyqTkOiMR", "type": "MOD", From 6048c274210e0d730ee4e5e0bd0c9dc261b0c3f7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 22:51:46 +0000 Subject: [PATCH 055/157] some more vexxed textures --- .../textures/item/ore/normal_chromite.png | Bin 0 -> 464 bytes .../textures/item/ore/poor_chromite.png | Bin 0 -> 539 bytes .../textures/item/ore/rich_chromite.png | Bin 0 -> 582 bytes .../textures/item/ore/small_chromite.png | Bin 0 -> 304 bytes .../block/berry_bush/blackberry_bush.png | Bin 0 -> 6591 bytes .../block/berry_bush/blackberry_cane.png | Bin 0 -> 6766 bytes .../textures/block/berry_bush/blueberry_bush.png | Bin 0 -> 7160 bytes .../textures/block/berry_bush/blueberry_cane.png | Bin 0 -> 7028 bytes .../block/berry_bush/bunchberry_bush.png | Bin 0 -> 651 bytes .../block/berry_bush/cloudberry_bush.png | Bin 0 -> 545 bytes .../textures/block/berry_bush/cranberry_bush.png | Bin 0 -> 6496 bytes .../tfc/textures/block/berry_bush/dead_bush.png | Bin 0 -> 6977 bytes .../tfc/textures/block/berry_bush/dead_cane.png | Bin 0 -> 6975 bytes .../block/berry_bush/dry_blackberry_bush.png | Bin 0 -> 589 bytes .../block/berry_bush/dry_blackberry_cane.png | Bin 0 -> 475 bytes .../block/berry_bush/dry_blueberry_bush.png | Bin 0 -> 716 bytes .../block/berry_bush/dry_blueberry_cane.png | Bin 0 -> 566 bytes .../block/berry_bush/dry_bunchberry_bush.png | Bin 0 -> 647 bytes .../block/berry_bush/dry_cloudberry_bush.png | Bin 0 -> 536 bytes .../block/berry_bush/dry_cranberry_bush.png | Bin 0 -> 6542 bytes .../block/berry_bush/dry_elderberry_bush.png | Bin 0 -> 564 bytes .../block/berry_bush/dry_elderberry_cane.png | Bin 0 -> 424 bytes .../block/berry_bush/dry_gooseberry_bush.png | Bin 0 -> 596 bytes .../block/berry_bush/dry_raspberry_bush.png | Bin 0 -> 7443 bytes .../block/berry_bush/dry_raspberry_cane.png | Bin 0 -> 6378 bytes .../block/berry_bush/dry_snowberry_bush.png | Bin 0 -> 749 bytes .../block/berry_bush/dry_strawberry_bush.png | Bin 0 -> 7223 bytes .../berry_bush/dry_wintergreen_berry_bush.png | Bin 0 -> 650 bytes .../block/berry_bush/elderberry_bush.png | Bin 0 -> 557 bytes .../block/berry_bush/elderberry_cane.png | Bin 0 -> 418 bytes .../berry_bush/flowering_blackberry_bush.png | Bin 0 -> 6911 bytes .../berry_bush/flowering_blackberry_cane.png | Bin 0 -> 6720 bytes .../berry_bush/flowering_blueberry_bush.png | Bin 0 -> 7523 bytes .../berry_bush/flowering_blueberry_cane.png | Bin 0 -> 6867 bytes .../berry_bush/flowering_bunchberry_bush.png | Bin 0 -> 741 bytes .../berry_bush/flowering_cloudberry_bush.png | Bin 0 -> 704 bytes .../berry_bush/flowering_cranberry_bush.png | Bin 0 -> 6519 bytes .../berry_bush/flowering_elderberry_bush.png | Bin 0 -> 704 bytes .../berry_bush/flowering_elderberry_cane.png | Bin 0 -> 430 bytes .../berry_bush/flowering_gooseberry_bush.png | Bin 0 -> 669 bytes .../berry_bush/flowering_raspberry_bush.png | Bin 0 -> 7901 bytes .../berry_bush/flowering_raspberry_cane.png | Bin 0 -> 6451 bytes .../berry_bush/flowering_snowberry_bush.png | Bin 0 -> 776 bytes .../berry_bush/flowering_strawberry_bush.png | Bin 0 -> 7482 bytes .../flowering_wintergreen_berry_bush.png | Bin 0 -> 710 bytes .../berry_bush/fruiting_blackberry_bush.png | Bin 0 -> 6844 bytes .../berry_bush/fruiting_blackberry_cane.png | Bin 0 -> 6715 bytes .../block/berry_bush/fruiting_blueberry_bush.png | Bin 0 -> 7497 bytes .../block/berry_bush/fruiting_blueberry_cane.png | Bin 0 -> 6860 bytes .../berry_bush/fruiting_bunchberry_bush.png | Bin 0 -> 722 bytes .../berry_bush/fruiting_cloudberry_bush.png | Bin 0 -> 640 bytes .../block/berry_bush/fruiting_cranberry_bush.png | Bin 0 -> 6915 bytes .../berry_bush/fruiting_elderberry_bush.png | Bin 0 -> 714 bytes .../berry_bush/fruiting_elderberry_cane.png | Bin 0 -> 440 bytes .../berry_bush/fruiting_gooseberry_bush.png | Bin 0 -> 583 bytes .../block/berry_bush/fruiting_raspberry_bush.png | Bin 0 -> 7834 bytes .../block/berry_bush/fruiting_raspberry_cane.png | Bin 0 -> 6546 bytes .../block/berry_bush/fruiting_snowberry_bush.png | Bin 0 -> 732 bytes .../berry_bush/fruiting_strawberry_bush.png | Bin 0 -> 7439 bytes .../fruiting_wintergreen_berry_bush.png | Bin 0 -> 751 bytes .../block/berry_bush/gooseberry_bush.png | Bin 0 -> 610 bytes .../textures/block/berry_bush/raspberry_bush.png | Bin 0 -> 7627 bytes .../textures/block/berry_bush/raspberry_cane.png | Bin 0 -> 6162 bytes .../textures/block/berry_bush/snowberry_bush.png | Bin 0 -> 287 bytes .../block/berry_bush/strawberry_bush.png | Bin 0 -> 7371 bytes .../block/berry_bush/wintergreen_berry_bush.png | Bin 0 -> 695 bytes .../block/fruit_tree/olive_dry_leaves.png | Bin 0 -> 475 bytes .../block/fruit_tree/olive_flowering_leaves.png | Bin 0 -> 724 bytes .../block/fruit_tree/olive_fruiting_leaves.png | Bin 0 -> 611 bytes .../textures/block/fruit_tree/olive_leaves.png | Bin 0 -> 620 bytes kubejs/assets/tfc/textures/block/glass/0.png | Bin 0 -> 440 bytes kubejs/assets/tfc/textures/block/glass/1.png | Bin 0 -> 446 bytes kubejs/assets/tfc/textures/block/glass/2.png | Bin 0 -> 446 bytes kubejs/assets/tfc/textures/block/glass/3.png | Bin 0 -> 403 bytes kubejs/assets/tfc/textures/block/glass/4.png | Bin 0 -> 407 bytes kubejs/assets/tfc/textures/block/glass/5.png | Bin 0 -> 436 bytes kubejs/assets/tfc/textures/item/blowpipe.png | Bin 0 -> 326 bytes kubejs/assets/tfc/textures/item/blowpipe/0.png | Bin 0 -> 436 bytes kubejs/assets/tfc/textures/item/blowpipe/1.png | Bin 0 -> 443 bytes kubejs/assets/tfc/textures/item/blowpipe/2.png | Bin 0 -> 448 bytes kubejs/assets/tfc/textures/item/blowpipe/3.png | Bin 0 -> 404 bytes kubejs/assets/tfc/textures/item/blowpipe/4.png | Bin 0 -> 409 bytes kubejs/assets/tfc/textures/item/blowpipe/5.png | Bin 0 -> 439 bytes .../tfc/textures/item/blowpipe/blowpipe.png | Bin 0 -> 242 bytes .../textures/item/blowpipe/ceramic_blowpipe.png | Bin 0 -> 563 bytes .../tfc/textures/item/blowpipe_with_glass.png | Bin 0 -> 445 bytes .../textures/item/blowpipe_with_glass_hot.png | Bin 0 -> 433 bytes .../tfc/textures/item/ceramic_blowpipe.png | Bin 0 -> 356 bytes .../item/ceramic_blowpipe_with_glass.png | Bin 0 -> 440 bytes .../item/ceramic_blowpipe_with_glass_hot.png | Bin 0 -> 435 bytes 90 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/firmalife/textures/item/ore/normal_chromite.png create mode 100644 kubejs/assets/firmalife/textures/item/ore/poor_chromite.png create mode 100644 kubejs/assets/firmalife/textures/item/ore/rich_chromite.png create mode 100644 kubejs/assets/firmalife/textures/item/ore/small_chromite.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dead_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dead_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_dry_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_flowering_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_fruiting_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/glass/0.png create mode 100644 kubejs/assets/tfc/textures/block/glass/1.png create mode 100644 kubejs/assets/tfc/textures/block/glass/2.png create mode 100644 kubejs/assets/tfc/textures/block/glass/3.png create mode 100644 kubejs/assets/tfc/textures/block/glass/4.png create mode 100644 kubejs/assets/tfc/textures/block/glass/5.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/0.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/1.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/2.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/3.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/4.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/5.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/ceramic_blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe_with_glass.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe_with_glass_hot.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic_blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass_hot.png diff --git a/kubejs/assets/firmalife/textures/item/ore/normal_chromite.png b/kubejs/assets/firmalife/textures/item/ore/normal_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ccb9fa1d68a1c3fae708d9b91efd7b863f9b5e GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6viz(ovZtznFo6G1k+?F~s8Z*-87o z4+n^}?w=C2Vw;{*E{}@yWd}`-D92SA8Ec)l`}zG#?JF%W4v5j(>RqVql+&iAn(5mv zb>fi#`%C4EzmhK-$L@Gv^L@{Ey+2!*%;%F?C&$826vnuq@aBX%mN_zWS+*H7By8X3 zdEO{-irZBlx!-9lLbFrDOqnfLb8Mca6S(qP#hcj^L*_HwUYg`^%=u=7gZ}BHqI(y1 z?%U;{e|o~l55ms-d;;#>TzogHsQ8}X#`99kr@Vg6BoU@#V;g?r^BW5TugzPx>L>l~ zRD2sY`P41LRcQu=v5X!5-9N9VUPZ9Ud}b2je|*%B3n4RaZb!VdB|79C}pn#F6MYP|hX?S7Bjr literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/textures/item/ore/poor_chromite.png b/kubejs/assets/firmalife/textures/item/ore/poor_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..99d8cfa7f7d3843c0d63133ada4ce6d241a1117b GIT binary patch literal 539 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6vizGP*Zc=>P)*;|fm~#}JFtXD8jy z4l0y5X8$VkOz`T2bHyPR%P(*$g&kgN`2LzFTb_CB(SO_Y-Y(joARe79kh96nt66YP z-;wK4uRb0(aMhQo+3m&EeP_8~zjNxp>|t7W=hn?*9BCUrv1T1o zTXekQ*MrV4EKkCWH&{4$vkTrW-nn&iZ}6(kb9@RaHn=A#Gd;9Byi?6scuk6YaOHo# z(lrmKypl+pH2tV}j!pEzmA4+~Rg^tFzc$T4`1^}(Q5tu57uD7l3sqZOUsCc%?DfN9 z9^;q19C7U(=h8dw`UL041PPlZ1uVR!xwy}?Ct=#*X4^cM-(POM)od`@CH3L$Cu4?7 z`n6ZP`-L22vw5uVujG{0j(;%uZGpN7)5mK5Q=Jyf2Xak0^k42UXgqRRb4^X-!?jlK zPs3|OlV0_59q6=BJ}&j>)J%?#C0vJUk1S~VeDGV3eQ~E{G4HyiA>#SM7n4J*Q>)&Z ri7$Hj`?co(7KSfV^yfYM|G17pCt+3KPQ8VosAuqW^>bP0l+XkK*$L{b literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/textures/item/ore/rich_chromite.png b/kubejs/assets/firmalife/textures/item/ore/rich_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..34675371f5542be37c4e6934e921d219e10cf879 GIT binary patch literal 582 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6vizQjPUn&d$KVc-hm%F~s8Z*2xF6 zg&jrO_h;xXG5e-)>#o~mXLD{L0mD{RUEMW?Vwd8o%-#R%FE!V{XA^S7d7-z$N{I-j z*>?}KUAwvLuCtjLqv$o~vj>uvuz#G}HuL-MXW#GbX{_%#Q_6W>-rk!bM3w)*!;6W} zq8vWE8Ve>e9QbySZJp|htI}U&r#HS|qG0~4liO7`^kjUeZM#z-d%^?j4ub{Xj-==% zY!33d#om@gzUx9Ow4ZKiKI>%} zSs(JqhKJFBXY!H-#HoZzjDwuGN~;`e@U!!W(Q0mSh_h zKCoucS=XDn^;XBkxn%~ONo@O^?-w$Dcr&lY?9dvPy8p8d8~8*vl{6R~-CW&a;1K$$ zBG6~`S5LX?uXxo?Hyzz-m><9Y;J5QenG759>>3jLZVLD=ig@??zTM-x!Vgt{LoTa6 zSdyIHkWyaHuOqOZ(YyS;!Y)G|*0?L_C54Ll{|_I`;oGu`Ppl$PC$=K+OopQFyx-z! l%$q)aR#bPiKK#EgKBnosqpit`qYMlT44$rjF6*2UngH75`Un63 literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/textures/item/ore/small_chromite.png b/kubejs/assets/firmalife/textures/item/ore/small_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..a6919375a85363b15457f2e81b7155e89d76cf35 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6vizGGF)onm+>r!(LAp#}JFtZztJu zHzkO)&Og-Dl9jPxQpt)IfvA$AH_Z!vwfBCFp0!9`!7{@{#Ukawq7P;}zdn_k`|(aS zAOCdj{rbm^T9ao!y1M6&=AMZ4FZ$bN>{8+qee!Vf^F>#6W<{=-Xq=-p$42~+m2+~# zoh+NXljqIc{L!W4mR8Gxmu$P=wyAV=3uf#(Sh7#$L+qqeQ)id_o2Ss3#B_h@t-X(3 z-JgUsu3?MWuYDt)Pu1bcc8^6C-?{!ZWO2K1Wv$)+OGYl|2d7#KWV{an^L HB{Ts5`Q~~t literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/blackberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/blackberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..5b463414eba2e91b808d8577e73cc9e211930f10 GIT binary patch literal 6591 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 WSdr@-db?sl<2IhIelF{r5}E)uJ~c=H literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae2dc67c8d29aafb6d57c851ef12d34f5a64cbd GIT binary patch literal 6766 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/blueberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/blueberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..439bb03122b70c413671f84f4e7309e0d0515aee GIT binary patch literal 7028 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 iD`dDPwmn4op8W#%DO0Cu?$-p3DS5j3xvXg0{t zN{%AO>K~_a7Y6D~TQjNjpzsp~ITog6H?;L*UYc&(c71+*+fU_7d8u=6DLEZ*n(d(U zf-UxDlHr>q#l&?NB(L4cPGh_G{oeO|?|T)5-^NXT_qJ8W-|R>8%opGEmnP5dS!Ve7 zcRJ&RxA9C5_|q6VbZ%r%eVQR9oLkNivD9W=>Vq33{-5I+d?+Se4 zBU+&A+}!WkzHaZbmX>c>bk>7pz==O|vgI=#0FA z;|z~_18b2LPTu5Bs_>t`Ke3 zW0QFw|4x5+Lv4Ru$j&^GmE~DR-*2jwu3Go_B-{UozQKHlTCQ4MUDQ>!UURd8Xg#~R z5r;7EnYJYH7EUMCtlNE@^Y1hCN%at;rXn%=^|z`)??>gTe~ HDWM4f-b@}M literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/cloudberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/cloudberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..4838da0cb00cef47c4cf165d7de73d4f6a7a290d GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||>kOZUoem^*)ho_xXHrw_$rra#+o(ThV+XS<-% zMuCgvM>oEoRIxtt#@y}3`Oi2*PKE1v-aPg^OPe8KlY|h%jZJM9UM`~fp|h87w!8FK za#`heJFe(!3aQfnr>-zs{@b|h_2Lgxy}$qIoOe0VbYGF?b^bTk+}~9*Hz<5r!NJ6! zdHceN9hMxnQaw=?vU&^-&xF%f-4d$mSg+}C5_dPf75TnewPI&w0}qj#CZ z`Iio_dwfkS((n8=KD>jMAJq;*XTeH^FF(#bSmxbcA$(Tv&blu~$%gmb zf*<@=7QMXGdAs&O$?|$%9WPTJwV4WEPN;nRJMq)Yp4}2XQK>)G{y(zFGG6}Q?V&{T zg~xmCWc4msB^N)^5WM(XeDx(O=Uw*G|NLTXx~C#5Y7sSufq{X+)78&qol`;+09*9y A*8l(j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..6e4f8ec7ae4e7cf28eeb769bb6a0af254a36cdd3 GIT binary patch literal 6496 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 ZgZPc?f^5sceMdlP#M9N!Wt~$(699KZ3p)S+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dead_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dead_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..fb65029d415b559916aae21caf1f266af503ecb4 GIT binary patch literal 6977 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..770575cacb576df32f5f740a0a1d4effb694fef2 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||SV|6 zLk0q^@jX|}5_DK~MVRhg>t^?Fs!v$|d%JDrjnh>EEsYM}19DonaHW1z5G`E&`kbcX z=eT_{eU2ReE&We=Vo;2nKSzpk)%vbWIuAWG`=&fPRlPArlELA>s3Jp(o3gRgG#Rb; z>!1G(&r{bj^po8Emh9|DXwS`L_ccRas-MPJ|ss%k7Ry=X|=V&n7 z|CZ|ZYVW?g3*D*=*%)kc9;NLSpC)rmvw6jl>(9-N78}m?pK#mB=B?u_)i->m9bN*A zjX5oS&UwB0#nzm67P?j1B3eR8V0aQ^?(3dX;@F7o*;5n$2HeMacXUOa5So!~bUO7^WBIeW&#T=&Y}7mNccy6XQga#3hP>6849Bz* z7liDau4g1=I)C?XL*}I|8Qz&}UY&WXGY_qDH@bg8y3ZxrOPGc6xO=;eUmSzR^e&z2 z(Z{qF>N#I>Z8Hw=Dp_=*CA8o7o8PVz8Qz(%j94Cgdnnm(uRz6S`vmh%zH|IUX1bka zPuO|yQhzez1U;iaU8fKJ<9ix3(N9FOVHZ!Pcjlk2(|MKr%L6}qK9imo7kp}|(l<}` z-_|Xm{O5HI=C1vqop(=#gXz$!<1YIHckI|FD3%fzyV53Q;kKnFd-=l{X1|&Hw5pro zh0DZ?QOT7z!o;)=Y}b!3ma99e8k_RvafHYxhoh`Z?LxOsW~`XA=faAgIh)FtZ5BQ5 z-p+7rBg23GJ9qmxDm2z?Ia$;ETMUzmHO>zN0~U98cHT!lu7(8A5T-G@yGywn?qcz0< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba5c70b7e8c18e14e63d167a519874bbcf3a249 GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Otwav0oqFaN90 zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||;}BppkXY!^^_hWz@vx_hV~EA+-pL!Y zZ##$_tDnA1sk!Y1pI*xf?}Eh*2TKYTO7dtP^JYsw6QD0?)b@|_Sbg(xmQ5umU+}~_ z?ap{9pl`;wdYdPpIB6D)@fy`@P!x)lL5wM6OqBR(N8?;Zjw8 z(_)Ezor~4_8xy5FLQksCo1U?D<<#zy-apops;GroY>MMl}jg0;hMDeZ0@edit9FA zT(A3a@Bi5reT<)CJyuWS5=uyXT)A}8mRfsZ{ZCieC-k+>JU6lL=%%%SBB^ZIZ&&^b z6baN8H@s}Qv?)cPC1b55i{hn?Mkmj61WkHZu_NRE<%`FU*1kGobnUZ?$z{v6v-=o4 zT935Xo^Mrn;A-)4&yvXXYU0a}d%p6CyK~C%Qk1@0;mw)i!VEdNdHy(bdYe`mV=fz*#F)ZHKP~NXt-Sd}`$5Fwb z??!OPKZleJk9yWSe-csM+kKCDZuNP~?>3H0-I^N?o?O_si1+cym^pLhvco;6J)E^V zQiI`~Uq7RS|1*XTtsDGNRg&v8%c>dP%xYb%vTl+};kjqu_}1T5=`Id@^R42o8vC-w z#VMTMZu!2Mb@Zx^NaUQ!M=bBIOFv-Y_3Gb5{tvepG!CwtWZ}g$<;vxp?$s*O{t7mz zocmf~RG(+?ru0jNk$BnJL!pz}g4Mf=8T{(Meog*(#3*L+5zCiI&pX4~Ai>L& zyUcuF-NLVbqcdk23NCnfWoGRC2O1}nKe|-?KTxt!h`n#p4@d6ZX&-O?`y#*N;gw8_ z(nT4Euj+`boAjmr-+^p%$!}J_9{ink=DJVsBHqofXHO~;dcNf5w7lz!rv$Lh{Pp|! zc0aAC)u}gB3;PW0(+cBwyX)%N3#LB#^C)P~6E|xwrMA6&@8o|j^=zK(d@1L&QOskF zNHepB@4ly+<+o&5lwQjDtyX$$anknV>mo&V+g?7pYRcDzNprq6i@BXE*(kJl)>6hl z3tUYfrDbfqy~B4WEAWr}V7FjtdrxGxIXL zd+v(uH@U5}O8e%WdwVa2uT5OPczJhdrqzL;N0E6D%= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_cloudberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_cloudberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..7a940035eccd4f3733949fb684a2df1ca93a4d39 GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||6G?@`>L}b_|^=?aY_;6&e?CFkPLn%#-!u z3G0JzcjrEwX}0@w*|W1YjWLz$oI_6^sS)I2kT|Kw*pMr_G3Kp{-2aLBa$lq^=B*1j zJNtt|&gza;sgGhiZ9ac2IjUyEalTZ;S3cva_L^hGvb&Di-)Lcfr_JQ>!26OT!#@e( zJiZ#wv$Hxst1^BFVPiOxBEib@i+7Gb=jsdc=c^y@XcD!uh>zvQW0h8e!X+2WWJ5ZH+Vz+rQ96c6+Y`e|5=j zVXNHVnTzy74OgTv#ZNj_zxVFv?U%P*Tr)HBr&fLKoSP+1@7*3sFvow2o3GEg$Re?L o+UmJK{`^V{4g3>RJokaPnWmCfn8Kt61_lNOPgg&ebxsLQ0P@G*d;kCd literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..09a4d20e5a957782c1471802ba3c207d2652f0cd GIT binary patch literal 6542 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 OwBqUN=d#Wzp$PzPjS;Q@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..660dc7eae6578220236f4483e4439bcf34a5db89 GIT binary patch literal 564 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AA$G=0C4i%)r2S(9^{+#Nu@7G+Yww%IS-Xsf?6i{UP|AW zWO?|6-{hH!&u!nIm)sC0vMcJ_!K!uNcRQS}71{M{&wbXk^-q`{R8?M(E|cv4#ZXgI zXFPjv!T$dSFD$;a#je_O?6dlkNYAO)Ey@ZnZV9P8`}(#gV|`a@ZA~3>fXQ3^<^-^uxdtJzNGYfrb@xnr;&s?;1-M2p{^_eXh z_UxN`C2jWwv&kxUtIw7#%(e8a2|MPZx#NC4gT>x@P3e#`A_qRM$d_29QS$X+MexC@ zb*!-sIq{QztogRvp<9KqXvvL#g%=7VbeHp3@rB0OGpc=z6!p!1@~_(|T--N%({xo4 zS0|BOQTy5-pRHJKcDq%~tATOSP62xrM#jByatsy>^Xv@+mqunP2}ia+_C1@XFXHPx zYwD6n&-@!lKdW1m9Se<{d?Z~}AvA9GPKF-!LnddvWDH$|ZoFr*mHRre@A~P-oKFh& ztkhb6w!yadQmdKI;Vst0M4K32><{9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..c12c2189d36abb6cbc4a18b50f222626e923d4b3 GIT binary patch literal 424 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_snowberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_snowberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..1f2d2dc7a9d8ff83a1d4dbe46ca63396a1e30ac5 GIT binary patch literal 749 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||$YMo|k2s+$nFk>$F8^%LXp(Hzkwu6jG(4b=M}XjQzvC<#Ld=_wu>Nlv)$av(pV3 zSrwfUj0BRe_4hd4*nRX2_+DS&d$@%z7&*`YF;(SN(^&Y+2qm_bHz0Opd=liXP|XTh7B0 zW!gM-vvA01%YAzSF1+nM`Pq!2A+6el;lZwGliSKhy6q;qEx&hX^RdX)**W)W&F~R- z3=idf{OkAh|F6Q%CNNBhbXuGoymEzc=xNKmZSEmjuhuM2lCa;)uDm*s_2iBouUe1e ziFfpv~Sj3o{itq*s6C`+Km*%XRMVy@sA^ zXB}*DR8gW^H0+ z#^~@SrtNiJpziaEeP05#UcIT5Ho2`_bXV8tCCi_F{~6Pq*X?dqDbjzk`AwyCOq|BS zZ|av>lb#zbnt1s@`DR-sUv9?_3Y@OK+zahzO#J(!>uOc|@7>vAA398?Y!<$AFJ|NG zyu>Iz(NB?T3_JGjOk#M!pB8c=y>jb4$I!!!ok{F>@6BLYd+~&(&*`7LkNit;yLdt~ z%Cy<{^gzP`0rzopr E08NfUc>n+a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_strawberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_strawberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..14a3c67dac2944004224df4837ed5112bc56263c GIT binary patch literal 7223 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 KpUXO@geCxdwPXSS literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb4823387cbe0efce78e86e84d1bf4160a9199c GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!ku6l-g>$|ME`CUH*}#}JFtxxpJ(Jqi$+ zQyuBzVUVG`XAgV7tC-o7kEe7mWh4tbo%++*YM+pt`ItZA2m3T7GqYPi7`qR)9(5{E zUSjAXB+xxacUrOezPr)$XBwxctvgUZPyPlA!{K;KLhc$NkSQXnGa&=D*kyZ8E?0kO_}RtX3$`x0r6JQeVv zE%#)OsGd|T?R1MhTqD-yx7#(cE_~$%dxj0x^AzvDP2YO5ShwqvNd9{N8?xsggp{mp zD*qih(PvroLCurilU7$myn9!1?6}^WzVtmaN>k%3Rev##;?y57!r)`a$Po%+cxd&6UoXhA&=Na*VZKMwd~k5>tu{Ymd@;ICWgfyy$o*f=ltTmd?>&sN@G!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AGYjNstNu$H2h2%hSa%#Nu@7Uw;UWKx<=gI^-{6*ylRu%Yq|5f@1pqER^N-;FY;l1#I@(gWgFIg{U>o`cjrVV zhPBnV*Jj&ZyDibMYK`uLBujROqq{qI?yuK&ESKCFvh=ZqjKzF8t+Py8$94w6&2=&O?nRN z^jz<)_*VDnNXEHpJ&ck;$_%iFsqiSN3$SSx$greojT zb*2^DTu)wG-L)r>X;Eo@F=K>pOJ?Y`3Z)K<4fgBK=yXo#yMFpD=aZT$jkVR%8Px# literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4b55a3265eb89304e20c652a6cf514152754c3 GIT binary patch literal 418 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 Urd0Hnm!N?wPgg&ebxsLQ0LC!0g#Z8m literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce88e414101523d46430bbb0b83fa1cf866d07f GIT binary patch literal 6720 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s-eX2qtN`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsHU}&z<&IgXhnA&2JnWj6%mBe%`zHpjuzOw2os+*F?~{L{dFR;KuZI#lE`F}M zvg7&u$0_->`q+|BJ6bM< z-#<6?#jlx_$(AMYUi0SfW!NibaN=C4+O{3mWv3bE*&EH_SCn7>&>-sA<_G82+!ki| z#HIfG!PLsMr;}bx{-_>gv97SW(R#+mSMhzp6}6QnL?Cn%~~|;PU?l6_p1|^-PVIL~W~^RfaEHTK)=~0o zfWhZ)=C_u29h;%(pYrt(SKUs@mV#s>^Y=4YoigSWitsg@|5oE0C&|;soOYCHv#z%* z=a%H`V}kN7#%gR|v~@jhg)wv_SRasd*{d$y$?Ur6(HsFrcUF7Jt}7eMSw#Xk)*bYI zK2!Nbpn2|N>4nMbxbt`yr!{sQ5bRu{pwX<|f2i$;;QEe*G8R7soOpyxmP}A~mv`<7 ze56ws8L@|@Q)$s8746m67X-Rq&A2otCQ0P@grrGJG?&gvG;uCIc3o1qNN-)iN7X42 zOENrF!(05nnqG-mx@zUhXV0X}uXKvdHpyN2)K7Ndm0Et=vX{4l&oeJHtN0=4CSz2x zWTO7H6FO1$TfRpwo@`ofV5)xVsFaX1Y?(bLQnf!eCCJ=z z^GQYRrsnC1lP+f%v9Z;vi?hYv`J43a*zAx0`YVdni_?O>o6j(wyvu*a?-RGVuid(n zyDGKVz~pj4QUHL;4s7hsk*J-%+x9cFP5j|$(*l|MW_{Zi$USH4 zu2j*^wH^|m5|^=UwQzM3P`+)lzCCW`Rn1D_XD?Ix_TA^^(KA)NDsk*v$K2!Fb}0tw zStZ5!Zx#6V;qcWaGx*7_db4h^*-Un;UaJL2wsZXczIsNRI8Nsq{DgrpRYPa zIA)*X{$sJ)oX@>mE~oBfUey}QR{3vN+-^7Wx%Z!_lX=_pN>}4UyT0PrEt*?z9NRVB zm`k8&@5!^tpXZ)_|Lwf@?}V2|B8N9!o{%l5e!(~?+cxO%oSlW|T|BqkJ$>cNTpL4u z;pI86=LXlVlGG2D-`Sx1yRly7)Y1RSxPf1*2-8hQ|5WO|ImTY%UpM{L z*Sgv5xhJtiC|G~b@}RFlYLOY32{M+>jW0qJaE6ZNe4sT;U2>N6PU zD{1{*_{4VVF2Prf-&iJXU6=ptW}Y>7eV@JJ{^?ux-=6$Z+AldPo?AenS zbx-*b8p6`40%kMKfZ9WyUIbA5g^t6Y1Qj*?&Ew(sCg$~DAcAYb;j5g0` zeg0!td;k0Lz;#1a7cK@!tMtx9#mU&Ik2u>$ddmzsB;+&NIJc%Lze)4ZJZiL0UT&uidE0D0hk^)#sNw%$0gl~X?bAC~(f{C7qo`J4wMP`|i zk{y?VO;JjkRgjAt)QF;#G+U*Nl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp~?qLeh< z;>x^|#0uTKVr7sK5Hnm-i<65o3raHc^Atd4CMM;Vme?vOaVaP$Kn>3kHSNR}2lsY<=C=RJCNYxKYEzU13N=|hxOU)}$Mz*vdr?eQ^&eGykkPz72 zIVoxS6}b?bk@dKH`Ub%DfPyhSGq(V&1Ed;RWlAz!T|sG44p>b}vVLk#YHn&?NwL16 zo*{~dN;10+w{a<5fNesX4t z6@-~+nPOySnyPD=W@e&mVq}=8Ymt_esB3I!kZ5F_YGP@gnu27MXI^nhVqS78$f%0k z0=>-46f4stqg1n0OEXk(=&@piYh$`cnVFO4J5&OWEPj?7gZwJADmhU;X%BWlL-zg1qE<1V3n8*3I5{5 zGH7a5fJr51B<7{3rr0V$GaF1i6H7w2NJ=tGGBY#LO*1ev&^0kiHPuZrO10FrOg1)1 zF-^5?dwr%-jNSJS%8G)1M})`tpoaP~tK$G6WTZ zh6W*qhE|4VR;ETukl0qBrS}ZYl9G}wj7@b-O_I%YO_I%%bS;uC%yrX@(o)S*4U;X? zOifUoOAYTC8CaRn#e1p7mMNA=Mya}~W+rC3CYFX~x``GB7P=N`DMkiHhG`b2CT2A7 zp1GB=1uXV#^g;DwFf^^&fNBt5Un}I)Yy+xctUN)*NN{OEK~83B5hPuMbA51XAtW8x z=;Kg_q#s;p#DHE4~wAv5bx+Vq&#yU?I#}JFtODAviW=fPeRxd7C zSis7APijR#bjgFF;0Xn+z3$PC-X29)E(Bcm{mZBn!NPkn=$-0|S3*~=q|EQueW`G> z(S;@dvggukuJ3<*wA=r_a{hGje-U1qg*M(|;ggvR#6n;E+NQB|Nmb0U2eBJAn0c!- zyuSVD*EWe|=Mq&i%U<%ceisc=O?#En;;ViT6F&XC_54eEDTy9A8~?_N1}FHd6d@%6tDrq94K_xgR=9s6_>i!Z$T+St9?Q}cN~yPF(?#In91 zuTwvx&l;3QUCy_dr#k)T>xGW|41AYdR~=8C613?0eM6tQP30HsyK4;A<##`h{8Tx2 t;*rEted#CNj*0yXmX_RIzisg=X6p-E|F=wOI|&*O^K|udS?83{1OPin1AhPj literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c851bf7ab3d4afe89923e6e26c109228cbc9a5 GIT binary patch literal 7523 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 h*%vQIHZgC0WWRe}PQs>l_dP(PeV(p#5V7z^ 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_bunchberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_bunchberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..de5fa00b9747c32c703de8ddb3cc5932bbe9b1c7 GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||t3*6SZp)bL_E8C=6<=g8&7!O^Bv%Ap%6#KU+}twd{y^FI&k6z!A@!-dY9OEM;2 zauwnz<80J%^rcN}I`_pLo{0@}XI)HRA&^iMa!}w}i1Yf--esPZm0bJM zcGo)QZlmcdHMkn=A5M)o-@ov+l@o_oZ}}5HX_3vLPk*jf7g})ncklVk#QMiA-<}%v z-L#SGcb_REwdD0Lhj%&i%;VV#jASPTPX+Cny1;;o#${og~6KWd~2+wb{v z=Gm=&ik$7sa-9AZ`$y{D~?=FT&yX|(jkqe*nazf9!vphaB wy-P~2{$#h4sz0Q?zCYjRGUK;P&riw!D|hVjaWQ+&z`(%Z>FVdQ&MBb@01TNwS^xk5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_cloudberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_cloudberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc5406fb07d7d2dc896cfec6d2ca5119a2d29c7 GIT binary patch literal 704 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!jDzsQZcM{HQfIq-w>jizgcklY=J?Fpwth4W0Ir&S{qS6^v`_?i% zn%Tk7QqqvNa`m#;>C0vdzmLCUz5i(bxn;pEB@Am1|M{-6cg7A@_dlJU`fBXQtBXu6 zCMT(;-+wf-V=prcC2X1D*)1<7u`tu&nJ*p3P1UQxzi;DVG z8UDQayERg3!_JM(J0%TH^&I`~@cMnw`R$>Xx;YPgUdnj<{=R~eLaqkWRl#ppC#kBl z+xxu;`Tec7%K2Yb$%vq9lg?aZ$5IGD{%Do$=c|9U>dis!ep zQjWcOrnTzoI_3?VtopAdZh9$F$Mw<2WuD99)f;ekiJ{JuOg`rRv~Y@Al+cTwwmNRqV{|97X7 z+=mm7Xs*1p^4rw8Pj<|h&B*?&C2Z$%hN!3WKAq%Y`f@J+WytSS=kNblS;Aa4)o<(i zKc=sKZu{iPyNmUB((C8%XJ6JS4V}F1?(G?h%EsF+sP3Kdhqa5zVaIZJ=2f7S=;`X` Jvd$@?2>`aWMTGzW literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..08dc83666d0ae54f54a1f417a00540fe6c88c4e0 GIT binary patch literal 6519 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 E0An^PvH$=8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..3eea72a37c29611325b69e8324960d1b4050a436 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AA${vZ{UT%fP^B?djqeVsU!zB*W}O4l+mY zw?3G#Qh>u$p~Yf{hnTqaZ%LUY-f8Lkon9)rt6$$Wg~xCEG^=pdcJ5d!39lBF?g=m3 z6yn$eqh_gH+TQ&@~8ZO#N@Wb2U$l8bu^bwD%R6n`soqFu^V5X z{oA1|8@@i}Tx!AcJIcNyK7ZLu+P@wW`1<@%Vd+dYF1BXIS!dPEX7k?T*N;$GckRIZ zcPBpGY=2(4L5G`R1Mi~KZV_w4UVN>ZasGKlRc(tvWFo`K+i&<@2X*kQ{kHMw^W)-w zUiO7#U63zVVOY}H^fbETW`?iHTDId?Q#FrVKEr$4MWn?bS5&d#sEXQDNgXvq%SK@( zYx7lS9;Do06I_(gKl?UwR4(`Ci?gP%S*+7DU0b%#*0+zsg@&G6`v$woU(PaK@hdQ3su=8j(NswdO#J^lFZy5;w|za{=9wk;NBD3P5X`pT85 z;cQm-9=*k{f9TBAek)cSymaS&7YP>wnYptLOHFYS6VH!-v_H+liqquq#ghdkQX#jW z)bDqnmo_jBO`cK>!-Sk!PTx$dMGa);>P)}s%bsJ-bA9{@nX9%nXNaN(HT))BM)FVE^TV3vMm*tZ)20JG*7GsouQ0qo2-Z z@2UU5*|c)`%`2HbGj@106qMXfve)J2-!HrQY*x2teWO8#0Gr@F+g}~`o=#zOD30iE zoN~BUqxFrvzTaoKI+pY>4rj^t6bpnWMPA({Zcsr4o+&klCwXPJN{XMe%Rq6%g#CR Z{yRd|!v#MvGB7YOc)I$ztaD0e0ssX%9yI^} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..01c360273a31f43fc859fcae8590cc79fd737adf GIT binary patch literal 7901 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_strawberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_strawberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..75eafad0e8a739f5555c8a078c627a809f93ab93 GIT binary patch literal 7482 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..df0c7cb1e012011f35fd727babe0b34310da5943 GIT binary patch literal 710 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 C{%FMj literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..66cf6674c53b66bd004def307fa480a834b0c1d5 GIT binary patch literal 6715 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 I=akR{0LXFK)Bpeg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..565097b6857ce301a8ce68e53188957c2823faf4 GIT binary patch literal 6860 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..05a9e56b75d5311934650176ac7ee087b035ee90 GIT binary patch literal 6915 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..870021d237a40e04c14105838093fe7645601eb1 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AFNG+ILFiJ_7?&xTlL_h{fs9$s7G|JBS>s zPoK%-7v;L7QNV*C{e;7m#*ik~X=w?Kx|FWvG4ICt9}(@e+f4phV!2#dADxZ5KzFVw#Kur^1Dy|PYE}jKYN1C zGAHa8^LgrPSO4?Gueyey^Z83s-~TNSoT2S?HBxcbuU}kMd}Yg+4`g^Y7kfyY-?&!q z=q0Cy1u_07lQJ0_4(|=#xXW0XanIt&p0n9j`3Z%y|G(HWn^~}Hg;30ML08qdy{@96 zNmcXYyVeL~JgxHDHk)~(MYM9Io&U8fKZAcA%ve!)=hemXm`%(4c3TRpS}-fDLt+2K zX(vBdG93G)_$DvUGcyDmvxxG`8e;znGRo7+byh&a!_dULp$Jb&M zGR4X0^O1}d6VKQf=Iv!rh}-MB=G_^Oqr3{~X+M8%JK%dhaZ8EhtA&#mn=q7IJ-KaH zO||&q=F=rH3=>RCt<=BA$lU2X6cgB|`$9U;Ve8kXr*~OqJ^!ib&ykjs6K5Q?>&WLn z7YqtN>QvZAAGV&AT50Zhzwn~FGp`rR=euolW-oyske0XnV$30ixk~^;$86Wwxmp{_aE;4U@7jd|p Qfq{X+)78&qol`;+05Rr3=>Px# literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..b01f8559ba0574ab812085304fa4dd0ce6a4a0d5 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AFOB@GVZA&cMLv>gnPbVsU!vBt!p00V1vE zm3x_wEy-;C)a6>kC#w>hknyO4d9w7mxx07#FrG2~$@f8b+@ zmTA$IZ1$YGPkn!~Wv3Zz_cwTPW`?GSgp~SLfrqK@_E?FfwHAMTLm2N ziCi{5a941i{QVDC@3z-^-uTj*GxHzQqmm!I3=;S2jIKXdN$qe=JlW*uajGevRIsxx6zU%Z#hQf!LVeEjQGqpFm}JinW7{Qms<^VocWrpTJ) n59`^d87QVoWY3<)_<%jnqSITP_tFst1_lOCS3j3^P68ildTJSnIaC#j>ZdCV#=XI?`$@`rre3Y^g`NL==k$(A+qlnW1 zh1mf-Rx&)B4jz8J;Lg{SpclT!AMf3Le?NOofznCMNplz!e3-c|H%zm>a9F0~-fc_$ zjvI@wKjK}rM$pr*`(xM6ea%_ie-7E7D`KBi9590|MVaGr!z7;>v))}dZC-GTX*)yT zZ()}=7k$Le?A_P$+M4aEkC@N>tG^QDc6O*Ne{Y|)V_$RJ{$ojdk{A|TW8ZOo`i!2U zw9C?;99N$^WTJ4re8H*xhdtF^JY9LHu-<9?{nppk8w69nONT^1IIX^+&sHa?f134$ z>*p==-mNou!mM*ldl@ThgQ7eG!?XRf`}IO1rQiK5Ib2uAe0QJoypv6xHx@tsmlBit zB~xJ6KSrICEGxerH2MB3_RgJH$F=;=1ZOW>ChY0AYK^qG$^M#MiO2tP>idg^L~h^2 za9{@$!#3}=Pdab>Uaym}(b`kZW2$LfxB22`x2wNc8+6qeeB3Nwnvr_5>|J#I{kBP~s{b*>SvfV#iO(`&U|?YIboFyt=akR{05)p=Y5)KL literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..12f81388aa38c62f43fa7d84da65561cb98d85eb GIT binary patch literal 7834 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ᨹ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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_snowberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_snowberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fe164de8b0411ba24717cdbe8e565f1d3aa660 GIT binary patch literal 732 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||LejV~EA++{v~c z%7FsM|La>8Mf&?%*f(!FG4q7kx?4E{N0iHUo=fx2^-;eq>r2-kF-m7XRd zd=IvzChI6MFvwZ2-?6*WZE3+tp_LLdtz8)$Or%mfLwaT`>N;X;R~o-zo6y1USM*t0 z6@o)1rY$kZi#GF0YcA}NX78&0)@ZLG^?b*!eTTkWF$pt&zG3Tj7yf+{Yfx^Xps4h)%iElkN`^R9JV73@c%SGj1p*$9Q7c>izpg1_HI7e8i<*^+x_Th19j z9;NwfjsBgqPPnHiUHAF$^vkDo=C9qFd lZ@Ko&z88sz!hi1pH)$eI{U|?Wi@O1TaS?83{1ORY-KcN5s literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_strawberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_strawberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..49222cff1e893c577c2175471327f8e8c377093a GIT binary patch literal 7439 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!uTUsr`hlmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNPt{9=T50oafJV%_5eyB9$_09r7kTUak_D`+Ki>GlQggPI>l1 zjWE%bW{>CZU;dL@e!i25VXB(qrXMbykGS)0%=5pw|J<>^tNFj(tJyMp`QgQy5A5f- ztI5{ip8I#h6RvlcW-I313beOYSylTl$wQp$v~vIKb!{%Zto2rNq%_i_r?q_kE%wUd z|KE2l=dZ7sKVkdZ<0q~^pCPz+-UW$0@&{SFqx zxcipYvn`L`jO}chFe&d^CuazGzSJwD}PS_4j*ln2Qy?7GKQJF?+guCi{=Lczf>a z3@n%VjFX#>UQ1r2w){?%4VUzbhDOf+?qYi7rVRp#Z&}h~7?`HTc=XLVdoTUDfIFKV zYugQHX;Fb4Q)=3$+qF3`wEvBgF5YxIx%Sg?NlR{rB@O~Y%nO*-ge5W87o`-eaELKn z>Y}OcH;Ie2Yf6X4Wv@EbcA4T+Q;MJI>@0Y2qO;R@bK*m#IHpO-LX&iKl$Iu3WID~d znVW4&P%W?NwUCw1PK9P=F7WTxHO<<&G4qnwciWODoqo3E?=GD#U=EQgT;izAFK2X$ z++qHlOw_BH2y`FN(tpCUMjlDBFT6X>}G+rH^-r*ko z+v?mFff>7PgPRMwe{b7z?#A6b-L#-Nf_m(wHx0i9FN$)wv_<#Dy{7)nQy#xQvnQ?S zyVcn(qU~jm4_Nd0u~)O4oNpT+<8b?#$Z8{j^cPEkDoXMh5$x zD;E4pZ#(^dzu829d4?YD~s-IdC+$Mx4UPD+q%!5E}ng7mPEUsn&9@$Wp%Nekflvq`--2& z-#)Xb&5B9RD_Yd@Id__qmV)I)8|}5PSfmeM`^=$j(Ywk<$lKf{?s~(q#|l@wb2sn$ zcp?Ag(@nCHD>N5QsFZTqBzHzg%&6Hm@UWm;$cAoV3&VK|5lbdswqeV#l8Z7|{cT`) zru4&(vXH)St(OvPUIqIxFkr>;j{oX%yyU)orKUGbO7o6;m_Z4S))xa{+jv+V~8m!4gmAQ4yhB!TZ*=Ic6#CV6@vXiLrYo(?so3B|fgFS~J`hdFwAx>)uteI!I%}@wKz3^|SHb zp1o$V>ed}`Kd;HI+Hs80GAC8EwIHB!ZANDP(H$W-wn=BN&Cs||@%i)dR+)mFig_IC zdZUjk7p;+r@a^0zy1-)VC8qb^+8(a8mR!mFRV#+|bHf7Wy+Knlzq*M2eyOjT^+5NW z*xVo#ZSe22rno2X zl~A+0%-h9dQ?J^(NJe<}!P}L|6MnCqb5;MBlH{INu0rEkwJK@h`Mt8PpDv_WeNixd za{K0z`$0{`5k~Bqd7B-pcFoi<52|q1?Uiq>>3ZjD$>j8|Z^zZ;Khu`3Ro%DX-twz6 zO+6dG9Cy9oV-hT2w9E0-&hC<5e+!?4hV2iz%HT9(vRrylkDGAI{?xCzt?%Y_NFTpq z>f~Y`{$TA~&8!XX&E_9HgIoRfb-sRLv})Co>-|CUG=zFMoD+igVZZ`Hm}+m9=73lp>l<-vr@*_RKu0W zq!n}Le{8xmbBb*8-W3iypMD{{(zAHs*U$Fuj0#m`U|?*`baoE# zbasYS`wR>fb808rdK?ZAY4s0Ysx+0aOrY>Yz+9aU(ZVTVI!&#Y!ZNNNe6qCu!V*Q# z!a|W4ZoYpyVX`rEN=pkwSq{nzn47D+ifew{x8#D-G4B5Fh4*aRzrSN{3F}>%c3)&c z*0hP9$Bxz{hVtxja^SE#A~0pf%H^B7Ei0~Fw=E62>smRj{Qi8?B_h6TKU^MFE|V7f z$oBEgvZclM)cH1dEfJV6>@QW~_{e?TX}$f0de%B0&TN=?TBYOgk))mNPvz1?omJ;4 z_Gzqg`{{Hqwe_=D`qpa+bE`jzvvuF{n)Z6ju?a_nf;^mCde~O2IOsH`tXD)>(yG7u zhr4Y3tQe!6s}i0>ILKEC~%8SZ{6-$d)Q;%F(~`*O7ZA>vRrkF*MZ-XwZV)M`&iko z-`QDuuJ9MblZ>#_<_8Wc8U!wTQ`%q7|K;4<`}5BIsbdJ2D4L@cot(|Uz&|H5B%&n3 z*T*V3KUXg?B|j-uuOhdA0R(L9D+&^mvr|hHl2X$%^K6yg@7}MZkeOnu6mIHk;9KCF znvv;IRg@ZBspanW~5}trC?K(l4cd;;s!OMC?(BSDWjyMz)D}g zyu4hm+*mKaC|%#s($Z4jz)0W7NVg~@O}Dr*uOzWTH?LS3WCX+vm(=3qqRfJl%=|nB zkeP`|`K2YcN=jS`3JOreGYd+RT`Nl97J&F*|gBLoqo&SHB{$K;KZ$KtDGZMMrUoYZ<~mtU8KADhpEegHnt0 zON)|IUCUDQN|cc;EyyV?Mz*uGI29xWc6Uxnntnwt#AakY?w-B@a6O=4OwY_M0P6s$ zMpl`U3|CiBT9gA;laj2TnvVR8;-QkvG(-fU_y;5d4gzH3D{>3q=A)>F zg%?;cI9#n<@{>zJmU_C_DuLW!z8QnChA&rkLqkn5LNP zCYl?Y8XK6KT9{cTAsOYFS6q^qmz)YRsv@^QFEca6$~?t5EipCOK-VD6(oEOH)YMQn z(ahLFH#sTAG|kM?EYZNo0?7#fqRjNnyu=)2SAmR5$xN{_OiVRTwlq!BHA_k})-_2n zOw~KEjtgC#%_W946znVMIU2+AF{N`_$ZirfM#=c3falKi5O{QMkSC6H?s zjPwi*z?n+H29!NqD@v?<@{_?D!HQE;?7%q+oNt{H)Ahkz8-09=F-!{1$S=P5ni%W_sJqdUUO`Q!S!FpsCm*f{! zBH16DS_t7myp@v)4k`r&a4}$&m<$R2;>5Dl6mS$Mz@(Bh67$kiQ*4!>nGGhMi7g?g zni-}hS(@plq*)m0nj|MB>n5fer|6~`8=II~SQ?onnX@FIS7NK= zo|#(!j%Ni8X!_GcRbQTw3QAlCMuwn5(9k5r$k58r+{)Bk2@=~1Hu|6v7Uo+UP#NUw zYlR#hHlQ-f$`h0jgG&nvaxznkARz-zH^Hfe5R+{5ai~Mm4^DRZ1hpe8gXnh7FQ_ca zOwTCsFVDkkJr;!!6MQn0Q}c@P+KsFP5-dm+ksTK_sDfPF?6_?7!L=c%W`u+VsAi%i zhNeDRTA`pYY6(f44zao}e!4b$;f1x) zm0Y=*FK?gc-agmbWi>T9af8yd9p}!5%$a!pxvEi5#2L9= zaXBIOOZh*aYiOV6zt`(lm9E$Iw?6gx9=DD8o@T8ocshBGP0^LLc0ZD>8*AsvZ2H%; z^4!52?VFhlF7FEueV_4s=PSjO>zVsc%{X->JlwtNjJC+3_REmsx%%5|xC&U+uMlRv3r{RW$^ zh)ZIhPBJb2``M`0PWw{rGDpi8JvK3Zh6{6lbFDw_9eI1nqs@<2pEWX{q-qp1&Gz`L z(4C<(Dy)l+$LueB%eL}~)Ulii8JjxpWj;`pWPSfCwau~l#H^O{vLQ-k04{@@g` zdil7ps# zp%K1UmrP1~SGPdy?R)v6MN6ErY#ZNg`|xa|hMUHT&EL-kML&OdFj$W@;rmR+f+|xP z|B%ZY);g8hHka&)ThF%stC6YQ$;lfz87&IRc1QK-7}Rf6`5nK@UDW!FgtKZJMSDe49sNwd@qp}`BGj4ia3sp20Pk;4i*BguA)i##Kvz!lyv~2vB zdb4^@;N40QhX*U7J#TuQj6X6-bCZ;|fSex3fyc|EMS>E)Y+k|Aw<9EYduM!{@5y?( W)-sV7A=eLsa;m4RpUXO@geCx*n7X3? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..0501a7e7a518169a9e0e2252cab3eb5e6ba596c1 GIT binary patch literal 751 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!kujPA23+V2<`m})#-978Nl=T1KDEgdM* zzTa52^Mc@Uc9%qzu25s{?h8{@GiEszsB^@6I^LNQbRzx%^V?0=^>}LZ>eBv27WW$U_MSHhn8teGRgbgk`>uW4 z$BN2 zcM}7T3cH2ftp!)?dyMT@mP~rnfB(*J@t9xXXV#rvxuI!luK3;mFRn;zeQ#RzR_>Lf zc8JsY1$X!F`XS>i#T%9`b4NUOj+iayy8OUttvBzUJhkn#$F;z6N8^yClggJ~vFAB( z^Cz!cl9J<*zRi2WkIkGP@^!({3kl-s&&_LMJc^^fsAL`U@KHIW5WRI(P3_+V>4RT& zr|!|__C0c2^YlLZv$y?O|D`>A^QZ0UUZeH)5uc3r8nm-V=xoE^x9aET&C0pD>Jp#$0hfiR!q)!En4!r2E0FohK6a`6 zwE_-TdM;*v54dGB<>pq)RE^V%&YP@w66^WYD68OmOZESziE9=!h|TgS+|zt{k-DI@ z-}<|Um)5%$X|8R0eVcuP*X;I5r&2>~Gd?~!?5$Kb=kg+ThI4p=fS?83{ F1OSF7Q&Ru{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/gooseberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/gooseberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..17eebb5e5b3afc8ce3b66360fba63290c684368c GIT binary patch literal 610 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||}1>Q z+W{hN^R+pSFeL|=C3ExK+|s)H=zd4ZrtLh37R7p;1JCH!*!#ELUGww|t${q&r>V;l8K$*4&e5XrFC;#m!ps zL|t`8?95c|&p*B~Iqbcc_+^pV{POcV_UwD05i*fW#W?`j$twaZ4L?84%M z8=4D$UU@Bha6|L1qCfsD7MwT#Ue)c-*B8mm^b^~0C&rQS-0pOB?=8>mb1FS`mi)QS R$-uzC;OXk;vd$@?2>|ra4|@Or literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/raspberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/raspberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..cf53806fa19ef602698fa98b15fd330e271fc286 GIT binary patch literal 7627 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 HN@xNAQq(E( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/snowberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/snowberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..5518d987d1d4aa4eba4239be0e2c47a9157b5740 GIT binary patch literal 287 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 NJzf1=);T3K0Ra5$sD}Um literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..0813022a5896ad4dd7192bc142e81723991c75c7 GIT binary patch literal 695 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!kuq{iz`Z50LvCKpc^#}JFtxs!dflpH16 z=4+|#dYO>!#?iD$!MH@9DUZEMQSZpy2ZA;Y;S*vO@;?w{y2&cu+imBNAa+;!U_vv8 zlxX(iru#aRgp7UOa=rRnckj7wX#Q^opW~bd7r4r}Rs3DXuw-%Pr)pkCi&@O}_5Tm$ ze9KBbx8m)z#g+^5Pkr|}&dE?H5t#qG=+v|oZ^hQ%pYr5oXy@xm#h=bRvwmc-C`?mf zo%c!Yg_kd~G$dRQT7Q4aON&7Br`1PF18?gdT%h_gW6_aPPj_L~1heXupfdLu`r3@|>TpGCWa5r>5y#Vy#=RcA1N(- zm*?p&9Gd^T$fTWnYKcjpt2?v7?DrS0w!d0B`F{3^Q*%~^a-Df*tuuAb4% zo5AYvI*s-BMWko^SG}|@wOd@aH#e%}i~EE%6{+VUw60$~Ygzf`eaX8#{YMr(Q{rZR vPCXvA^nj_T^|rH|2TniUyeVn@{VDq=zbfjvA-(4?C;@u9`njxgN@xNAcVsvF literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/fruit_tree/olive_dry_leaves.png b/kubejs/assets/tfc/textures/block/fruit_tree/olive_dry_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..576138159ad1eda37b570c20cb482410dff80c72 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O1ek{PV_{rKX> zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns~eVC7|%)!kq?ErEf7F~ifvF~s6@ZScZL z%?1Ls-TO4Vj)mTxIeXDhW|lVp10@$iHB`7l=N|mPX)5}$-2Cbn?gB>F=QZa_j1}MB zk&2j9yZilK)(V%%CCk?F9XrdoU>%>@d7;Vaos11O-aPXe9RkAHgT+=(+`H)PGu}Fr zT=$Q5+ZHHsEqu<(BjHok@<#M&WYWHU^%ucpcCYscxkcg-7eWbkJjF}>2y-ZD+N+vug>d-?e* zUI`bz(-RJs%42?1+q3NL3G;-f4XgM3{t_Ft@{IS>s29yY?Qc!)wKKT=tp2-W{JWp0 eC+=POpP`CJI&ZFZpDY6d1B0ilpUXO@geCyqu*>lP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/fruit_tree/olive_flowering_leaves.png b/kubejs/assets/tfc/textures/block/fruit_tree/olive_flowering_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..56527bec945c1ba502045ce6168abfba41980040 GIT binary patch literal 724 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7BevDDT6R$#Zvn+1_lQ95>H=O_7|+Y9BQW1&5L3g7?=`0T^vI!PRC9*%n%Ng zI9{*Mazt_CP6f##XaAV0=GZRZ)1nK#A5NRIV6^~~ql;Ht0DJp{h21G99*A&A$}GL0 z)2OG%YpNNv@lsmP6>-zUsxzXeJ{P!G`8HZ^&-Z`#fA72h{eOW?wB@|D46n{MF=>Ry zhOXPir4WB+WsTu-ne%+-zuc}dT%MG@`t%n*eO8C1SH$|#SNq5BGn^EBDm1(_sy1;Z z+sl$kDA}x=tLNFSo8YlzLU_6iFQ3FoO?7$u6)sAyum5I$iEh~K z#?~;y@8@!R)rlS-|9-YB4-!i=YfhD#Q&a0MaAsYn_R?)TN~<>>KOGw0`$Xil$%OE9 zoxAl1-{0i0oR^Sh9O9MBn9Cq@J}i6n=|lmBg$H|{Oz~T-U(&n$xwG2-XMg@OzbrA@ zQ*0Bx^s=YU(wByIAJ*)$6*7COzi-xb~}PnOQk!lVtUtkmb*v;i1&Yf$jHZO458yRrCS#h5|`-8Kqx4S61-kz!dY|66r%}4s! zopmldL|bvK49eoxEwhRK`ESmn%YO^fUY%{~id@z>^X!EcrLKD;0|GrR{(K=D*R}O( zYE#0obIH=O_7|+Y9IE_PVn1{k7#Kfzx;TbdoQ@6NpMBdw zqIP~%#&wk|0v0^;_DH_Dn4o``$91*it)>eLmX>UsrnDu}*`5E8H#_$p(cll)jVb=$1(?*9Jxp8MjD6BrZr-U*0XB2&eAH1Yt0!Q3+^`(xM| zewDZ_zkRI4NS)zC_mu6sZRhxH@BLcj%pg$3*?Y{nuBxJK9bd=h2Jy|JE7O>-n}<)( z*ALR$dThb{W@Ym_@Ao(QW8(D9ue{v0a2D^2R}FhSDy?Qt&NAb%X1G(giP8CRzM(b+iCQl;Xr?kn77)~qdBgNKTf!-KcBaH<<^gH-Sza-R&yV6+|PcT zt=pf|<3RlW`x{Tp_j`6Fh%4!`%?BFZfA9bCz6cbN6^ehO^t)+8jRT zxaZcIMIP4{PM@&(?%Rd4cs-Wpnl79^p(N2nuBg^(c3Brw*XD+&6L>oAdTdmkzI{s5 zgl$urlABW<-Y|Yvo}M~EB?n})-^#D9o4z?tjGcdO!l9en9_c*TFP0y$yDBvQ8v_Fa NgQu&X%Q~loCIGEW3hV#? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/fruit_tree/olive_leaves.png b/kubejs/assets/tfc/textures/block/fruit_tree/olive_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..46940bf1d55ca3456d6d4a47c2ce57c6886ac9b2 GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7BevDDT6R$#Zvn+1_lQ95>H=O_7|+Y9I6sOkJi3sU|{^|>Eak-aXNOgVfO6+ zk=Fg{TuZyzXFob9^(ZfF;W7a!Uaq@aJ)HkH2zK;Ixr9Hw+nnxvLH@-9oqOIkM-;t{ zZY(xFu~bfF#q(*m55|Ok`*CmY^Sj08ti|<9j&RE|&N$=7G$Cc5%1nI*$0uF_J0G?B z)h^%b_@t}Ua!-O~ymW)fxn6OrPd~mK+P1>OC_XR$o$vj;%P+TNGKH-1{17FRzf7#k+W0PO;_gRFGQG8uZ{OrH) zSIwK1vTsRY-j|%0Dy9F^3m@cdeQ3k&kZaO#_w_$}^U2FsUfHcsv~=c$&+E6SZJwCZ z-F1BVbYc0B?BZ2Mmx`sHAKMk3`{MT7TkUGIP0sbE9pskPJnj5;pOJy*vu-orH07Pq zxqd<`H+?DGeciSF)?U3Z;WgZsVm2rgxr%$94J(j(eoU+Ew{ZIGUa#GfOO~xs`TSJg ZXkz%T2Mfzo7#J8BJYD@<);T3K0RRY<8!rF= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/0.png b/kubejs/assets/tfc/textures/block/glass/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3718d848edfcfb78983fd37dc306332d2eeeb9 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*SvBPj&dxJsU|@9hba4!^I9)o)*Z+`% zK%4vtr%SnaAis96=6YJ~@&bz&nKcIC#p{Bx8_EY5ljrZO$dgK&LtJr&Y z^J;#E8QveX?(bL!_h~z?r+iY zT`UkB;+t(Ie=h0t<=^J}Zd}^AlWlq63kCaiy5`g0T#i=PQ!%r6eMnWnzc%8w`lDAj sEM6s=yjj0ee@$C@vz@;E{y)rfCtSa{YRkF{3=9kmp00i_>zopr0JT%T-~a#s literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/1.png b/kubejs/assets/tfc/textures/block/glass/1.png new file mode 100644 index 0000000000000000000000000000000000000000..8358130cb2846956bb23a34db5494e0d9d56bb10 GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*S+xuu(;3z?Ffe+1x;TbdoGzW@=zqvT zpw<55q)C^YGG>{mG9GH>et4|@;{*Ax2hOfGe{;0Et8+<`f>*A|q!*6q#=B3<*|odY z`2F6>^zY)&?=z_Nb6#R;Fz9Ajahj{){B+&+uk*g;q}*pP>t=e~y!*3Ve1HC%E>Q-@ zSu&>gM78-|+cG?}|Bx1VV_Blu%`_>E)ROPdPfP!H&bKOYQ0tFWeR4vUgK9z(5$`YpqZ=E@X`0;FV|x$zsg1n&q=I7hoas9P=&F0pfmaNl4fAy3U%~g2GX;r$ZRl&C};s)EMVEHxI x)t|lE{cJ(=#RU6h`!-75nbq@i$KJ>6ybc$qzxCw(%fP_E;OXk;vd$@?2>@;~z3c!0 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/2.png b/kubejs/assets/tfc/textures/block/glass/2.png new file mode 100644 index 0000000000000000000000000000000000000000..a400a3e432b6062f98249dc8e166c388326ced36 GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*S=Ehl59miQFfe+1x;TbdoGzVoI_r>w zNZbAsJ5D&ns5okkXfB~2UxCz>=AnH4EkeU04GEz;oi zmeDF{Qq3zrcNf=74CTug*Pp82bcA0yA@bLn#!Xu$GPvyuc{TZkxa9XoYqu}&Zb|TX z^}?6!$EC;K=g)uA-LPq=>bv8;I~iVh#9VUa?=LZ2dAP4V(XM2Q?84QW+j!5UN$!5G z+WvEqU}lJlMEtL|ZDu!~P5XO#-nN^KKW#U-yetg=Ud4B2?T;^4T1A4&k1B~w@VT8J xJAcON_mAp&E+#}J-!cnpep}H|U;A8qzu?uGa}`&gW?*1o@O1TaS?83{1OUA3!Fm7y literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/3.png b/kubejs/assets/tfc/textures/block/glass/3.png new file mode 100644 index 0000000000000000000000000000000000000000..0c48d92a7b48a8f3a1fdd96a63f0a0687b0fd7f0 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*Sv6QxA1&i!U|>}6ba4!^I9)nvVcuZ_ zfwui_#~7zMPGJ*~3<+J*xbM2$`lYOj$-yQ8CKp_p10CZRFrT}bo^Gq@mGj*C{@?HU z^WNwCGwhPeVP;s%{XUcL{crs{auP%heErh$OjoDc@IV#I7qutWJ-qk4;PoOowL?Nx zYaKatRT8`cH~m}M8~%8&?KCkLh1)C@vkrf*^bOt0x6SN3YrxUMle)KTPV3%aEBpO~ zKeSZz^i|bqOmen7(;x8LURrm|;A~~S>K&^eJ2nYbue`ITC3Q-w>#dzLCw}3*Rcgd~ zd(G+&&Lgi?*Bn=W^lIKyF literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/4.png b/kubejs/assets/tfc/textures/block/glass/4.png new file mode 100644 index 0000000000000000000000000000000000000000..9581000cdc4ba82bc683cd61d3a87a92aa75446a GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*SvB}K8PvBiFfgikx;TbdoGzWTG4HSe zk4rpnZ(F;=gokUJ=N^>&ef00tMGlwvJKDE7Z&PTzp!i}QpNZP`Y!`+y3u=9#rZ$#s)K(mc4ZPc`IV4wy1#CFWwMOm0FW8lkPUP+o^{|ZI;t( zEWLSysWeiNar&x~XA?h#OZ6YC-gj0cWPufjh1<>e`#ZJYFT6WtAHymWy|qbajl&o6 zUFf?hpEe~l>-x4GA_d!9AJ6`AxNl2#!I6lf=%&5xkJYs|K0kNYc|%{(&55OXi7L?t zclj+hXekxfY^gTe~ HDWM4f1l6c{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/5.png b/kubejs/assets/tfc/textures/block/glass/5.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae40a5d2fd5ecba2fa40d8dd571d53711c7a32f GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*Sv6!GJNeErFfclLx;TbdoGzWT+wZV} zNSnR6*aX$Aq{^29E1lWybxn6oTIr(R#^b>gyGU&Xx9p`^2QAmVZCW1lXa48=SHAu| z%9x-XlF2aRH5-F%FT;-c$~@{JyLtaJbp7R<+kE~t-`R5CcP9zWEL*^#qLBxN;=#(OKDS#B{ll~T=RVww!+?#*Ki zJE(H;cHY4-%^i2y8cuMzaYy+5kz;;(#Ldd#v{-unbeH`nerU(B8_e0mV(2op?esEd z|Hb>ie3gtiTYC77&n52n2Zg5Rc%Isv6S(x@t9i9YBBy9Clny?_YqQ>3ZeM(@{UeXu z)@zq%WSu@xeD{ON*C%P*#ed}^7G05Cykn>5#7Vq?ubsHo?o3x?Uh>+~qR;l@S$5IJNlq9TEW4@hj)LvK z{3kwhjxPGIEPcpn&9gfJ>;EtOc#7xHtS+9&ojf4$Km3i&u@f#`X|e3}ZQHNEH-2;P z-=v2RyT2c~UGp{X{{Qds-~QNdQT<+@TXv(~yY}q=kjrOU^ba^ao+`QI$X5wH`5PxT zRR8vFvvt=qmf2r1S1?jmS?_G*&SM};3ha|F_grO|k;cZx)^_)HywRO~pIbnNN0>hT z%49gpFot2X?6VX$Hnu&p3YQrzTFm*331o+!*)A7LN%aj^uB)6(TgAv=VBW>Cb%r4` Q0|Nttr>mdKI;Vst0B$UTH2?qr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/0.png b/kubejs/assets/tfc/textures/item/blowpipe/0.png new file mode 100644 index 0000000000000000000000000000000000000000..52bd4f589db6deecdd1bae8bb51658d42dc6505d GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**%;*7XZyD^FfclLx;TbdoGzWTG4GIp zh^zlZ$1Y(PC65UL%)&l3h4zc<0}Qt&t6y5`rG2GMDae#%WvrF$>zg9}8|Qxh^RD*$ zvu_`N@+tTy8A&q+ED>wi^^(D&EdATt&Q!y~a)#NP4z+x!vU{}nZ|ZJqh6y)cEc#GZ zo^XF2gTeoUvo{sFc3;_*BsC?qNGcmHmf)oZKapTs|9??mQ{tG_RbU2@{meK#MW zwKIDy%F_Ac#Dw{;sm)F<{}y+xn)lQtH>MdEMApWq#7Mv2XM6E-TZ&ndsdTWpZ0Y5| zYxCEwR@&+_dEa#IhIu{SaTgy>3^$VAD8UzFS90ApGkm**)Q)-m6&1NRrc5=zWYcL_ zdb#qJ(+&?^|NQutH1Frnq~@q^Y(Dh4Tc+jl<&~EuId>PZrYuujb6ow|tIe60j%Qf( mWM-^s6Fl@S$**;tKEm|Rz6U|{s{ba4!^I9)o)*8i}9 zK%2bQ>aImDS+fqVy0R>I`kKGa9s5rlyVN>WP~Rs&rGS-HGf-q9A5X!xn-^v$9e;oK zccJ*ZSD&N~+?cdx9m9!S#sd$k8IFDD_uIEPWA+FB2OElKh}hiL`%(4IVwWvLWbDMN zqKmU?N~-<#F(3HDZucf8W7cgYlgkd8i!=A%+wmdc-a4fT8&i4y*h=pd*!xT8mMhnR z75f;~k|x<`-C|2V%@MQ3m!U)F<6({nulc3{UecTiDW_J*b=FNR)VnwNeVs~&Vq~mg zemKv*^bfXstGU(`MH|FUyBNpdqoOx+(RBA^DW$IaBHRC72=r@Nw`_)##cjQc-Fu&J zC=Oh5Y}$;2-zRPpnRC18{BH4}&8<5v*{5j)yHyo0cD*G0l@S$**;qtNRD-!07#Mv$T^vI!PM1zPops1T zq;3C+9VZ-OR1{fQ3?De%`6*R9X2&KY%5tBR{Z<*vzKHOq=VQ$Dj-URd6$xa1kXD#YvZt90K%rH5= z#IjdwPy9NIwfxV&XFs@`^RD~Wp~d1Y>hOX?-2a`mhBPwgWgwF_?0slDb9dCP-AIacbc=a=rD=#TTRwQpw0 z_n38An!jM{;j4Y~kIqg{<@UbQA6?9NVd9P@-Ewj-lP<|vOa1zJA+W4v-7*QO8NSA5 z{@i7oE444J@G)3drkksHLu}gH&(kjCoc|*hv8d#U`1dNlGh2Urx$;xw(x0YQeTA8A y39|ENtbYHfuIFMxlOb>K)dXv)M{)OmvUV3;_1(8`k_-a_1B0ilpUXO@geCyO?Y@iv literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/3.png b/kubejs/assets/tfc/textures/item/blowpipe/3.png new file mode 100644 index 0000000000000000000000000000000000000000..aab25553288d3e1343d9681cff0e9e586b4ef414 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**;s^LIUZZVz`&^J>Eak-ak_NU!o0%< z0&V+Uk1>WdOl1?13<+J*xG(&E?vllTbL*Ua{IZ;F?;V$Nnnaz24eFuXcASopgNfT*mv|uKl*!t3)N8 zh1aE~TySDqCZhT}{#J$Az1Ovwjx3w>4qTR*ciwx|s@#O+;&_Hondx^Ho!xw=sdU3# z)%q2yR!6MU+bHtkL81kF{fmiZrfr$$s1l_uDt0%&*Oz10?+ITR|7t!10|SGntDnm{r-UW| DTjQdm literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/4.png b/kubejs/assets/tfc/textures/item/blowpipe/4.png new file mode 100644 index 0000000000000000000000000000000000000000..464e4cb06a5da7cf45769a1b4de503eeb1babd20 GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**;x2H-B%SdFfgilx;TbdoGzVYn0MHK z$2Fd}x2@e_!o#)Aa}P>ZKbp7DT!Tx+*1=|r>?T&u7Cy)CWeYR|%ak1^Xuh8OXa4_( z-+#VjZCKZ6#nAA*=$OXy^P=a>C4T+kPpChz_P}o4n0*gTJY(2z&h@OBrK0%YAM1O5 z%az|PXEMGja=raN|L4KS5ly?6F=V~D)cR@b#-ea7g^(}OD<*mT%6Or=o0Y%TZ_So8 z+Zd+Tn>Mn(+T_Hf7y9yy^3(Mu?|Q%2%+_4tP%2Q+v&nvcQTRRQ-I}$GA(=5zM`xw4 zbCO*kyV?GX#_B8Uatk#dce7%#{7eDA1VdX0gBfx*+& K&t;ucLK6UX0IY`q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/5.png b/kubejs/assets/tfc/textures/item/blowpipe/5.png new file mode 100644 index 0000000000000000000000000000000000000000..9738f9c9da56840e71ae0041e211f73fbd52e61b GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**;u&ywDK|-7#LkVT^vI!PM1#F?RVHf zq|M%3%*6Z3kx!QtgW7rah`v8ztgta;k+3tHN}FD&@Re4+%(D+sgSx%~i-os*f3OF<+4e%FCayH2Pvo~8`-)2oyqY&}KX`Os z`{9%NJDFE2AI+0)^DBMKC>hY#mudg*{-M^>ySyE@c{O}mcX&zRfuoa;D`uomV|wuB ztz?3rkI>$?Y&lb#Zu>HHtV!6?@bt)g!vMdWCCpoL3cr*<$%R?fVnz??}!Ddp$rTR44$rjF6*2UngIF6yZ8VA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/blowpipe.png b/kubejs/assets/tfc/textures/item/blowpipe/blowpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..96b44ad035a6dbc41523189f7428d341d51dbf58 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdr%jd_r6$BqX%8wQX!{l0!|Z zG9B8BoqKD%XLN#1+zSx2H)|*kDd$+46&Xrjv*Y^L%R+N9#G(5+1Oe#LGH}~b}@k?Y;!g; zY+-t7?GSg9-}>~y2M4`e7&tFIE|PpwB>hEuA7@|)kDwTz<=-z8V$1)U1uwtL6Li$O ov5~o(@zRo1Wv>&5MAwV|KdHL(ncz)t1_lNOPgg&ebxsLQ03wx4>i_@% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/ceramic_blowpipe.png b/kubejs/assets/tfc/textures/item/blowpipe/ceramic_blowpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..892b5d5c45946d4b3dba129b49472b8096bde988 GIT binary patch literal 563 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^NiR#2JLX3hkZ3 zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns~eV3udoHs2hn)x^NSc)-)eF~s6@?&QE} zw-tC?*9$hO_$~K-$+WBUUA^Gjmq%tYFx}zLQJ))T|LvoofB)|%FOPrE&(7|>-j%q> z?D$U=o$rTA`51J*J9+i5J#M(O<9`jqgNagWO{e`9Ff$IBDxvmZkFDbLQjRB^m>wUv z_4#2+(Zts>2F7Q27z7WlVA#QM&ilC)d(w=KExtRAcY5#$r@7_!-I8%T?(JTv(Kqc> z0mFh-3%Jsrd^&i`Sd&-$f*D^CN0p@Wo>g++vWmBC`}Fngq35@%8TOQ97009>{5W6A zr%hq$q|;XS%$Kj~ntrZG|3_>k`%kHxrD6|w(yn}4KUregL5EPr$KQXmGi0Cl(c5%~ zTd7HWTgQCE`TouA_d|;#I}ggX$G@L_+Dq@LWhg_+fjiQ!Ew|?1WWJMU{=kJtc-1Lo z(*?;T_v-&ib(^U9SG?RJ_J7y%>)fk~YNRJWTr_bN+l^vj*A|JkST9v&hsS@vSuA+> z^iWqGTrw84&&U_a2N-Ywc z=;vDTd(-1jOQtLcDY1K;UA%(fl3`)YAx?jHf93zG*AMG0o%HL+L=HLQ$Nb+@c><$? TdUr4|Ffe$!`njxgN@xNANI3Ey literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe_with_glass.png b/kubejs/assets/tfc/textures/item/blowpipe_with_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..750a1542104073603ae5087c32faa36412582c70 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IJHz$EAO^2Ffe*~x;TbdoL)Q0*4rtN zp>4kQ-{vj{DJ}h{vTyiwHF?_>K2&LWA!h2rB4)CMgSVGASI_ONW!uD`tU`%vAMw6C z?9}6>#G@nS?;Im;y8eQ-ET7H$-v=y(Y*StvXn*9xDK;DJ;c20-`msWpW`mC`cm5L zT(>?VHeaCch~##jf77Pi|G;)9pA`KdNdmx0zn# z2z;?WS^eO83rhqK#Yac~>4(PJ|+O>}759jt3^XIp?TzD){7Aojw uKZ7M9T-4A!*?7qv!?MtqnLqD;Vm=)`$Hm^@ejft^1B0ilpUXO@geCy8jIl@S$5IJFGx7jyn(U|_WKba4!^IK6h#MsKD> ziDUKRjcr#hMTl&@E5PUHbzy>vr*7cG3-JMWt_Zm-XkM)Q=vsWC7hl%|4&PW88NO1_ zhZ7Ddb~JC>Z{7vty)_@I=RdFB=by-B`nj<1+0(z#tO>`ob7o6M-nz+}kXQTr zx{?1mqZ3}n^3&JZbWQx!ott*Vv*T^k%w4cv2``Xr$s??1|j2qAPMC@!hp`d+I;IX&Q z5v3sAj7u-4E{(eII8YzMow4-{9IMGhb_0H2zm9xHI>}fryHf%+3gxLylKJn};$SatvKGTY8?- jZY`ORgTe~DWM4f_V~1~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic_blowpipe.png b/kubejs/assets/tfc/textures/item/ceramic_blowpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..3404fc19487f8901c5c262034e9a6b50f3b94e44 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IK@>erY&8=z`*d))5S5w;`H82hW>{f zB#wRjzmR)_#Nx)1B`=wHuPjwee6;z8;t!TO6Jhg42JW_xMbl?3bIv|qJaL(;?fUNR zcRy5rx>wEr=X)pf{VVV1ZmTeyZ{lQ?Td@DS>&u?16I;3C&N&&&+%b~5v!LYI=hO4{ zXxvqcIOinn>)yi8=#{Q9capd&yC!Qx!NKx-w!5z@do6#VvUY>%0oMOg54!4Ol4O3U z&FYKD_jgG+dS9)BS^mJ6>ezFNW_LI&9v`i_^g~U0UyW1f6n!1Opno?fuC8)*+;DTR z<>Oy0NqcQ2=Pp@Wkj$QZ{xIA8u>L)#mt-Y>44fpcI{y^Qbb0IR3zjo5Ffe$!`njxg HN@xNAc;Jn} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass.png b/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfbc61f4971abbb01a885f3738ff6c7f5b83ae6 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IJE_1uSpazFfh7$x;TbdoZdUp-rFfr z;%I$%^NIzEB@^2&XnS^AbzWGs<;eww+9s(OrCYb6q?-3R1YQt$V(#%UsQc+N`8-E+ z(WM6Y)0a3F?%^%epSmdDJH4v1qVBxqobX5dx2%JGUf1r}s>NvG^6>HPWs>pTj0)^2 zzh^jKsjNGA^lWJ3m$arFwRV{aH*eS)whBiWH0ZxkoqbYq&VsOY$w#lp{r(mcI=`^5 zS@_|Cofg>(GA5hM$~Rf1pJCdZqIK?WX<6)$U&kiu>v7j!e@GedXd5 z=QY)8*TshmuTE;4$@|tpM9w2&=X37wCDrlwO}YMEbiDH3IDOgjjMwrd)qgiGP<>vW qK0#x3Xkx{JpQ`=GpX~q2=`eM||7qcYKN%Pp7(8A5T-G@yGywo0Jhxi_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass_hot.png b/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..23f928f7404ce8780dc00255a401a842097befb4 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IJISz(^JkeFfclJx;TbdoZdUp(Az0c zqHX?c)~G8X0%9!TF z#swY`G48lra`eKNU0?j#na@|we{U@$yhP+H*WW!=73z#WlC9Y{Cq&%5&3-`X{lBU+ z0h?d6xoW-=^_?idM{^IDK&2RQT`T4AFOXKmU0(r~NEGk{OeNUcYUrmwgjpxrF zv3eRYrB8Yva>Z)lVwvpYj#B*3Z}{D=uYYV1vGy7x$L~M35(x(qPUi_*-@( z%#d9TQENYk>G5xs%}NlFGq`YDe*UH{w`3b88XPFGw=vINxX3JHt97!Y?XrJq6DrO= l;W^AaJAQi<>;Jj(pL}M1J@WL)eFg>w22WQ%mvv4FO#l^xvW5Tv literal 0 HcmV?d00001 From 328241e593953e5041e2535d527556968ffe31e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 22:51:58 +0000 Subject: [PATCH 056/157] change small wood gear to lumber instead of sticks --- kubejs/server_scripts/tfg/primitive/recipes.wood.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wood.js b/kubejs/server_scripts/tfg/primitive/recipes.wood.js index 2965d5783..70afd59ac 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wood.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wood.js @@ -131,7 +131,7 @@ function registerTFGWoodRecipes(event) { ' B ' ], { A: '#forge:tools/saws', - B: '#forge:rods/wooden', + B: '#tfc:lumber', C: 'tfc:glue' }).id('gtceu:shaped/small_gear_wood') From 40c95d6635b2060dbc9f6e07875a26e6317a5e8f Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 16:59:37 -0600 Subject: [PATCH 057/157] Github Issue Templates --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 50 +++++++++++++--- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 66 +++++++++++++++++++--- .github/ISSUE_TEMPLATE/ENHANCEMENT.yml | 16 +++--- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 60 ++++++++++---------- .github/ISSUE_TEMPLATE/QUESTION.yml | 10 +++- 5 files changed, 145 insertions(+), 57 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index a0514eeeb..e344af4a1 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -1,5 +1,5 @@ name: "[🐛]: Bug report" -description: "Report a bug where something is not working as expected, which does not crash the game." +description: "Report a bug where something is not working as expected, but does not crash the game." title: "[🐛]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] @@ -10,28 +10,62 @@ body: id: exists attributes: label: "Was this bug reported before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." required: true + - type: checkboxes + id: launcher + attributes: + label: "Are you using Prism or Curseforge?" + description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." + options: + - label: "Yes, I am using Prism or Curseforge." + required: true + + - type: checkboxes + id: redownload + attributes: + label: "Have you tried redownloading the pack?" + description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." + options: + - label: "NA/ Yes, I have tried downloading a new instance." + required: true + + - type: input + id: os + validations: + required: true + attributes: + label: Computer OS + description: Write which OS your PC is running on. + placeholder: "Example: Windows 10" + - type: input id: version validations: required: true attributes: - label: "Version modpack used" - description: "Write which version of the modpack you are using." + label: Modpack Version Used + description: Write which version of the modpack you are using. placeholder: "Example: 0.1.1" - - type: input + - type: dropdown id: environment validations: required: true attributes: - label: Environment - description: "How you were playing on the world. Typical answers include: Singleplayer, Open to LAN, Forge Server, Sponge Server, or Mohist Server." - placeholder: "Example: Singleplayer" + label: MC Environment + options: + - "Singleplayer" + - "LAN" + - "Forge Server" + - "Sponge Server" + - "Mohist Server" + - "E4MC" + - "Essential" + - "Other" - type: dropdown id: world diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index 6520e1409..63846842d 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -9,29 +9,81 @@ body: - type: checkboxes id: exists attributes: - label: "Was this crash report before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + label: "Was this bug reported before?" + description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." required: true + - type: checkboxes + id: launcher + attributes: + label: "Are you using Prism or Curseforge?" + description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." + options: + - label: "Yes, I am using Prism or Curseforge." + required: true + + - type: checkboxes + id: dependencies + attributes: + label: "Did you install required dependencies?" + description: "If you are using Prism or Modrinth you will be instructed to install required mods. Do so." + options: + - label: "NA/ Yes, I have all required dependencies installed." + required: true + + - type: checkboxes + id: linuxmoment + attributes: + label: "For Arch Linix users: Do you have the OpenAL audio library installed?" + description: "If you are on Arch Linux you need to have the OpenAL audio library installed." + options: + - label: "NA/ Yes, I have OpenAL." + required: true + + - type: checkboxes + id: redownload + attributes: + label: "Have you tried redownloading the pack?" + description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." + options: + - label: "NA/ Yes, I have tried downloading a new instance." + required: true + + - type: input + id: os + validations: + required: true + attributes: + label: Computer OS + description: Write which OS your PC is running on. + placeholder: "Example: Windows 10" + - type: input id: version validations: required: true attributes: - label: Version modpack used + label: Modpack Version Used description: Write which version of the modpack you are using. placeholder: "Example: 0.1.1" - - type: input + - type: dropdown id: environment validations: required: true attributes: - label: Environment - description: "How you were playing on the world. Typical answers include: Singleplayer, Open to LAN, Forge Server, Sponge Server, or Mohist Server." - placeholder: "Example: Singleplayer" + label: MC Environment + options: + - "Singleplayer" + - "LAN" + - "Forge Server" + - "Sponge Server" + - "Mohist Server" + - "E4MC" + - "Essential" + - "Other" - type: dropdown id: crash diff --git a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml index 2e4288bc9..d643411f4 100644 --- a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml +++ b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml @@ -1,6 +1,6 @@ -name: "[🪡]: Enhancement" -description: "Provide supporting details for a feature in development" -title: "[🪡]: " +name: "[💡]: Enhancement" +description: "Provide details for a gameplay enhancement or improvement." +title: "[💡]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Enhancement" @@ -9,8 +9,8 @@ body: - type: checkboxes id: exists attributes: - label: "Was this enhancement asked before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + label: "Was this enhancement suggested before?" + description: "Please search OPEN/CLOSED issues before submitting, as the enhancement may have already been reported/addressed." options: - label: "No, it was not." required: true @@ -20,8 +20,8 @@ body: validations: required: true attributes: - label: What would you like to be added? - description: Feature requests are unlikely to make progress as issues. + label: What would you like to be added/ changed? + description: Enhancement requests should focus on gameplay improvements or additions that can be achieved without completely new features. Ex. Rebalancing the energy cost of a recipe. - type: textarea id: rationale @@ -32,4 +32,4 @@ body: - type: markdown attributes: - value: "Thanks for taking the time to fill out this request enhancement." \ No newline at end of file + value: "Thanks for taking the time to fill out this enhancement request." \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index a73f7aa56..2728a3b53 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -1,6 +1,6 @@ -name: "[🪶]: Feature request" -description: "Request a new feature or a change to an existing one." -title: "[🪶]: " +name: "[💎]: Feature request" +description: "Request a new feature or a new mod." +title: "[💎]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Feature" @@ -10,46 +10,44 @@ body: id: exists attributes: label: "Was this feature suggested before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + description: "Please search OPEN/CLOSED issues before submitting, as the feature may have already been reported/addressed." options: - label: "No, it was not." required: true - - type: input - id: version + - type: checkboxes + id: blacklist + attributes: + label: "A list of popular features/mods the team has already considered and will not implement." + description: | + "### Mod Requests:" + "- Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech." + "- Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility." + "- Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much." + "- Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG." + "- Stargate. Overdone in GT packs. We will work on something unique as an endgame goal." + + "### Feature Requests:" + "- Dyson Spheres. Boring and overdone." + "- More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones." + options: + - label: "I understand :(" + required: true + + - type: textarea + id: feature validations: required: true attributes: - label: "Version modpack used" - description: Write which version of the modpack you are using. - placeholder: "Example: 0.1.1" + label: What would you like to be added? + description: Feature requests should focus on new gameplay experiences or QoL additions. - type: textarea - id: problem - validations: - required: false - attributes: - label: "Related problem" - description: If the feature you wish to change is related to a problem, please desscribe it. Leave this field blank if it is not related to a problem. - placeholder: "Example: I'm always frustrated when..." - - - type: textarea - id: solution + id: rationale validations: required: true attributes: - label: "Your solution" - description: Describe the solution you would like to have happen. - placeholder: "Example: If I could..." - - - type: textarea - id: additional-info - validations: - required: false - attributes: - label: "Additional information" - description: Any additional information you wish to provide. Please add anything which did not fit into the other sections here. - placeholder: "Example: This is likely achieveable by doing X because..." + label: Why is this needed? - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml index ba1b89c57..908cdee05 100644 --- a/.github/ISSUE_TEMPLATE/QUESTION.yml +++ b/.github/ISSUE_TEMPLATE/QUESTION.yml @@ -9,7 +9,7 @@ body: id: exists attributes: label: "Was this question asked before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." required: true @@ -17,9 +17,13 @@ body: - type: markdown attributes: value: | - If you are in need of quick response, Discord may be a better place. You can find a link to join in our README.md for this project. + "If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place." - If you are looking for a game wiki, we are currently developing it, however most information is available in-game info through tooltips, JEI/HEI and quest. You can also ask any question on Discord, and someone will most likely have a response. + "Most information is available in-game through Tooltips, EMI, Field Guide, or Quests." + "An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available." + + "For installing a development environment, please refer to the [Contributing Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/.github/CONTRIBUTING.md)" + "For information about translating please read our [Localization Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/kubejs/README_IF_TRANSLATING.md)" - type: textarea id: question From 12223d46873c06f6f1013cf42ed4f7a3630a71b6 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:04:37 -0600 Subject: [PATCH 058/157] launcher change --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 8 +++++--- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index e344af4a1..68526e6ee 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -15,14 +15,16 @@ body: - label: "No, it was not." required: true - - type: checkboxes + - type: dropdown id: launcher + validations: + required: true attributes: label: "Are you using Prism or Curseforge?" description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." options: - - label: "Yes, I am using Prism or Curseforge." - required: true + - "Yes, I am using Prism or Curseforge." + - "No, I am not using Prism or Curseforge." - type: checkboxes id: redownload diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index 63846842d..2421ab35a 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -15,14 +15,16 @@ body: - label: "No, it was not." required: true - - type: checkboxes + - type: dropdown id: launcher + validations: + required: true attributes: label: "Are you using Prism or Curseforge?" description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." options: - - label: "Yes, I am using Prism or Curseforge." - required: true + - "Yes, I am using Prism or Curseforge." + - "No, I am not using Prism or Curseforge." - type: checkboxes id: dependencies From 3046ee690672559e3988d776a4455270443f420f Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:10:21 -0600 Subject: [PATCH 059/157] cleanup --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 18 +++++++++--------- .github/ISSUE_TEMPLATE/QUESTION.yml | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 2728a3b53..537473004 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -20,16 +20,16 @@ body: attributes: label: "A list of popular features/mods the team has already considered and will not implement." description: | - "### Mod Requests:" - "- Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech." - "- Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility." - "- Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much." - "- Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG." - "- Stargate. Overdone in GT packs. We will work on something unique as an endgame goal." + **Mod Requests:** + - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. + - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. + - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. + - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. + - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - "### Feature Requests:" - "- Dyson Spheres. Boring and overdone." - "- More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones." + **Feature Requests:** + - Dyson Spheres. Boring and overdone. + - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. options: - label: "I understand :(" required: true diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml index 908cdee05..6def5bd73 100644 --- a/.github/ISSUE_TEMPLATE/QUESTION.yml +++ b/.github/ISSUE_TEMPLATE/QUESTION.yml @@ -17,13 +17,13 @@ body: - type: markdown attributes: value: | - "If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place." + If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place. - "Most information is available in-game through Tooltips, EMI, Field Guide, or Quests." - "An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available." + Most information is available in-game through Tooltips, EMI, Field Guide, or Quests. + An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available. - "For installing a development environment, please refer to the [Contributing Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/.github/CONTRIBUTING.md)" - "For information about translating please read our [Localization Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/kubejs/README_IF_TRANSLATING.md)" + For installing a development environment, please refer to the [Contributing Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/.github/CONTRIBUTING.md) + For information about translating please read our [Localization Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/kubejs/README_IF_TRANSLATING.md) - type: textarea id: question From 87d0cda1d5df8028f2bca25939fbef3b48ed6170 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:11:43 -0600 Subject: [PATCH 060/157] md --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 537473004..817920cab 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -20,6 +20,7 @@ body: attributes: label: "A list of popular features/mods the team has already considered and will not implement." description: | + **Mod Requests:** - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. @@ -27,6 +28,7 @@ body: - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. + **Feature Requests:** - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. From 22c884cf67aa51f6daec3e5e9617f3e9f45558de Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:12:30 -0600 Subject: [PATCH 061/157] maybe this? --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 817920cab..6cd2bf248 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -21,7 +21,7 @@ body: label: "A list of popular features/mods the team has already considered and will not implement." description: | - **Mod Requests:** + Mod Requests: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. @@ -29,7 +29,7 @@ body: - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - **Feature Requests:** + Feature Requests: - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. options: From f2b079aac5060546d47a16069ce9014cf0c3e28a Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:12:41 -0600 Subject: [PATCH 062/157] maybe this? --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 6cd2bf248..08725ed74 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -28,7 +28,6 @@ body: - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - Feature Requests: - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. From e9b0de90db6aed11d36978d20fc501789d4fff40 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:14:07 -0600 Subject: [PATCH 063/157] please? --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 08725ed74..860171ff8 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -21,14 +21,14 @@ body: label: "A list of popular features/mods the team has already considered and will not implement." description: | - Mod Requests: + ### Mod Requests: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - Feature Requests: + ### Feature Requests: - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. options: From fcf0b8a19eb048e71bb660a822d9c26f5b2c024c Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:19:33 -0600 Subject: [PATCH 064/157] oops --- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index 2421ab35a..ddac40985 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -9,7 +9,7 @@ body: - type: checkboxes id: exists attributes: - label: "Was this bug reported before?" + label: "Was this crash reported before?" description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." From c2007496caa9c7ba82a89d6cc3b9ff43b05aacf3 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:40:35 -0600 Subject: [PATCH 065/157] fix feedback --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 2 +- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 13 ++----------- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 2 +- .github/ISSUE_TEMPLATE/QUESTION.yml | 2 +- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index 68526e6ee..6064c1c20 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -32,7 +32,7 @@ body: label: "Have you tried redownloading the pack?" description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." options: - - label: "NA/ Yes, I have tried downloading a new instance." + - label: "Not Applicable / Yes, I have tried downloading a new instance." required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index ddac40985..f342da823 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -32,16 +32,7 @@ body: label: "Did you install required dependencies?" description: "If you are using Prism or Modrinth you will be instructed to install required mods. Do so." options: - - label: "NA/ Yes, I have all required dependencies installed." - required: true - - - type: checkboxes - id: linuxmoment - attributes: - label: "For Arch Linix users: Do you have the OpenAL audio library installed?" - description: "If you are on Arch Linux you need to have the OpenAL audio library installed." - options: - - label: "NA/ Yes, I have OpenAL." + - label: "Not Applicable / Yes, I have all required dependencies installed." required: true - type: checkboxes @@ -50,7 +41,7 @@ body: label: "Have you tried redownloading the pack?" description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." options: - - label: "NA/ Yes, I have tried downloading a new instance." + - label: "Not Applicable / Yes, I have tried downloading a new instance." required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 860171ff8..e3376f236 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -25,7 +25,7 @@ body: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. - - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. + - Create Clockworks & Valkyrian Skies. Both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. ### Feature Requests: diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml index 6def5bd73..ac1db729d 100644 --- a/.github/ISSUE_TEMPLATE/QUESTION.yml +++ b/.github/ISSUE_TEMPLATE/QUESTION.yml @@ -17,7 +17,7 @@ body: - type: markdown attributes: value: | - If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place. + If you are in need of a quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place. Most information is available in-game through Tooltips, EMI, Field Guide, or Quests. An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available. From c27aa89da151c7f287c8a5caa7002fe0b83b900f Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 31 Jan 2026 14:23:30 +0500 Subject: [PATCH 066/157] ISSUE_TEMPLATE --- .github/ISSUE_TEMPLATE/ENHANCEMENT.yml | 4 ++-- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml index d643411f4..0e86bfcb0 100644 --- a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml +++ b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml @@ -1,6 +1,6 @@ -name: "[💡]: Enhancement" +name: "[💎]: Enhancement" description: "Provide details for a gameplay enhancement or improvement." -title: "[💡]: " +title: "[💎]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Enhancement" diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index e3376f236..735dc2c3c 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -1,6 +1,6 @@ -name: "[💎]: Feature request" +name: "[💡]: Feature request" description: "Request a new feature or a new mod." -title: "[💎]: " +title: "[💡]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Feature" @@ -20,7 +20,6 @@ body: attributes: label: "A list of popular features/mods the team has already considered and will not implement." description: | - ### Mod Requests: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. From 0c358bf1816cbd673dfec3336f5d8d6a1cb1c675 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 31 Jan 2026 14:25:18 +0500 Subject: [PATCH 067/157] Update BUG_REPORT.yml --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index 6064c1c20..f354328b8 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -58,12 +58,13 @@ body: validations: required: true attributes: - label: MC Environment + label: Minecraft Environment options: - "Singleplayer" - "LAN" - "Forge Server" - "Sponge Server" + - "Magma Server" - "Mohist Server" - "E4MC" - "Essential" From 125daf12fe6d9fd1d6ff9dfacad6fa16bd50989a Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 31 Jan 2026 14:29:48 +0500 Subject: [PATCH 068/157] ISSUE_TEMPLATE --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 2 +- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index f354328b8..319198c73 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -42,7 +42,7 @@ body: attributes: label: Computer OS description: Write which OS your PC is running on. - placeholder: "Example: Windows 10" + placeholder: "Example: Windows 11" - type: input id: version diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index f342da823..37bb57c86 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -67,7 +67,7 @@ body: validations: required: true attributes: - label: MC Environment + label: Minecraft Environment options: - "Singleplayer" - "LAN" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index c09d1b5d1..98025f0b1 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -7,3 +7,7 @@ contact_links: - name: TerraFirmaGreg CurseForge url: https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern about: Download page. + + - name: TerraFirmaGreg YouTube + url: https://www.youtube.com/@TFG-modern + about: YouTube channel. From 0aa56d5a905d5a05e44c5fd23cb82ff61e62e54f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 11:03:39 +0000 Subject: [PATCH 069/157] small chromite groundcover texture --- .../block/groundcover/ore/small_chromite.png | Bin 0 -> 821 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/firmalife/textures/block/groundcover/ore/small_chromite.png diff --git a/kubejs/assets/firmalife/textures/block/groundcover/ore/small_chromite.png b/kubejs/assets/firmalife/textures/block/groundcover/ore/small_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..e47ea74ee0d7f68cd15652c4e5c257b31d4ebdac GIT binary patch literal 821 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l z#L@bV!RqT~yYQZUrlPEQi1(IS;l(l+!RD2#E~q#(-OHaYT*G6>b*E_a?z=vhO};Mb zx?;q8CDiL}CtK59i_)y+`E%`gA0AqDe5Xy-y~WRM&s%n?NBgJuJvW%^H!)RGkjo^L zxxLY3#Ao&3aj z$y5`sq&}~$Yz-GRlA?6Au9`C3a@WmS?wq)hp+Ub!MUacDoAr{{tnz!(J#G^}Wj#6g zZT;>W>zQvol&k;qPrAnN!MSTzaX;i4ltesctvc$)I3tYvdf|q-eD;6;aDV;9_U$#p z;=m<^zx9?~eRRB?-{Ahc1uLVr9DJT}XJ7ZuWafe!Mw#u^3?e0S&uKH><$2cUYxw=` zf9Z~Z59g{6e_bD5Aj{rRRogsumZNLzO?S0jB zaNB0?172r4*l)Y9eerE6)7sZc> zKlWhQvG1d3iSZ3Tb*?L(0-xQ}>y!UoK4fLVq997pIQD)Q~cD4*Y|6_=a|i&IP<)L#4d&A z!s3}HGn@9^P8RB$(W3k-kH7v!!P{55DxOZ0RL&hT7V597u(|x%D((T}hxI?j8FqHB z=D8xs5Lzo~x|GRapTy$lrEB_Hmt|cP-E*M3`^(=~VzTC+6!>|LJEuf0vwv~iwA@C0 c-DmYJDb9h1D$E};FfcH9y85}Sb4q9e01DD^!T Date: Sat, 31 Jan 2026 11:56:52 +0000 Subject: [PATCH 070/157] add loot table for piglin brutes --- .../loot_tables/entities/piglin_brute.json | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 kubejs/data/minecraft/loot_tables/entities/piglin_brute.json diff --git a/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json new file mode 100644 index 000000000..060c1a535 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:food/pork", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file From fe85a29b31ab5f9106fd77a31f08e8fb2af5ecfe Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 12:17:32 +0000 Subject: [PATCH 071/157] #2912 fix rnr slab and stair speed bonus --- CHANGELOG.md | 1 + config/blockrunner.json | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ca6559cc..aa1d85a0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ - Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg - Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie - Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie +- Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/config/blockrunner.json b/config/blockrunner.json index 670147277..0c82a0edd 100644 --- a/config/blockrunner.json +++ b/config/blockrunner.json @@ -5,11 +5,21 @@ "rnr:hoggin_slab": 1.1, "rnr:hoggin_stairs": 1.1, "#rnr:gravel_road_blocks": 1.1, + "#rnr:gravel_road_stairs": 1.1, + "#rnr:gravel_road_slabs": 1.1, "#rnr:overheight_gravel_blocks": 1.1, "#rnr:macadam_road_blocks": 1.2, + "#rnr:macadam_road_stairs": 1.2, + "#rnr:macadam_road_slabs": 1.2, "#rnr:sett_road_blocks": 1.2, + "#rnr:sett_road_stairs": 1.2, + "#rnr:sett_road_slabs": 1.2, "#rnr:flagstones_blocks": 1.2, + "#rnr:flagstones_stairs": 1.2, + "#rnr:flagstones_slabs": 1.2, "#rnr:cobbled_road_blocks": 1.2, + "#rnr:cobbled_road_stairs": 1.2, + "#rnr:cobbled_road_slabs": 1.2, "#rnr:functional_concrete_roads": 1.3, "#rnr:functional_concrete_road_stairs": 1.3, "#rnr:functional_concrete_road_slabs": 1.3 From bd3895e21736b90769a115f6496223bf5585e6f9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 12:18:18 +0000 Subject: [PATCH 072/157] nerf some of gurman's dumplings --- kubejs/server_scripts/tfc_gurman/recipes.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index c506ce5f7..2ad4369e8 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -516,5 +516,9 @@ function registerTFCGurmanRecipes(event) { 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmini"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_vareniki" }, "tfc_gurman:raw_vareniki", "tfc_gurman:raw_vareniki"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_oladyi" }, "tfc_gurman:raw_oladyi", "2x tfc_gurman:raw_oladyi"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_syrniki" }, "tfc_gurman:raw_syrniki", "2x tfc_gurman:raw_syrniki"); // #endregion } From 14d20f48da4b1f94439df726006346529651105f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 13:09:45 +0000 Subject: [PATCH 073/157] #2870 fix rnr roof tags, remove framing stair/slab compat with additional placements --- CHANGELOG.md | 1 + config/additionalplacements-startup.toml | 4 +-- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/rnr/tags.js | 29 ++++++++++++++++++++- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa1d85a0f..2033a6e98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ - Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie - Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie - Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie +- Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/config/additionalplacements-startup.toml b/config/additionalplacements-startup.toml index 90d42c665..60f7f30c2 100644 --- a/config/additionalplacements-startup.toml +++ b/config/additionalplacements-startup.toml @@ -14,13 +14,13 @@ [startup.types.additionalplacements.slab] #Blocklist for controlling which blocks (that are valid for this type) will generate variants of this type #See https://github.com/FirEmerald/AdditionalPlacements/wiki/Blocklist-Format for blocklist format - enabled = ["+*"] + enabled = ["+*", "-rnr:roof_frame_slab"] #Stairs [startup.types.additionalplacements.stairs] #Blocklist for controlling which blocks (that are valid for this type) will generate variants of this type #See https://github.com/FirEmerald/AdditionalPlacements/wiki/Blocklist-Format for blocklist format - enabled = ["+*"] + enabled = ["+*", "-rnr:roof_frame_stairs"] #Blocklist to control which blocks will allow for vertical stair connections. #Keep in mind vertical is RELATIVE to the placement of the stair - "vertical" for a vertically placed stair will be one of the two horizontal directions. #See https://github.com/FirEmerald/AdditionalPlacements/wiki/Blocklist-Format for blocklist format diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 408acefbb..e62b99652 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -87,6 +87,7 @@ ServerEvents.tags('block', event => { registerMoreRedBlockTags(event) registerHotOrNotBlockTags(event) registerRailWaysBlockTags(event) + registerRnrBlockTags(event) registerSophisticatedBackpacksBlockTags(event) registerSpeciesBlockTags(event) registerTACZBlockTags(event) diff --git a/kubejs/server_scripts/rnr/tags.js b/kubejs/server_scripts/rnr/tags.js index 081432ce3..670010dcd 100644 --- a/kubejs/server_scripts/rnr/tags.js +++ b/kubejs/server_scripts/rnr/tags.js @@ -6,4 +6,31 @@ const registerRnrItemTags = (event) => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }); -}; \ No newline at end of file +}; + +function registerRnrBlockTags(event) { + + global.TFC_WOOD_TYPES.forEach(wood => { + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_stairs`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_slab`) + }); + + global.AFC_WOOD_TYPES.forEach(wood => { + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_stairs`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_slab`) + }); + + event.add('minecraft:mineable/hoe', `rnr:thatch_roof`) + event.add('minecraft:mineable/hoe', `rnr:thatch_roof_stairs`) + event.add('minecraft:mineable/hoe', `rnr:thatch_roof_slab`) + + event.add('minecraft:mineable/pickaxe', `rnr:terracotta_roof`) + event.add('minecraft:mineable/pickaxe', `rnr:terracotta_roof_stairs`) + event.add('minecraft:mineable/pickaxe', `rnr:terracotta_roof_slab`) + event.add('minecraft:mineable/pickaxe', `rnr:ceramic_roof`) + event.add('minecraft:mineable/pickaxe', `rnr:ceramic_roof_stairs`) + event.add('minecraft:mineable/pickaxe', `rnr:ceramic_roof_slab`) + +} \ No newline at end of file From ffaced187f713a53d6ef00b6e60f46e68225feaf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:25:46 +0000 Subject: [PATCH 074/157] more loot for piglin brutes --- .../minecraft/loot_tables/entities/piglin_brute.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json index 060c1a535..24417601e 100644 --- a/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json +++ b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json @@ -40,6 +40,16 @@ ] } ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot" + } + ] } ] } \ No newline at end of file From e90cccbcc87ebeec59acd9b8ed990091ee1cbdf9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:27:25 +0000 Subject: [PATCH 075/157] mars quartzite, fix tetramethoxysilane #2898 --- CHANGELOG.md | 6 + .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- kubejs/data/ad_astra/dimension/mars.json | 9 +- .../mars/vein/deep_mars_chromite.json | 127 ++--------- .../mars/vein/deep_mars_pitchblende.json | 95 ++------ .../mars/vein/deep_mars_sheldonite.json | 202 +++--------------- .../mars/vein/mars_copper.json | 27 +++ .../mars/vein/mars_hematite.json | 27 +++ .../mars/vein/mars_lubricant.json | 31 +++ .../mars/vein/mars_neodynium.json | 27 +++ .../mars/vein/mars_nickel.json | 27 +++ .../mars/vein/mars_pitchblende.json | 23 ++ .../mars/vein/mars_quartzite.json | 27 +++ .../mars/vein/mars_salt.json | 27 +++ .../mars/vein/mars_stibnite.json | 27 +++ .../mars/vein/mars_surface_bismuthinite.json | 27 +++ .../mars/vein/mars_surface_cassiterite.json | 23 ++ .../mars/vein/mars_surface_hematite.json | 27 +++ .../mars/vein/mars_surface_nickel_galena.json | 27 +++ .../mars/vein/mars_surface_tetrahedrite.json | 27 +++ kubejs/server_scripts/tfg/mars/tags.mars.js | 3 + .../tfg/space_general/recipes.insulation.js | 2 + 28 files changed, 573 insertions(+), 483 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2033a6e98..cca47e86a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie +- The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -34,6 +35,10 @@ - Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie - Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie - Added recipe to convert kaolin clay blocks back into kaolin clay (#2904) @Pyritie +- Axolotls now have genders @Pyritie +- Piglins can now spawn with crossbows @Pyritie +- Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie +- Added quartzite as a mars stone type @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie @@ -47,6 +52,7 @@ - Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie - Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie +- Fixed piglin brutes not dropping meat or bones @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json index a57acc1ba..5d35a238e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Quartzite, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Quartzite, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json index a57acc1ba..5d35a238e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Quartzite, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Quartzite, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json index a57acc1ba..5d35a238e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Quartzite, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Quartzite, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json index fa27c0c04..1980fa0c6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Traquito", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Quartzito, Traquito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Bismuto", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Conglomerado, Dacito, Diorito, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/135 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/135 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Cassiterita", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Quartzito, Traquito", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "mars_copper" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Quartzito, Red Granite", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Red Granite", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Quartzito, Red Granite", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Quartzito, Red Granite, Traquito", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Dacito, Diorito, Folhelho, Gabro, Traquito", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1744,7 +1744,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1836,7 +1836,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Dacito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -2087,7 +2087,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Quartzito, Red Granite, Traquito", "title": "Tetraedrita (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Tetraedrita (Superfície)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Quartzito, Red Granite", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index 43526e706..a9996fe73 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кварцит, Кремнистый сланец, Мел, Трахит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -30 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Красный гранит", "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Висмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Красный гранит, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Кварцит, Красный гранит, Мел, Сланец", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -596,7 +596,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Красный гранит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_hematite" @@ -688,7 +688,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1031,7 +1031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/135 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/135 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Касситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Кварцит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1374,7 +1374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Кварцит, Конгломерат, Сланец, Трахит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1466,7 +1466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -30 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Красный гранит", "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1625,7 +1625,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Красный гранит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кварцит, Красный гранит, Кремнистый сланец, Мел, Трахит", "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1717,7 +1717,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -1916,7 +1916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кварцит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2008,7 +2008,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2100,7 +2100,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Сланец", "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2284,7 +2284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -30 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Красный гранит", "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -2351,7 +2351,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Кварцит, Конгломерат, Красный гранит, Сланец, Трахит", "title": "Уранит, Торий & Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json index 53f19f482..bbeb5a8ec 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Дацит, Діорит, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Габро, Граніт, Діорит", "title": "Борніт і Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Вісмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Крейда", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Кварцит, Крейда", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Кварцит, Конгломерат", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_hematite" @@ -740,7 +740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1016,7 +1016,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/135 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/135 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Каситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Кварцит, Азбест і Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1359,7 +1359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Кварцит, Конгломерат, Трахіт", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1451,7 +1451,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Трахіт", "title": "Настуран, Торіаніт і Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Габро, Граніт, Діорит", "title": "Настуран, Торіаніт і Уранініт", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Габро, Граніт, Діорит", "title": "Редстоун і Хроміт", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат", "title": "Стеатит, Тальк і Глауконіт", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Сфалерит і Галеніт", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Звичайний)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Поверхня)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index 38c97ca35..ce31b402a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -30 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 红花岗岩, 花岗岩, 辉长岩, 闪长岩", "title": "斑铜矿, 硫铂矿", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石英岩, 粗面岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -30 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 红花岗岩, 花岗岩, 辉长岩, 闪长岩", "title": "沥青铀矿, 方钍石, 晶质铀矿", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -280,7 +280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石英岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "沥青铀矿, 方钍石, 赤铁矿", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -491,7 +491,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", "title": "皂石, 滑石, 海绿石矿砂", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 石英岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "mars_salt" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 石英岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", "title": "石英岩, 石棉, 重晶石", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -899,7 +899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 石英岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -30 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 红花岗岩, 花岗岩, 辉长岩, 闪长岩", "title": "红石, 铬铁矿", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1309,7 +1309,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1401,7 +1401,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -1692,7 +1692,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "mars_copper" @@ -1876,7 +1876,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/135 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/135 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "锡石矿", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "闪锌矿, 方铅矿", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (地表)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石英岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (普通)", "type": "patchouli:text", "anchor": "mars_stibnite" diff --git a/kubejs/data/ad_astra/dimension/mars.json b/kubejs/data/ad_astra/dimension/mars.json index 4d9fc2375..f709f0b4f 100644 --- a/kubejs/data/ad_astra/dimension/mars.json +++ b/kubejs/data/ad_astra/dimension/mars.json @@ -56,7 +56,8 @@ "chert": "tfc:chert", "chalk": "tfc:chalk", "basalt": "tfc:basalt", - "dacite": "tfc:dacite" + "dacite": "tfc:dacite", + "quartzite": "tfc:quartzite" }, "layers": [ { @@ -70,7 +71,8 @@ "basalt": "bottom", "dacite": "bottom", "venus": "bottom", - "shale": "bottom" + "shale": "bottom", + "quartzite": "bottom" } }, { @@ -83,7 +85,8 @@ "limestone": "mix", "claystone": "mix", "conglomerate": "mix", - "chert": "mix" + "chert": "mix", + "quartzite": "mix" } } ], diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json index 7beb0d99c..e7fbff179 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json @@ -5,17 +5,17 @@ "size": 60, "rarity": 370, "density": 0.3, - "min_y": -20, + "min_y": -30, "max_y": 0, "random_name": "deep_mars_chromite", "blocks": [ { "replace": [ - "ad_astra:mars_stone" + "gtceu:red_granite" ], "with": [ { - "block": "gtceu:mars_stone_redstone_ore", + "block": "gtceu:red_granite_redstone_ore", "weight": 45 }, { @@ -23,22 +23,22 @@ "weight": 1 }, { - "block": "gtceu:mars_stone_ruby_ore", + "block": "gtceu:red_granite_ruby_ore", "weight": 35 }, { - "block": "gtceu:mars_stone_chromite_ore", + "block": "gtceu:red_granite_chromite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/shale" + "tfc:rock/raw/gabbro" ], "with": [ { - "block": "gtceu:shale_redstone_ore", + "block": "gtceu:gabbro_redstone_ore", "weight": 45 }, { @@ -46,22 +46,22 @@ "weight": 1 }, { - "block": "gtceu:shale_ruby_ore", + "block": "gtceu:gabbro_ruby_ore", "weight": 35 }, { - "block": "gtceu:shale_chromite_ore", + "block": "gtceu:gabbro_chromite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/claystone" + "tfc:rock/raw/diorite" ], "with": [ { - "block": "gtceu:claystone_redstone_ore", + "block": "gtceu:diorite_redstone_ore", "weight": 45 }, { @@ -69,22 +69,22 @@ "weight": 1 }, { - "block": "gtceu:claystone_ruby_ore", + "block": "gtceu:diorite_ruby_ore", "weight": 35 }, { - "block": "gtceu:claystone_chromite_ore", + "block": "gtceu:diorite_chromite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/limestone" + "tfc:rock/raw/granite" ], "with": [ { - "block": "gtceu:limestone_redstone_ore", + "block": "gtceu:granite_redstone_ore", "weight": 45 }, { @@ -92,104 +92,11 @@ "weight": 1 }, { - "block": "gtceu:limestone_ruby_ore", + "block": "gtceu:granite_ruby_ore", "weight": 35 }, { - "block": "gtceu:limestone_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:chert_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:chert_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:chalk_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:chalk_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt", - "minecraft:basalt" - ], - "with": [ - { - "block": "gtceu:basalt_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_chromite_ore", + "block": "gtceu:granite_chromite_ore", "weight": 20 } ] diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json index fd2d9a311..8e35b4969 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json @@ -5,17 +5,17 @@ "size": 60, "rarity": 370, "density": 0.3, - "min_y": -20, + "min_y": -30, "max_y": 0, "random_name": "deep_mars_pitchblende", "blocks": [ { "replace": [ - "ad_astra:mars_stone" + "gtceu:red_granite" ], "with": [ { - "block": "gtceu:mars_stone_pitchblende_ore", + "block": "gtceu:red_granite_pitchblende_ore", "weight": 50 }, { @@ -23,57 +23,11 @@ "weight": 1 }, { - "block": "gtceu:mars_stone_thorium_ore", + "block": "gtceu:red_granite_thorium_ore", "weight": 25 }, { - "block": "gtceu:mars_stone_uraninite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:raw_pitchblende_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_thorium_ore", - "weight": 25 - }, - { - "block": "gtceu:venus_stone_uraninite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:raw_pitchblende_block", - "weight": 1 - }, - { - "block": "gtceu:diorite_thorium_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_uraninite_ore", + "block": "gtceu:red_granite_uraninite_ore", "weight": 20 } ] @@ -103,11 +57,11 @@ }, { "replace": [ - "tfc:rock/raw/shale" + "tfc:rock/raw/diorite" ], "with": [ { - "block": "gtceu:shale_pitchblende_ore", + "block": "gtceu:diorite_pitchblende_ore", "weight": 50 }, { @@ -115,22 +69,22 @@ "weight": 1 }, { - "block": "gtceu:shale_thorium_ore", + "block": "gtceu:diorite_thorium_ore", "weight": 25 }, { - "block": "gtceu:shale_uraninite_ore", + "block": "gtceu:diorite_uraninite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/claystone" + "tfc:rock/raw/granite" ], "with": [ { - "block": "gtceu:claystone_pitchblende_ore", + "block": "gtceu:granite_pitchblende_ore", "weight": 50 }, { @@ -138,34 +92,11 @@ "weight": 1 }, { - "block": "gtceu:claystone_thorium_ore", + "block": "gtceu:granite_thorium_ore", "weight": 25 }, { - "block": "gtceu:claystone_uraninite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:raw_pitchblende_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_thorium_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_uraninite_ore", + "block": "gtceu:granite_uraninite_ore", "weight": 20 } ] diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json index e7448f9e8..37706d69f 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json @@ -5,64 +5,10 @@ "size": 60, "rarity": 370, "density": 0.3, - "min_y": -20, + "min_y": -30, "max_y": 0, "random_name": "deep_mars_sheldonite", "blocks": [ - { - "replace": [ - "ad_astra:mars_stone" - ], - "with": [ - { - "block": "gtceu:mars_stone_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:mars_stone_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:mars_stone_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:mars_stone_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:venus_stone_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:venus_stone_platinum_ore", - "weight": 15 - } - ] - }, { "replace": [ "gtceu:red_granite" @@ -90,6 +36,33 @@ } ] }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:gabbro_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_nickel_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_platinum_ore", + "weight": 15 + } + ] + }, { "replace": [ "tfc:rock/raw/diorite" @@ -119,11 +92,11 @@ }, { "replace": [ - "tfc:rock/raw/conglomerate" + "tfc:rock/raw/granite" ], "with": [ { - "block": "gtceu:conglomerate_bornite_ore", + "block": "gtceu:granite_bornite_ore", "weight": 35 }, { @@ -131,124 +104,15 @@ "weight": 1 }, { - "block": "gtceu:conglomerate_cooperite_ore", + "block": "gtceu:granite_cooperite_ore", "weight": 25 }, { - "block": "gtceu:conglomerate_nickel_ore", + "block": "gtceu:granite_nickel_ore", "weight": 25 }, { - "block": "gtceu:conglomerate_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:chert_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:chalk_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt", - "minecraft:basalt" - ], - "with": [ - { - "block": "gtceu:basalt_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_platinum_ore", + "block": "gtceu:granite_platinum_ore", "weight": 15 } ] diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json index de69bcc25..14bdc80b8 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json @@ -252,6 +252,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_chalcopyrite_ore", + "weight": 65 + }, + { + "block": "gtceu:raw_chalcopyrite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json index 9a97b5a72..7453967aa 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json @@ -225,6 +225,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_gold_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json index 7bbbcb576..cb97344e6 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json @@ -318,6 +318,37 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_soapstone_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_talc_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_glauconite_sand_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_trona_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_pentlandite_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json index 892218d01..35b7324cf 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json @@ -225,6 +225,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_neodymium_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json index 6cbda752e..65b131e1b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json @@ -252,6 +252,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_garnierite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_nickel_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json index 274bffe05..d154f83f1 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json @@ -215,6 +215,29 @@ "weight": 25 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_pitchblende_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_thorium_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 25 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json index d140902b0..2b94fb2b9 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json @@ -251,6 +251,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_quartzite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_barite_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_asbestos_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json index 7df225aa6..f465521d3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json @@ -252,6 +252,33 @@ "weight": 35 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_spodumene_ore", + "weight": 35 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json index 290fe3904..aaa154bc0 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json @@ -306,6 +306,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json index b7398aa77..c7709965a 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json @@ -414,6 +414,33 @@ "weight": 10 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_bismuth_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_bismuth_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_sulfur_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_gypsum_ore", + "weight": 10 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json index f84c3b898..3f70207d3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json @@ -354,6 +354,29 @@ "weight": 10 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_cassiterite_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_tin_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_saltpeter_ore", + "weight": 10 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json index 0b747a035..379b6c728 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json @@ -414,6 +414,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_calcite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json index 6daa8da11..4c54e0557 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json @@ -414,6 +414,33 @@ "weight": 10 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_nickel_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_silver_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_cobaltite_ore", + "weight": 10 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json index 305b92f59..b9132910b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json @@ -414,6 +414,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_redstone_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 07c37d491..368274952 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -162,6 +162,9 @@ function registerTFGMarsBlockTags(event) { event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/shale') event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/shale') event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/shale') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/quartzite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/quartzite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/quartzite') event.add('ad_astra:mars_stone_replaceables', 'ad_astra:mars_stone') event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_mars_stone') event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_mars') diff --git a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js index 25fc6579b..1f87c3304 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js @@ -221,12 +221,14 @@ function registerTFGInsulationRecipes(event) { .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000)) .outputFluids(Fluid.of('gtceu:methanol', 4000)) .itemOutputs('3x #forge:dusts/silicon_dioxide') + .circuit(1) .duration(100) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.large_chemical_reactor('tfg:silica_gel_synthesis') .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:ethanol', 2000), Fluid.of('gtceu:distilled_water', 500), Fluid.of('gtceu:hydrochloric_acid', 100)) .outputFluids(Fluid.of('tfg:silica_gel', 1000)) + .circuit(2) .duration(300) .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.chemical_reactor('tfg:silica_gel_soaking') From b1fddab3e96c41e209856a068de3a3d948eb4636 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:27:52 +0000 Subject: [PATCH 076/157] cleanup rock loot tables --- .../blockstates/sandy_jadestone.json | 8 ++ .../loot_tables/blocks/flavolite.json | 44 ++++++++ .../loot_tables/blocks/sandy_jadestone.json | 44 ++++++++ .../create/loot_tables/blocks/scorchia.json | 44 ++++++++ .../create/loot_tables/blocks/scoria.json | 44 ++++++++ .../blocks/rock/cobble_blackstone.json | 20 ---- .../blocks/rock/cobble_crackrack.json | 20 ---- .../blocks/rock/cobble_dripstone.json | 20 ---- .../blocks/rock/cobble_moon_deepslate.json | 20 ---- .../blocks/rock/cobble_permafrost.json | 20 ---- .../blocks/rock/gravel_blackstone.json | 70 ------------ .../blocks/rock/gravel_crackrack.json | 70 ------------ .../blocks/rock/gravel_deepslate.json | 70 ------------ .../blocks/rock/gravel_dripstone.json | 70 ------------ .../blocks/rock/gravel_glacio.json | 70 ------------ .../loot_tables/blocks/rock/gravel_mars.json | 70 ------------ .../blocks/rock/gravel_mercury.json | 70 ------------ .../loot_tables/blocks/rock/gravel_moon.json | 70 ------------ .../blocks/rock/gravel_moon_deepslate.json | 70 ------------ .../blocks/rock/gravel_permafrost.json | 70 ------------ .../blocks/rock/gravel_red_granite.json | 70 ------------ .../loot_tables/blocks/rock/gravel_venus.json | 70 ------------ .../blocks/rock/hardened_blackstone.json | 30 ----- .../blocks/rock/hardened_deepslate.json | 30 ----- .../blocks/rock/hardened_dripstone.json | 30 ----- .../blocks/rock/hardened_glacio_stone.json | 30 ----- .../blocks/rock/hardened_mars_stone.json | 30 ----- .../blocks/rock/hardened_mercury_stone.json | 30 ----- .../blocks/rock/hardened_moon_deepslate.json | 30 ----- .../blocks/rock/hardened_moon_stone.json | 30 ----- .../blocks/rock/hardened_red_granite.json | 30 ----- .../blocks/rock/hardened_venus_stone.json | 30 ----- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfc/tags.js | 7 ++ .../tfg/natural_blocks/loot.stones.js | 104 ++++++++++++++++++ .../tfg/ores_and_materials/loot.ores.js | 85 +------------- 36 files changed, 300 insertions(+), 1321 deletions(-) create mode 100644 kubejs/assets/betterend/blockstates/sandy_jadestone.json create mode 100644 kubejs/data/betterend/loot_tables/blocks/flavolite.json create mode 100644 kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json create mode 100644 kubejs/data/create/loot_tables/blocks/scorchia.json create mode 100644 kubejs/data/create/loot_tables/blocks/scoria.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json create mode 100644 kubejs/server_scripts/tfg/natural_blocks/loot.stones.js diff --git a/kubejs/assets/betterend/blockstates/sandy_jadestone.json b/kubejs/assets/betterend/blockstates/sandy_jadestone.json new file mode 100644 index 000000000..a8b056a71 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/sandy_jadestone.json @@ -0,0 +1,8 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/sandy_jadestone" }, + { "model": "betterend:block/sandy_jadestone", "y": 180 } + ] + } +} diff --git a/kubejs/data/betterend/loot_tables/blocks/flavolite.json b/kubejs/data/betterend/loot_tables/blocks/flavolite.json new file mode 100644 index 000000000..1215fdeef --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/flavolite.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "betterend:flavolite", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/flavolite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json b/kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json new file mode 100644 index 000000000..80bc06412 --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "betterend:sandy_jadestone", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/sandy_jadestone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/create/loot_tables/blocks/scorchia.json b/kubejs/data/create/loot_tables/blocks/scorchia.json new file mode 100644 index 000000000..3fc5016e3 --- /dev/null +++ b/kubejs/data/create/loot_tables/blocks/scorchia.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "create:scorchia", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/scorchia", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/create/loot_tables/blocks/scoria.json b/kubejs/data/create/loot_tables/blocks/scoria.json new file mode 100644 index 000000000..e76d4e30d --- /dev/null +++ b/kubejs/data/create/loot_tables/blocks/scoria.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "create:scoria", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/scoria", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json deleted file mode 100644 index c3ede98e4..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_blackstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json deleted file mode 100644 index 2dafa861e..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_crackrack" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json deleted file mode 100644 index 20dda7fce..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_dripstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json deleted file mode 100644 index 6043da7a8..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_moon_deepslate" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json deleted file mode 100644 index da12291a9..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_permafrost" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json deleted file mode 100644 index 0d20b2d29..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_blackstone", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_blackstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json deleted file mode 100644 index eddae43a9..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_crackrack", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_crackrack" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json deleted file mode 100644 index 9e5ef2260..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_deepslate", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_deepslate" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json deleted file mode 100644 index 819a92dfd..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_dripstone", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_dripstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json deleted file mode 100644 index 8e7508ef2..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_glacio", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_glacio" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json deleted file mode 100644 index 0c9a1f370..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mars", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mars" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json deleted file mode 100644 index 626a1e252..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mercury", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mercury" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json deleted file mode 100644 index 09d2e998b..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json deleted file mode 100644 index 7e1bf9b63..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon_deepslate", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon_deepslate" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json deleted file mode 100644 index 5267f98d6..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_permafrost", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_permafrost" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json deleted file mode 100644 index c4a8d619a..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_red_granite", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_red_granite" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json deleted file mode 100644 index a4800b69a..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_venus", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_venus" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json deleted file mode 100644 index 748f5016f..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "beneath:blackstone_pebble", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json deleted file mode 100644 index 6cd548020..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/deepslate", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json deleted file mode 100644 index bcd7443c2..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/dripstone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json deleted file mode 100644 index e8e009c94..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/glacio_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json deleted file mode 100644 index 0e7e9cf38..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/mars_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json deleted file mode 100644 index 2362d4e63..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/mercury_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json deleted file mode 100644 index 804cf0072..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/moon_deepslate", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json deleted file mode 100644 index b687d4df8..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/moon_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json deleted file mode 100644 index c8819199b..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/red_granite", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json deleted file mode 100644 index 3c950f61a..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/venus_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ 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 e62b99652..f29efde72 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -181,6 +181,7 @@ TFCEvents.data(event => { LootJS.modifiers((event) => { registerAdAstraLoots(event) registerBeneathLoots(event) + registerTFGRockLoots(event) registerTFGOreLoots(event) registerLootrLoots(event) registerPrimitiveCreaturesLoots(event) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 70a218388..3637b57ff 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -463,6 +463,13 @@ function registerTFCItemTags(event) { event.add('tfc:food/bell_peppers', 'tfc:food/green_bell_pepper'); event.add('tfc:food/bell_peppers', 'tfc:food/yellow_bell_pepper'); event.add('tfc:food/bell_peppers', 'tfc:food/red_bell_pepper'); + + // More offhand things for piglin brutes + event.add('tfc:mob_offhand_weapons', 'tfchotornot:tongs/gold'); + event.add('tfc:mob_offhand_weapons', 'tfchotornot:tongs/rose_gold'); + event.add('tfc:mob_offhand_weapons', 'gtceu:black_bronze_knife'); + event.add('tfc:mob_offhand_weapons', 'tfc:metal/javelin/black_bronze'); + event.add('tfc:mob_offhand_weapons', 'tfc:metal/mace/black_bronze'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js b/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js new file mode 100644 index 000000000..064bb05cc --- /dev/null +++ b/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js @@ -0,0 +1,104 @@ +// priority: 10 +"use strict"; + +function registerTFGRockLoots(event) { + + // Rock to cobble, cobble to gravel + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + if (rock.raw != null && rock.cobble != null) { + event.addBlockLootModifier(rock.raw.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.cobble.block) + } + + if (rock.hardened != null && rock.cobble != null) { + event.addBlockLootModifier(rock.hardened) + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1, 4], [ + LootEntry.of(rock.loose) + ]) + + event.addBlockLootModifier(rock.hardened) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.cobble.block) + } + + if (rock.cobble != null) { + event.addBlockLootModifier(rock.cobble.block) + .addLoot(rock.cobble.block) + } + + if (rock.gravel != null) { + event.addBlockLootModifier(rock.gravel.block) + .addAlternativesLoot([ + LootEntry.of('minecraft:flint').when(c => c.randomChance(0.1)), + LootEntry.of(rock.gravel.block) + ]) + } + + if (rock.cobble != null && rock.gravel != null) { + event.addBlockLootModifier(rock.cobble.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.gravel) + + if (rock.cobble.mossy != null) { + event.addBlockLootModifier(rock.cobble.mossy.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.gravel) + } + } + } + + // Sand + global.SAND_COLORS.forEach(sandColor => { + let tag_array = Ingredient.of(`#tfc:${sandColor}_gravel`).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.addBlockLootModifier(item) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(`tfc:sand/${sandColor}`) + }) + }) + + global.HAMMERING.forEach(x => { + if (x.raw.startsWith('#')) { + let tag_array = Ingredient.of(x.raw).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.addBlockLootModifier(item) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + }) + } + else { + event.addBlockLootModifier(x.raw) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + } + }) + + // Other rocks + event.addBlockLootModifier('minecraft:gilded_blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addSequenceLoot( + LootEntry.of('tfg:rock/cobble_blackstone'), + LootEntry.of('tfc:powder/native_gold') + ) + + event.addBlockLootModifier('beneath:ore/blackstone_sylvite') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([ + Item.of('gtceu:rich_raw_rock_salt').withChance(0.2), + Item.of('gtceu:raw_rock_salt').withChance(0.6), + Item.of('gtceu:poor_raw_rock_salt').withChance(0.2) + ]) + .addLoot(LootEntry.of('tfg:igneous_ultramafic_dust').when(c => c.randomChance(0.2))) + .addLoot(LootEntry.of('gtceu:tiny_rock_salt_dust').when(c => c.randomChance(0.05))); + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js index 32c1dab7a..fa1c1c6f4 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -2,85 +2,7 @@ "use strict"; const registerTFGOreLoots = (event) => { - // Rock to cobble, cobble to gravel - for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { - if (rock.raw != null && rock.cobble != null) { - event.addBlockLootModifier(rock.raw.block) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.cobble.block) - } - - if (rock.hardened != null && rock.cobble != null) { - event.addBlockLootModifier(rock.hardened) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.cobble.block) - } - - if (rock.cobble != null && rock.gravel != null) { - event.addBlockLootModifier(rock.cobble.block) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.gravel) - - if (rock.cobble.mossy != null) { - event.addBlockLootModifier(rock.cobble.mossy.block) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.gravel) - } - } - } - - // Sand - global.SAND_COLORS.forEach(sandColor => { - let tag_array = Ingredient.of(`#tfc:${sandColor}_gravel`).itemIds.toArray().map(String); - tag_array.forEach(item => { - event.addBlockLootModifier(item) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(`tfc:sand/${sandColor}`) - }) - }) - - global.HAMMERING.forEach(x => { - if (x.raw.startsWith('#')) { - let tag_array = Ingredient.of(x.raw).itemIds.toArray().map(String); - tag_array.forEach(item => { - event.addBlockLootModifier(item) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(x.hammered) - }) - } - else { - event.addBlockLootModifier(x.raw) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(x.hammered) - } - }) - - // Other rocks - event.addBlockLootModifier('minecraft:gilded_blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addSequenceLoot( - LootEntry.of('tfg:rock/cobble_blackstone'), - LootEntry.of('tfc:powder/native_gold') - ) - - event.addBlockLootModifier('beneath:ore/blackstone_sylvite') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([ - Item.of('gtceu:rich_raw_rock_salt').withChance(0.2), - Item.of('gtceu:raw_rock_salt').withChance(0.6), - Item.of('gtceu:poor_raw_rock_salt').withChance(0.2) - ]) - .addLoot(LootEntry.of('tfg:igneous_ultramafic_dust').when((c) => c.randomChance(0.2))) - .addLoot(LootEntry.of('gtceu:tiny_rock_salt_dust').when(c => c.randomChance(0.05))); - + // Go through all materials const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") @@ -125,18 +47,19 @@ const registerTFGOreLoots = (event) => { // break with pickaxe/mining hammer/drill/mining machine event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) - .removeLoot(ItemFilter.ALWAYS_TRUE) + .removeLoot(Ingredient.all) .addWeightedLoot([ richRawOre.withChance(0.2), normalRawOre.withChance(0.6), poorRawOre.withChance(0.2) ]) - .addLoot(LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.2))) + .addLoot(LootEntry.of(stoneTypeDust).when(c => c.randomChance(0.2))) .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.05))); // break with hammer event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) .matchMainHand('#forge:tools/hammers') + .removeLoot(Ingredient.all) .addLoot(LootEntry.of(GTBlocks.COBBLE_BLOCKS.get(TagPrefix.get(stoneType)).get().getBlock().id)); }) } From 80198e0a4c32a16bf4d39309235c651e46d90a76 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:41:06 +0000 Subject: [PATCH 077/157] langs --- kubejs/assets/ad_astra/lang/ru_ru.json | 12 ++++++------ kubejs/assets/tfg/lang/en_us.json | 9 ++++++++- kubejs/assets/tfg/lang/ru_ru.json | 13 ++++++++++--- kubejs/assets/tfg/lang/zh_cn.json | 6 ++++++ 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/ru_ru.json b/kubejs/assets/ad_astra/lang/ru_ru.json index 70ccf24ed..f388f64f2 100644 --- a/kubejs/assets/ad_astra/lang/ru_ru.json +++ b/kubejs/assets/ad_astra/lang/ru_ru.json @@ -111,16 +111,16 @@ "block.ad_astra.glacio_globe": "Глобус Европы", "entity.ad_astra.corrupted_lunarian": "Лунный зомби", "entity.ad_astra.martian_raptor": "Скелетообразный раптор", - "entity.ad_astra.tier_1_rocket": "Красная алюминиево-стальная ракета", - "entity.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket", - "entity.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket", + "entity.ad_astra.tier_1_rocket": "Легкая ракета R (алюмосталь)", + "entity.ad_astra.tier_2_rocket": "Прочная ракета ASM 4914 (титан)", + "entity.ad_astra.tier_3_rocket": "Тяжёлая ракета 45-Ti (вольфрамосталь)", "entity.ad_astra.tier_1_rover": "Вездеход", "fluid_type.ad_astra.oxygen": "Искуственный воздух", "item.ad_astra.steel_cable": "Обычный RF кабель", "item.ad_astra.desh_cable": "Улучшенный RF кабель", - "item.ad_astra.tier_1_rocket": "Красная алюминиево-стальная ракета", - "item.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket", - "item.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket", + "item.ad_astra.tier_1_rocket": "Легкая ракета R (алюмосталь)", + "item.ad_astra.tier_2_rocket": "Прочная ракета ASM 4914 (титан)", + "item.ad_astra.tier_3_rocket": "Тяжёлая ракета 45-Ti (вольфрамосталь)", "item.ad_astra.oxygen_bucket": "Ведро с искуственным воздухом", "item.ad_astra.tier_1_rover": "Вездеход", "item.ad_astra.photovoltaic_etrium_cell": "Улучшенная фотоэлектрическая ячейка", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2c5d2b5d3..4b092bc6b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1203,6 +1203,9 @@ "item.tfg.rotten_voiding_cover": "Rotten Voiding Cover", "item.tfg.flora_pellets": "Flora Pellets", "item.tfg.magnesia_refractory_brick_ingot": "Resin-Bonded Magnesia Refractory Brick", + "item.tfg.tier_1_double_rocket": "R-Aluminosteel Two-Person Rocket", + "item.tfg.tier_2_double_rocket": "ASM 4914 Titanium Two-Person Rocket", + "item.tfg.tier_3_double_rocket": "45-Ti Tungstensteel Two-Person Rocket", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1569,6 +1572,9 @@ "tfg.tooltip.surfer_variant.brain": "Glacian Hide", "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", "entity.tfg.rnr_plow": "Paving Cart", + "entity.tfg.tier_1_double_rocket": "R-Aluminosteel Two-Person Rocket", + "entity.tfg.tier_2_double_rocket": "ASM 4914 Titanium Two-Person Rocket", + "entity.tfg.tier_3_double_rocket": "45-Ti Tungstensteel Two-Person Rocket", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", "effect.tfg.instant_radiation": "Instant Radiation", @@ -1712,6 +1718,7 @@ "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§r", "tfg.tooltip.polycaprolactam": "Also known as Nylon", + "tfg.tooltip.vessel_warning": "§cHeating an overfilled vessel will void any overflow and may ruin your alloying!§r", "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch.", "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches.", "tfg.tooltip.machine.subtick": "This machine supports §2Subticking§r!", @@ -3213,7 +3220,7 @@ "quests.medium_voltage.mv_component.desc": "Here's a list of the components you will need in &bMV&r. To alleviate the pain, be sure to autocraft or &dbulk-craft&r these parts, especially &aMotors&r.\n\nFamiliar with the &aEmitter&r? This tier's Emitter requires a &dFlawless Emerald&r in its recipe, which'll be only attainable with the &3Sifting Machine&r for now.\n\nConveyors, Pumps and Robot Arms are objective upgrades to &7LV&r versions if you use them as covers.", "quests.medium_voltage.electrolyzer.title": "MV Electrolyzer", "quests.medium_voltage.electrolyzer.subtitle": "We made it to MV, and, well...", - "quests.medium_voltage.electrolyzer.desc.1": "&bThis one should look familiar&r—you’ve seen it before.\n&2We highly recommend crafting it as soon as possible,&r as it will unlock a wide range of new &7Aluminium&r sources.\n\nUntil now, your only method was &9electrolyzing Sapphire&r to obtain &7Aluminium Dust&r.\nBut with the &bMV&r Electrolyzer, a whole new world of resources opens up.", + "quests.medium_voltage.electrolyzer.desc.1": "&bThis one should look familiar&r—you’ve seen it before.\n&2We highly recommend crafting it as soon as possible,&r as it will unlock a wide range of new &7Aluminium&r sources.\n\nUntil now, you were limited to electrolyzing Sapphire or ore processing byproducts to obtain &7Aluminium Dust&r.\nBut with the &bMV&r Electrolyzer, a whole new world of resources opens up.", "quests.medium_voltage.electrolyzer.desc.2": "&6Here are some key materials to look for:&r\n&9Ruby&r – Grants both &7Aluminium&r and &5Chromium&r.\n&9Pyrope&r – Often found alongside Sapphire veins.\n&9Lepidolite&r – Offers a generous selection of valuable byproducts.\n&9Sodalite&r – Comes with &3Chlorine&r and &bSilicon&r.\n&9Topaz&r – Yields both &3Fluorine&r and &7Aluminium&r in solid quantities.\n\n&2And that’s just the beginning!&r Use &aEMI&r to explore even more options—we promise, there’s a lot to discover.\n\n&cOh, and by the way:&r Electrolyzing Clay is now gated behind &6HV&r. \n&7We’re not sorry.&r", "quests.medium_voltage.mv_extruder.title": "Advanced Extruder", "quests.medium_voltage.mv_extruder.subtitle": "The biggest upgrade you'll make", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 05d81ada3..df60e27ef 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1203,6 +1203,9 @@ "item.tfg.rotten_voiding_cover": "Удаление гнили(Улучшение)", "item.tfg.flora_pellets": "Растительные гранулы", "item.tfg.magnesia_refractory_brick_ingot": "Склеенный смолой магнезиальный огнеупорный кирпич", + "item.tfg.tier_1_double_rocket": "Лёгкая двухместная ракета R (алюмосталь)", + "item.tfg.tier_2_double_rocket": "Прочная двухместная ракета ASM 4914 (титан)", + "item.tfg.tier_3_double_rocket": "Тяжёлая двухместная ракета 45-Ti (вольфрамосталь)", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканизированный латекс", "material.tfg.fluix": "Флюис", @@ -1564,6 +1567,9 @@ "tfg.tooltip.surfer_variant.brain": "Гласианский", "tfg.tooltip.attribution.surfer": "§9§oАвтор: Wan's Ancient Beasts", "entity.tfg.rnr_plow": "Тележка для мощения", + "entity.tfg.tier_1_double_rocket": "Лёгкая двухместная ракета R (алюмосталь)", + "entity.tfg.tier_2_double_rocket": "Прочная двухместная ракета ASM 4914 (титан)", + "entity.tfg.tier_3_double_rocket": "Тяжёлая двухместная ракета 45-Ti (вольфрамосталь)", "effect.tfg.cooling": "§bОхлаждение", "effect.tfg.warming": "§6Согревание", "effect.tfg.instant_radiation": "Мгновенное радиоактивное излучение", @@ -3347,7 +3353,6 @@ "quests.medium_voltage.stainless_greate.title": "Нержавеющая сталь в Greate", "quests.medium_voltage.stainless_greate.subtitle": "Еще больше нагрузки", "quests.medium_voltage.stainless_greate.desc": "Этот квест нужен лишь для того, чтобы сообщить тебе, что на этом этапе у Greate есть ещё одно улучшение.\n\nТебе может пригодиться следующий тир Дробильных колёс, так как они выдают полный набор побочных продуктов, как и &6HV Измельчитель&r, а также могут обрабатывать несколько предметов одновременно!", - "parts.lang.quests.7": "metal_age ", "quests.metal_age": "Век металлургии", "quests.metal_age.subtitle": "Ваши первые технологические достижения.", "quests.metal_age.weld_bronze_ingots.title": "Сваривание бронзы", @@ -3786,7 +3791,8 @@ "quests.steam_age.create_tools.desc": "Гаечный ключ позволяет быстро поднимать блоки из Create, если нажать Shift + ПКМ по ним, хотя топор или кирка тоже подойдут. Очки инженера дают возможность видеть более подробную информацию о твоих машинах — например, сколько нагрузки они создают или потребляют.\n\nОба этих инструмента пока необязательны, но они окажутся очень полезными, и позже без них будет не обойтись.\n\nЗагляни в главу «Советы TFG» для помощи со стеклодувием. А ты знал, что если ломать булыжник молотком, он превратится в гравий, а если разбить гравий ещё раз — получится песок...?", "quests.steam_age.basic_millstone.title": "Автоматическая Переработка Руды", "quests.steam_age.basic_millstone.subtitle": "Больше никакого жернова", - "quests.steam_age.basic_millstone.desc": "&3Жернов&r — это автоматизированная версия ручного жернова. Ты можешь просто бросить нужные материалы сверху, а затем щёлкнуть ПКМ, чтобы забрать переработанные предметы.\n\nЕсли подключить его напрямую к &3Скотному Приводу&r, он будет довольно медленным, но можно увеличить скорость с помощью передаточных шестерён.\n\nТы будешь получать результат только из первого слота. Остальные слоты относятся к механике GregTech, которая станет актуальной гораздо позже (&6HV&r).", + "quests.steam_age.basic_millstone.desc.1": "&3Жернов&r — это автоматизированная версия ручного жернова. Ты можешь просто бросить нужные материалы сверху, а затем щёлкнуть ПКМ, чтобы забрать переработанные предметы.\n\nЕсли подключить его напрямую к &3Скотному Приводу&r, он будет довольно медленным, но можно увеличить скорость с помощью передаточных шестерён.\n\nТы будешь получать результат только из первого слота. Остальные слоты относятся к механике GregTech, которая станет актуальной гораздо позже (&6HV&r).", + "quests.steam_age.basic_millstone.desc.2": "&l&3Лор:&r&o Жернов нельзя использовать для переработки зерен в муку, поскольку Create не понимает систему истечения срока годности продуктов TFC, которая ранее приводила к разного рода ошибкам, связанным с превращением гнилых продуктов в свежие, и наоборот. Пока вы не получите кухонный комбайн в &7LV&r, вы все равно можете измельчать зерна с помощью ступки в сетке крафта.", "quests.steam_age.horse_crank.title": "Твой Первый Источник Энергии", "quests.steam_age.horse_crank.subtitle": "Пусть домашние животные платят за жильё", "quests.steam_age.horse_crank.desc.1": "&3Скотный Привод&r — это твой первый доступный источник механической энергии. Чтобы его использовать, размести привод в центре очищенной площадки 7x7 и привяжи к нему животное. Разные животные дают разное количество энергии, а блоки под ними могут увеличить скорость вращения. Площадки нескольких приводов могут перекрываться.\n\nИногда может понадобиться удерживать второй поводок, чтобы прикрепить животное.", @@ -3831,7 +3837,7 @@ "quests.steam_age.item_pipes.title": "Предметные Трубы", "quests.steam_age.item_pipes.subtitle": "Не такие крутые, как Item Conduits", "quests.steam_age.item_pipes.desc.1": "&3Предметные Трубы&r — это простой, но эффективный способ мгновенно перемещать предметы, хотя и с ограничением пропускной способности.\n\nТрубы более высокого уровня обеспечивают колоссальную пропускную способность — редкость для модов Minecraft!\n\nПредметные трубы &9не втягивают&r предметы, но они будут &9выталкивать&r любые вставленные в них предметы в подключённые контейнеры, начиная с &9ближайшего&r.", - "quests.steam_age.item_pipes.desc.2": "Механика приоритета &онемного сложна&r, так что можешь пропустить, если не интересует:\n\nКаждый &eПункт назначения&r имеет &dЗначение маршрута&r — это сумма всех значений маршрута по пути к нему. Тот пункт, у которого &cнаименьшее &dзначение маршрута&r, и будет выбран для вставки предметов.\n\n&3Ограничительные трубы&r обычно имеют самый низкий приоритет для вставки из-за более высокого значения маршрута.", + "quests.steam_age.item_pipes.desc.2": "Механика приоритета &oнемного сложна&r, так что можешь пропустить, если не интересует:\n\nКаждый &eПункт назначения&r имеет &dЗначение маршрута&r — это сумма всех значений маршрута по пути к нему. Тот пункт, у которого &cнаименьшее &dзначение маршрута&r, и будет выбран для вставки предметов.\n\n&3Ограничительные трубы&r обычно имеют самый низкий приоритет для вставки из-за более высокого значения маршрута.", "quests.steam_age.item_pipes.desc.3": "Сейчас ты можешь использовать их вместе с &6Желобами&r и &6Воронками&r, а в эпоху LV также сможешь подключать их к Модулям Конвейера, Выходным Шинам и Автоматическим Выходам машин.\n\n&9Примечание:&r Включён стиль труб из GT6. Это значит, что при установке труба соединяется только с блоком, к которому она примыкает. Чтобы открыть дополнительные соединения, используй свой &5Гаечный ключ&r на сетке.\n\nПолучите &eлюбую&r из предложенных Предметных Труб, чтобы завершить это задание.", "quests.steam_age.item_pipes.desc.4": "&l&3Лор:&r&o Ооооо, ДА! Предметные трубы были в GregTech 5, но по какой-то причине их не добавили в GTCE, и пришлось использовать другие моды для транспортировки предметов. Кто вообще так делает!? Шутки в сторону — надеемся, тебе понравится возвращение труб в GregTech!", "quests.steam_age.steel_greate.title": "Greate из Стали", @@ -4184,6 +4190,7 @@ "quests.stone_age.medical_conditions.subtitle": "Не ешьте асбест", "quests.stone_age.medical_conditions.desc.1": "Будьте осторожны с тем, что подбираете! Не все руды или пыли безопасны для прикосновения, и некоторые из них могут привести к ухудшению вашего &6медицинского состояния&r.\n\nВсё &cОпасное&r указано в описании предмета, так что если вы внезапно заметите появление дебаффа, немедленно уберите этот предмет из своего инвентаря! Хранение его внутри контейнера, например, в малом сосуде или рюкзаке, безопасно.\n\nБольшинство этих эффектов со временем проходят сами по себе, но если позволить им накопиться, вы начнёте получать множество других неприятных эффектов, вплоть до &cсмерти&r.", "quests.stone_age.medical_conditions.desc.2": "Со временем вам всё же придётся работать с некоторыми из этих материалов, поэтому у вас есть способы обезопасить себя.\n\nЛучший способ — это вообще не допускать развития болезней: Медицинская маска и Резиновые перчатки предотвратят опасность вдыхания и тактильного контакта соответственно.\n\nВторой по эффективности способ — лечение: обратите внимание на &aПилюли, Таблетки и Мази&r, которые вы можете изготовить. Все они помогают лечить определённые эффекты (и дают полезные баффы!), хотя у более сильных лекарств есть и неприятные побочные эффекты.", + "quests.stone_age.medical_conditions.desc.3": "Будьте осторожны со всем &cКанцерогенным&r или &cРадиоактивным&r — эти условия &rпостоянны&r до тех пор, пока вы не сможете создать парацетамол в &7LV&r.", "quests.stone_age.medical_conditions.task": "Сам себе врач", "quests.stone_age.copper_for_anvil.title": "Медь для наковальни", "quests.stone_age.copper_for_anvil.subtitle": "Привыкай добывать 14 слитков чего-либо ", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 49b0390dc..e96a83971 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1297,6 +1297,9 @@ "item.tfg.rotten_voiding_cover": "腐烂物销毁覆盖板", "item.tfg.flora_pellets": "植物颗粒", "item.tfg.magnesia_refractory_brick_ingot": "树脂结合镁质耐火砖", + "item.tfg.tier_1_double_rocket": "R型铝钢双人火箭", + "item.tfg.tier_2_double_rocket": "ASM 4914 钛合金双人火箭", + "item.tfg.tier_3_double_rocket": "45-Ti 钨钢双人火箭", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1652,6 +1655,9 @@ "tfg.tooltip.surfer_variant.brain": "霜原粉毛皮", "tfg.tooltip.attribution.surfer": "§9§o版权归属:Wan's Ancient Beasts", "entity.tfg.rnr_plow": "铺路车", + "entity.tfg.tier_1_double_rocket": "R型铝钢双人火箭", + "entity.tfg.tier_2_double_rocket": "ASM 4914 钛合金双人火箭", + "entity.tfg.tier_3_double_rocket": "45-Ti 钨钢双人火箭", "effect.tfg.cooling": "§b降温", "effect.tfg.warming": "§6保暖", "effect.tfg.instant_radiation": "瞬间辐射", From d4da49043a9e7834088d1a8ae465dbf6028317d1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:49:06 +0000 Subject: [PATCH 078/157] #2913 fixes missing heat data for some tag prefixes --- CHANGELOG.md | 1 + kubejs/server_scripts/gregtech/data.js | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cca47e86a..d9f667106 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ - Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie - Fixed piglin brutes not dropping meat or bones @Pyritie +- Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 3197bcd1b..1d6e88e13 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -45,6 +45,7 @@ const registerGTCEUHeats = (event) => { makeItemHeatByTagPrefix(TagPrefix.plateDouble, material, tfcProperty, 5.75) makeItemHeatByTagPrefix(TagPrefix.springSmall, material, tfcProperty, 0.567) makeItemHeatByTagPrefix(TagPrefix.spring, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.ring, material, tfcProperty, 0.567) makeItemHeatByTagPrefix(TagPrefix.ingot, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.ingotDouble, material, tfcProperty, 2.875) @@ -59,7 +60,11 @@ const registerGTCEUHeats = (event) => { makeItemHeatByTagPrefix(TagPrefix.crushed, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TagPrefix.crushedPurified, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TagPrefix.crushedRefined, material, tfcProperty, 1.429) - + + makeItemHeatByTagPrefix(TagPrefix.toolHeadWrench, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TagPrefix.toolHeadBuzzSaw, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TagPrefix.toolHeadScrewdriver, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.toolHeadWireCutter, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSword, material, tfcProperty, 2.875) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadShovel, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadScythe, material, tfcProperty, 1.429) @@ -70,7 +75,7 @@ const registerGTCEUHeats = (event) => { makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadHammer, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadAxe, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadFile, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadMiningHammer, material, tfcProperty, 2.875) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSpade, material, tfcProperty, 2.875) From 0ee877471863bd194ad66040d4820f85cde223da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:49:20 +0000 Subject: [PATCH 079/157] add better vessel warning --- kubejs/client_scripts/tooltips.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index a55a97db4..c4f97d7d6 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -324,6 +324,7 @@ const registerTooltips = (event) => { }) event.addAdvanced(['#tfc:fired_vessels'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "3,024")) + text.add(2, Text.translate("tfg.tooltip.vessel_warning")) }) event.addAdvanced(['waterflasks:iron_flask', 'waterflasks:red_steel_flask'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "2,000")) From 5a43e40aa42dc1128bd19aa480f665779611ea91 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:50:18 +0000 Subject: [PATCH 080/157] removed armor welding bonus cuz it's complicated #2841 --- .../server_scripts/tfg/ores_and_materials/recipes.materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index d2374773d..819cc4757 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -195,7 +195,7 @@ function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, if (tfcProperty !== null) { - event.recipes.tfc.welding(TFC.isp.of(outputItem).copyForgingBonus().copyHeat(), inputItem1, inputItem2, tfcProperty.getTier() - 1) + event.recipes.tfc.welding(TFC.isp.of(outputItem).copyHeat(), inputItem1, inputItem2, tfcProperty.getTier() - 1) .id(`tfc:welding/${id}`); compactingTier = tfcProperty.getTier() < tierThreshold ? 0 : 1; From e8116ba65b9bb9ee7c7c216d9f38022fd20fbffa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:53:15 +0000 Subject: [PATCH 081/157] changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9f667106..9849a73db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,8 +17,8 @@ - Added new ceramics required to craft Cupronickel Coils, made out of your recycled TFC blast furnace, Magnesia, and some resin - Cupronickel coils now also need blue steel foil instead of bronze - Polyethylene now requires an MV chemical reactor -### Changes - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix +### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie @@ -39,6 +39,7 @@ - Piglins can now spawn with crossbows @Pyritie - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie +- Added assembler recipe for framed cubes (#2889) @Coox1e ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From c30ebf249b9cd069cee04d033e0e04f7c376a3c2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 15:24:40 +0000 Subject: [PATCH 082/157] add kinetic bridge #2881, pakku --- CHANGELOG.md | 1 + .../create_connected/recipes.js | 12 + kubejs/server_scripts/gregtech/recipes.js | 5 + .../create_connected/constants.js | 1 - pakku-lock.json | 212 +++++++++--------- 5 files changed, 124 insertions(+), 107 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9849a73db..0bf69867a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie - Added assembler recipe for framed cubes (#2889) @Coox1e +- Unhid and added a recipe for the kinetic bridge (#2881) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/create_connected/recipes.js b/kubejs/server_scripts/create_connected/recipes.js index 737d75bb7..258e30fe0 100644 --- a/kubejs/server_scripts/create_connected/recipes.js +++ b/kubejs/server_scripts/create_connected/recipes.js @@ -71,4 +71,16 @@ const registerCreateConnectedRecipes = (event) => { }).id('create_connected:crafting/kinetics/sequenced_pulse_generator') event.replaceInput({ id: 'create_connected:crafting/kinetics/redstone_link_wildcard' }, 'create:transmitter', 'minecraft:redstone_torch') + + event.shaped('create_connected:kinetic_bridge', [ + 'BCB', + 'AEA', + 'DCD' + ], { + A: 'create:brass_casing', + B: '#forge:plates/magnetic_iron', + C: '#forge:rods/magnetic_iron', + D: '#forge:small_gears/red_alloy', + E: '#forge:shafts' + }).id('create_connected:crafting/kinetics/kinetic_bridge') } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 7e8ede4e7..1af670f68 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -420,4 +420,9 @@ const registerGTCEURecipes = (event) => { .itemOutputs('#forge:lenses/glass', '#forge:small_dusts/glass') .duration(60 * 20) .EUt(GTValues.VA[GTValues.MV]) + + // Magnetic iron + event.shapeless('gtceu:magnetic_iron_ingot', ['#forge:ingots/iron', '8x minecraft:redstone']) + event.shapeless('gtceu:magnetic_iron_plate', ['#forge:plates/iron', '8x minecraft:redstone']) + event.shapeless('gtceu:magnetic_iron_bolt', ['#forge:bolts/iron', '2x minecraft:redstone']) } diff --git a/kubejs/startup_scripts/create_connected/constants.js b/kubejs/startup_scripts/create_connected/constants.js index 8a4b737d7..821512bfc 100644 --- a/kubejs/startup_scripts/create_connected/constants.js +++ b/kubejs/startup_scripts/create_connected/constants.js @@ -17,7 +17,6 @@ global.CREATE_CONNECTED_DISABLED_ITEMS = [ 'create_connected:cross_connector', 'create_connected:andesite_encased_cross_connector', 'create_connected:brass_encased_cross_connector', - 'create_connected:kinetic_bridge', 'create_connected:kinetic_battery', 'create_connected:charged_kinetic_battery' ] \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index 54b43aefc..318794451 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -991,7 +991,7 @@ "files": [ { "type": "modrinth", - "file_name": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -1000,22 +1000,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fM515JnW/versions/C1kWrOvd/AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", - "id": "C1kWrOvd", + "url": "https://cdn.modrinth.com/data/fM515JnW/versions/viZ543s0/AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", + "id": "viZ543s0", "parent_id": "fM515JnW", "hashes": { - "sha512": "ce045384b4e31a4e3a2138225ff94ab549981a1c1eed8d0659efec0a6e78e272f3f72f075d766829ff5ca52cbf2e4c2ff6445b542cbb88925b2cf2f1d0f028c8", - "sha1": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" + "sha512": "ae49643430fd3d8b2efd295db912c79eb557b470c99cfa0d3cb38fa27cf5fa42b7db20bd85c877469db3bae000c11329e94adf44da60438c36c95a296e1bc49b", + "sha1": "e84e7053c4c3a73c7f608c9da516bb5d393aab60" }, "required_dependencies": [ "OsZiaDHq" ], - "size": 53428829, - "date_published": "2026-01-09T09:26:23.471842Z" + "size": 53428834, + "date_published": "2026-01-30T11:52:35.658838Z" }, { "type": "curseforge", - "file_name": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -1024,18 +1024,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7436/598/AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", - "id": "7436598", + "url": "https://edge.forgecdn.net/files/7550/220/AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", + "id": "7550220", "parent_id": "254284", "hashes": { - "sha1": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c", - "md5": "75a5d7d61175d43ab56605814028134b" + "sha1": "e84e7053c4c3a73c7f608c9da516bb5d393aab60", + "md5": "cde6b48177d3581634514e848cde2622" }, "required_dependencies": [ "257814" ], - "size": 53428829, - "date_published": "2026-01-09T09:25:59.603Z" + "size": 53428834, + "date_published": "2026-01-30T11:52:13.223Z" } ] }, @@ -1465,27 +1465,6 @@ "modrinth": "OfKzpbRU" }, "files": [ - { - "type": "curseforge", - "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7287/505/baguettelib-1.20.1-Forge-1.1.5.jar", - "id": "7287505", - "parent_id": "1264423", - "hashes": { - "sha1": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f", - "md5": "21c32e7a3fcd7501915bf2b91d76df9b" - }, - "required_dependencies": [], - "size": 31868, - "date_published": "2025-12-02T22:51:20.803Z" - }, { "type": "modrinth", "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", @@ -1506,6 +1485,27 @@ "required_dependencies": [], "size": 31868, "date_published": "2025-12-19T20:09:42.978615Z" + }, + { + "type": "curseforge", + "file_name": "baguettelib-1.20.1-Forge-1.1.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7544/807/baguettelib-1.20.1-Forge-1.1.6.jar", + "id": "7544807", + "parent_id": "1264423", + "hashes": { + "sha1": "8d3c9551bbed4c2f2e8cb2b9a10d31bad4edb52d", + "md5": "f729a7d6d7b28ef14e4e8461a5396566" + }, + "required_dependencies": [], + "size": 31898, + "date_published": "2026-01-29T08:20:07.737Z" } ] }, @@ -3982,7 +3982,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_connected-1.1.10-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3991,22 +3991,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/saiZ8AwJ/create_connected-1.1.10-mc1.20.1-all.jar", - "id": "saiZ8AwJ", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/VjLFXhLl/create_connected-1.1.11-mc1.20.1-all.jar", + "id": "VjLFXhLl", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "0b885e09e0f074051120669337e0f53f42ca43a244cfde02f90b43da5a09853f92715371a9377c542886a673aefeda6f01becd3cb4b1e012d300618f1e33dce8", - "sha1": "329b9417c0fd52f0a5a153de31d7d075c521e900" + "sha512": "d6f8b57e7944be2caf6df6effd87ec96566ec8d1594b11318b7a62e2cccda8b8b3a4fae7e8e5cb77db050e45697df5e5b3c33ac64077d2723b84f9eb5b92546b", + "sha1": "a513a3fa9c7f3fb76d8f2ce4879e9755d1159477" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6567116, - "date_published": "2025-11-23T02:14:34.172787Z" + "size": 6566640, + "date_published": "2026-01-30T13:44:08.705420Z" }, { "type": "curseforge", - "file_name": "create_connected-1.1.10-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -4015,18 +4015,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7251/637/create_connected-1.1.10-mc1.20.1-all.jar", - "id": "7251637", + "url": "https://edge.forgecdn.net/files/7550/633/create_connected-1.1.11-mc1.20.1-all.jar", + "id": "7550633", "parent_id": "947914", "hashes": { - "sha1": "eea1d04aee638689a99acf66457327b13a4b3f96", - "md5": "b119043b5504991e86a5d7d06734f49b" + "sha1": "ceffe02002c5f5b0938ac4d23f5a8b4c14c6b034", + "md5": "07ca1d67374bcd6a8fffa13af1b1a472" }, "required_dependencies": [ "328085" ], - "size": 6567117, - "date_published": "2025-11-23T02:14:45.303Z" + "size": 6566640, + "date_published": "2026-01-30T13:44:20.473Z" } ] }, @@ -6830,30 +6830,9 @@ "modrinth": "8BmcQJ2H" }, "files": [ - { - "type": "curseforge", - "file_name": "geckolib-forge-1.20.1-4.8.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7025/129/geckolib-forge-1.20.1-4.8.2.jar", - "id": "7025129", - "parent_id": "388172", - "hashes": { - "sha1": "395a9f21a36dc8466d67c2af67a904e7013460d1", - "md5": "d1ff73da16b6fc163d6c5ed3d9734dde" - }, - "required_dependencies": [], - "size": 1038979, - "date_published": "2025-09-23T10:08:54.570Z" - }, { "type": "modrinth", - "file_name": "geckolib-forge-1.20.1-4.8.2.jar", + "file_name": "geckolib-forge-1.20.1-4.8.3.jar", "mc_versions": [ "1.20.1" ], @@ -6861,16 +6840,37 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/aVW7Z5da/geckolib-forge-1.20.1-4.8.2.jar", - "id": "aVW7Z5da", + "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/HVdLnQMI/geckolib-forge-1.20.1-4.8.3.jar", + "id": "HVdLnQMI", "parent_id": "8BmcQJ2H", "hashes": { - "sha512": "8d8cb1f2d60c885b3b312aca63b94e3942e50ca40e96514f35fb74a39367afa07e4986640a66c66b035da9ea60cb6d8ff602e9c0b6b298e5ce584ad9f46a2f45", - "sha1": "395a9f21a36dc8466d67c2af67a904e7013460d1" + "sha512": "938f1f703fa77a2e05aad4afa1052260521badee006d29529d0ed4e2d3fbaae47c9ffbc95b5c4982c3386e7e7d6592c9c79df31597cc8238db41fc0b1e431db6", + "sha1": "fead1d1645e16cfa02f39113481ead355230f8fd" }, "required_dependencies": [], - "size": 1038979, - "date_published": "2025-09-23T10:09:01.034935Z" + "size": 1039047, + "date_published": "2026-01-31T01:40:17.094003Z" + }, + { + "type": "curseforge", + "file_name": "geckolib-forge-1.20.1-4.8.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7553/267/geckolib-forge-1.20.1-4.8.3.jar", + "id": "7553267", + "parent_id": "388172", + "hashes": { + "sha1": "5428765c6c2e2135da6ee01f2f0478fa0db6aee7", + "md5": "33b0f8fe0a8d59fcf9d4e222741ecba7" + }, + "required_dependencies": [], + "size": 1039046, + "date_published": "2026-01-31T01:40:51.330Z" } ] }, @@ -8841,31 +8841,9 @@ "modrinth": "fJFETWDN" }, "files": [ - { - "type": "curseforge", - "file_name": "lootjs-forge-1.20.1-2.13.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6508/899/lootjs-forge-1.20.1-2.13.0.jar", - "id": "6508899", - "parent_id": "570630", - "hashes": { - "sha1": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e", - "md5": "1ddae5f49ca3200d67bcd32313875e19" - }, - "required_dependencies": [], - "size": 242227, - "date_published": "2025-05-08T14:06:39.737Z" - }, { "type": "modrinth", - "file_name": "lootjs-forge-1.20.1-2.13.0.jar", + "file_name": "lootjs-forge-1.20.1-2.13.1.jar", "mc_versions": [ "1.20.1" ], @@ -8874,16 +8852,38 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fJFETWDN/versions/RjTRvo4g/lootjs-forge-1.20.1-2.13.0.jar", - "id": "RjTRvo4g", + "url": "https://cdn.modrinth.com/data/fJFETWDN/versions/wltVDhRB/lootjs-forge-1.20.1-2.13.1.jar", + "id": "wltVDhRB", "parent_id": "fJFETWDN", "hashes": { - "sha512": "c8652b1ccffccd66885dc9dc89490afe46f055c9d9ede2fef24e06978db5957815e6125974670263ab15c1d60d7106954f4d10aff48cd7f1e04277e351d1aa2c", - "sha1": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e" + "sha512": "c03a07caf451a272f8027a47bb951db73f19bb24d603b61f0328a1769568a98f3912ec6b7bf39218062add102cb8fa7b29ae4ca73731cfa2db09eaac8fcf1033", + "sha1": "804deb0bd34d69cad873170642b9d7e47fa0d6ad" }, "required_dependencies": [], - "size": 242227, - "date_published": "2025-05-08T14:06:39.621822Z" + "size": 242267, + "date_published": "2026-01-30T16:31:51.682167Z" + }, + { + "type": "curseforge", + "file_name": "lootjs-forge-1.20.1-2.13.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7551/186/lootjs-forge-1.20.1-2.13.1.jar", + "id": "7551186", + "parent_id": "570630", + "hashes": { + "sha1": "804deb0bd34d69cad873170642b9d7e47fa0d6ad", + "md5": "0fbdbf49778f694de153bf5962ec03ee" + }, + "required_dependencies": [], + "size": 242267, + "date_published": "2026-01-30T16:31:51.313Z" } ] }, From 11d83ff91320f13d437adfa4040c9a78c4ab8f99 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 17:17:04 +0000 Subject: [PATCH 083/157] changelog, fix mars tags --- CHANGELOG.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bf69867a..a8d7d7e6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust - Changed ULV hulls to needing lead plates instead of wood plates - Adjusted a few other machine recipes slightly +- Deserts now contain oil spouts for heavy, raw, light, and normal oils +- Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert +- Unhid and added a recipe for the kinetic bridge (#2881) @Pyritie +- High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM +- Added steam alloy smelter glass batch recipes (#2853) @Pyritie #### LV changes - Completely rearranged the quest chapter! Now it should be much less intimidating for new players - Added Bakelite, a new early plastic used for Phenolic Boards and MV machine hulls (instead of wrought iron plates) @@ -21,16 +26,12 @@ ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie -- Added steam alloy smelter glass batch recipes (#2853) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie -- High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie - TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e - Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie -- Fixed the crucible capacity config on servers (#2899) @Pyritie - Added recipe to convert sedimentary carbonate stone dust into flux (#2862) @Pyritie -- Deserts now contain oil spouts for heavy, raw, light, and normal oils @Pyritie -- Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert @Pyritie +- Fixed the crucible capacity config on servers (#2899) @Pyritie - Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie - Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie - Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie @@ -40,7 +41,6 @@ - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie - Added assembler recipe for framed cubes (#2889) @Coox1e -- Unhid and added a recipe for the kinetic bridge (#2881) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From 34c4bb5fb4db146d85f3b3d30f7afaae90fecd54 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 18:50:46 +0000 Subject: [PATCH 084/157] stuff and things --- config/carryon-common.toml | 2 +- defaultconfigs/createhorsepower-server.toml | 2 +- defaultconfigs/wan_ancient_beasts-server.toml | 27 +++++++++++++++++ kubejs/server_scripts/tfg/food/tags.food.js | 1 + kubejs/server_scripts/tfg/mars/tags.mars.js | 15 +++++++--- .../server_scripts/tfg/worldgen/data.fauna.js | 30 +++++++++++++++++++ .../server_scripts/wan_ancient_beasts/tags.js | 13 ++++++-- kubejs/startup_scripts/tfg/worldgen/fauna.js | 3 ++ 8 files changed, 84 insertions(+), 9 deletions(-) diff --git a/config/carryon-common.toml b/config/carryon-common.toml index bcd253142..c8fe92609 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 = ["minecraft:axolotl", "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", "tfc:sheep", "tfc:wolf", "tfc:dog", "tfc:pig", "tfc:goat", "tfc:alpaca", "tfg:wraptor", "tfg:surfer", "tfg:moon_rabbit", "species:limpet", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram", "wan_ancient_beasts:crusher", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer", "wan_ancient_beasts:surfer", "primitive_creatures:viloger_10"] + allowedEntities = ["minecraft:axolotl", "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", "tfc:sheep", "tfc:wolf", "tfc:dog", "tfc:pig", "tfc:goat", "tfc:alpaca", "tfg:wraptor", "tfg:surfer", "tfg:moon_rabbit", "species:limpet", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram", "wan_ancient_beasts:crusher", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer", "wan_ancient_beasts:surfer", "wan_ancient_beasts:snatcher", "primitive_creatures:viloger_10"] #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) diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml index a6a5b86ba..d97583958 100644 --- a/defaultconfigs/createhorsepower-server.toml +++ b/defaultconfigs/createhorsepower-server.toml @@ -30,5 +30,5 @@ smallCreatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tf #Valid "Medium" creatures mediumCreatures = ["tfc:cow", "tfc:donkey", "tfc:dolphin", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer"] #Valid "Large" creatures -largeCreatures = ["tfc:horse", "tfc:mule", "tfc:musk_ox", "tfc:yak", "tfg:sniffer", "wan_ancient_beasts:walker", "species:cruncher"] +largeCreatures = ["tfc:horse", "tfc:mule", "tfc:musk_ox", "tfc:yak", "tfg:sniffer", "wan_ancient_beasts:walker", "species:cruncher", "wan_ancient_beasts:charger"] diff --git a/defaultconfigs/wan_ancient_beasts-server.toml b/defaultconfigs/wan_ancient_beasts-server.toml index c665ed8e1..607b1c43a 100644 --- a/defaultconfigs/wan_ancient_beasts-server.toml +++ b/defaultconfigs/wan_ancient_beasts-server.toml @@ -74,3 +74,30 @@ #Range: 1.0 ~ 1024.0 health = 80.0 +#Raider Attributes +[charger] + #Raider health [default: 60] + #Range: 1.0 ~ 1024.0 + health = 200.0 + #Raider armor [default: 4] + #Range: 0.0 ~ 30.0 + armor = 6.0 + #Raider attack damage [default: 15] + #Range: 0.0 ~ 1024.0 + armorToughness = 4.0 + +[raider] + #Raider health [default: 60] + #Range: 1.0 ~ 1024.0 + health = 200.0 + #Raider armor [default: 4] + #Range: 0.0 ~ 30.0 + armor = 6.0 + #Raider attack damage [default: 15] + #Range: 0.0 ~ 1024.0 + armorToughness = 4.0 + +[snatcher] + #Raider health [default: 60] + #Range: 1.0 ~ 1024.0 + health = 50.0 \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 97826d234..40323f389 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -66,6 +66,7 @@ function registerTFGFoodItemTags(event) { event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_cruncher_ribs') event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_surfer_steak') event.add('tfg:raw_dinosaur_meat', 'wan_ancient_beasts:raw_ancient_meat') + // TODO add meat for charger, raider, snatcher /** * List of items that can make light stock. diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 368274952..68f49594c 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -34,10 +34,8 @@ function registerTFGMarsItemTags(event) { event.add('tfg:martian_animal_foods', 'betterend:shadow_berry_product') event.add('tfg:martian_animal_foods', 'betterend:bolux_mushroom_product') event.add('tfg:martian_animal_foods', 'betterend:cave_pumpkin_chunks') - - event.add('tfg:glacian_ram_food', '#tfg:martian_animal_foods') - event.add('tfg:sniffer_food', '#tfg:martian_animal_foods') - event.add('tfg:wraptor_food', '#tfg:martian_animal_foods') + + event.add('tfg:martian_meat_foods', '#firmalife:foods/raw_fish') event.remove('minecraft:wool', 'ad_astra:glacian_fur') @@ -407,6 +405,9 @@ function registerTFGMarsEntityTypeTags(event) { 'wan_ancient_beasts:glider', 'wan_ancient_beasts:toxlacanth', 'wan_ancient_beasts:surfer', + 'wan_ancient_beasts:charger', + 'wan_ancient_beasts:raider', + 'wan_ancient_beasts:snatcher', 'tfg:surfer' ] @@ -420,10 +421,13 @@ function registerTFGMarsEntityTypeTags(event) { event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:eater') event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:soarer') event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:glider') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:raider') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:snatcher') event.add('tfc:deals_piercing_damage', 'ad_astra:martian_raptor') event.add('tfc:deals_crushing_damage', 'species:quake') event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:walker') event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:crusher') + event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:charger') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:crimson_forest_enderman') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:warped_forest_enderman') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:badlands_enderman') @@ -434,11 +438,14 @@ function registerTFGMarsEntityTypeTags(event) { // this huge guy also looks silly in low grav event.add('tfg:ignores_gravity', 'wan_ancient_beasts:walker') event.add('tfg:ignores_gravity', 'wan_ancient_beasts:eater') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:raider') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:charger') // flying mobs event.add('tfg:ignores_gravity', 'wan_ancient_beasts:soarer') event.add('tfg:ignores_gravity', 'wan_ancient_beasts:glider') // swimming mobs event.add('tfg:ignores_gravity', 'tfg:surfer') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:surfer') event.add('tfg:ignores_gravity', 'wan_ancient_beasts:toxlacanth') event.add('tfg:ignores_gravity', 'endermanoverhaul:coral_enderman') } diff --git a/kubejs/server_scripts/tfg/worldgen/data.fauna.js b/kubejs/server_scripts/tfg/worldgen/data.fauna.js index 6a54f27b4..e68ce1c84 100644 --- a/kubejs/server_scripts/tfg/worldgen/data.fauna.js +++ b/kubejs/server_scripts/tfg/worldgen/data.fauna.js @@ -86,6 +86,26 @@ function registerTFGFauna(event) { }, "wan_ancient_beasts:crusher") + event.fauna( + climate => { + climate.minTemp(-109) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:raider") + + event.fauna( + climate => { + climate.minTemp(-107) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:charger") + event.fauna( climate => { climate.minTemp(-105) @@ -105,4 +125,14 @@ function registerTFGFauna(event) { faunaData.solidGround(true) }, "wan_ancient_beasts:glider") + + event.fauna( + climate => { + climate.minTemp(-105) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:snatcher") } diff --git a/kubejs/server_scripts/wan_ancient_beasts/tags.js b/kubejs/server_scripts/wan_ancient_beasts/tags.js index 1a7c110d4..3dd151ff7 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/tags.js +++ b/kubejs/server_scripts/wan_ancient_beasts/tags.js @@ -22,7 +22,7 @@ const registerWABItemTags = (event) => { event.removeAll('wan_ancient_beasts:paleontologist_common') event.removeAll('wan_ancient_beasts:paleontologist_rare') event.removeAll('wan_ancient_beasts:paleontologist_items') - event.removeAll('wan_ancient_beasts:eater_food') + event.removeAll('wan_ancient_beasts:meat_food') event.add('tfc:foods/raw_meats', 'wan_ancient_beasts:toxlacanth') event.add('firmalife:foods/raw_fish', 'wan_ancient_beasts:toxlacanth') @@ -38,8 +38,7 @@ const registerWABItemTags = (event) => { event.add('tfc:foods/cooked_meats', 'wan_ancient_beasts:cooked_ancient_meat') event.add('tfc:foods/meats', 'wan_ancient_beasts:cooked_ancient_meat') - event.add('wan_ancient_beasts:surfer_food', '#firmalife:foods/raw_fish') - event.add('wan_ancient_beasts:eater_food', '#tfg:martian_animal_foods') + event.add('wan_antcient_beasts:meat_food', '#tfc:foods/raw_meats') // Eggs event.add('tfg:martian_eggs', 'wan_ancient_beasts:eater_egg') @@ -48,6 +47,9 @@ const registerWABItemTags = (event) => { event.add('tfg:martian_eggs', 'wan_ancient_beasts:glider_egg') event.add('tfg:martian_eggs', 'wan_ancient_beasts:soarer_egg') event.add('tfg:martian_eggs', 'wan_ancient_beasts:surfer_egg') + event.add('tfg:martian_eggs', 'wan_ancient_beasts:snatcher_egg') + event.add('tfg:martian_eggs', 'wan_ancient_beasts:raider_egg') + event.add('tfg:martian_eggs', 'wan_ancient_beasts:charger_egg') } const registerWABEntityTypeTags = (event) => { @@ -58,6 +60,11 @@ const registerWABEntityTypeTags = (event) => { event.add('wan_ancient_beasts:eater_ignore', 'species:springling') event.add('wan_ancient_beasts:eater_ignore', 'species:quake') + event.add('wan_ancient_beasts:raider_ignore', 'tfg:sniffer') + event.add('wan_ancient_beasts:raider_ignore', 'tfg:wraptor') + event.add('wan_ancient_beasts:raider_ignore', 'species:springling') + event.add('wan_ancient_beasts:raider_ignore', 'species:quake') + } const registerWansAncientBeastsBiomeTags = (event) => { diff --git a/kubejs/startup_scripts/tfg/worldgen/fauna.js b/kubejs/startup_scripts/tfg/worldgen/fauna.js index 46141c358..98a64bcf4 100644 --- a/kubejs/startup_scripts/tfg/worldgen/fauna.js +++ b/kubejs/startup_scripts/tfg/worldgen/fauna.js @@ -10,6 +10,9 @@ TFCEvents.registerFaunas(event => { event.replace("wan_ancient_beasts:walker", "on_ground", "ocean_floor"); event.replace("wan_ancient_beasts:eater", "on_ground", "ocean_floor"); event.replace("wan_ancient_beasts:crusher", "on_ground", "ocean_floor"); + event.replace("wan_ancient_beasts:snatcher", "on_ground", "ocean_floor"); + event.replace("wan_ancient_beasts:charger", "on_ground", "ocean_floor"); + event.replace("wan_ancient_beasts:raider", "on_ground", "ocean_floor"); event.replace("wan_ancient_beasts:soarer", "no_restrictions", "world_surface"); event.replace("wan_ancient_beasts:glider", "no_restrictions", "world_surface"); From 8b1403031e4131299aeecb0475fcdac7e067e16a Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sat, 31 Jan 2026 14:42:37 -0600 Subject: [PATCH 085/157] double rockets (#2910) * first things * yes * legally distinct rockets * Update tags.js Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- .../tfg/models/item/tier_1_double_rocket.json | 44 +++++++++++++++++ .../tfg/models/item/tier_2_double_rocket.json | 44 +++++++++++++++++ .../tfg/models/item/tier_3_double_rocket.json | 44 +++++++++++++++++ .../tfg/models/item/tier_4_double_rocket.json | 44 +++++++++++++++++ kubejs/server_scripts/ad_astra/tags.js | 10 ++++ .../tfg/space_general/recipes.rockets.js | 48 +++++++++++++++++++ 6 files changed, 234 insertions(+) create mode 100644 kubejs/assets/tfg/models/item/tier_1_double_rocket.json create mode 100644 kubejs/assets/tfg/models/item/tier_2_double_rocket.json create mode 100644 kubejs/assets/tfg/models/item/tier_3_double_rocket.json create mode 100644 kubejs/assets/tfg/models/item/tier_4_double_rocket.json diff --git a/kubejs/assets/tfg/models/item/tier_1_double_rocket.json b/kubejs/assets/tfg/models/item/tier_1_double_rocket.json new file mode 100644 index 000000000..367f272ed --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_1_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -1], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -13.5], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [-10, 180, 90], + "translation": [-18, 20, 0], + "scale": [0.45, 0.45, 0.45] + }, + "firstperson_lefthand": { + "rotation": [-10, 180, 90], + "translation": [-18, 12, 0], + "scale": [0.45, 0.45, 0.45] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [-0.5, -4.8, 0], + "scale": [0.2, 0.2, 0.2] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tier_2_double_rocket.json b/kubejs/assets/tfg/models/item/tier_2_double_rocket.json new file mode 100644 index 000000000..d3f52111d --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_2_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -1], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -13.5], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [-10, 180, 90], + "translation": [-20, 20, 0], + "scale": [0.45, 0.45, 0.45] + }, + "firstperson_lefthand": { + "rotation": [-10, 180, 90], + "translation": [-20, 12, 0], + "scale": [0.45, 0.45, 0.45] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [-0.5, -4.8, 0], + "scale": [0.2, 0.2, 0.2] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tier_3_double_rocket.json b/kubejs/assets/tfg/models/item/tier_3_double_rocket.json new file mode 100644 index 000000000..5c9cc42ed --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_3_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-110, 0, -90], + "translation": [-25, 4.5, -4.5], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [-110, 0, -90], + "translation": [-25, 4.5, -15], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [-10, 180, 90], + "translation": [-25, 20, -5], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [-10, 180, 90], + "translation": [-25, 12, -5], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [-0.5, -4.8, 0], + "scale": [0.2, 0.2, 0.2] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tier_4_double_rocket.json b/kubejs/assets/tfg/models/item/tier_4_double_rocket.json new file mode 100644 index 000000000..65f064315 --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_4_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [180, 0, -90], + "translation": [-35, 4.5, -14], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [180, 0, -90], + "translation": [-35, -7, -14], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [80, 180, 90], + "translation": [-25, 20, 6], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [80, 180, 90], + "translation": [-25, 18, 0], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [0, -4.8, 0], + "scale": [0.17, 0.17, 0.17] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 51505ec41..4deefb95b 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -51,6 +51,10 @@ const registerAdAstraItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'ad_astra:aeronos_mushroom') event.add('c:hidden_from_recipe_viewers', 'ad_astra:strophar_mushroom') + event.add('c:hidden_from_recipe_viewers', 'tfg:tier_3_double_rocket') + event.add('c:hidden_from_recipe_viewers', 'tfg:tier_4_double_rocket') + + // Deco blocks const DECO_BLOCKS = [ 'iron', 'steel', 'desh', 'calorite', 'ostrum' ]; DECO_BLOCKS.forEach(block => { @@ -68,6 +72,12 @@ const registerAdAstraItemTags = (event) => { event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_plateblock') event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_panel') + event.add('ad_astra:held_over_head', 'tfg:tier_1_double_rocket') + event.add('ad_astra:held_over_head', 'tfg:tier_2_double_rocket') + event.add('ad_astra:held_over_head', 'tfg:tier_3_double_rocket') + event.add('ad_astra:held_over_head', 'tfg:tier_4_double_rocket') + + global.AD_ASTRA_WOOD.forEach(wood => { if (wood.log) { diff --git a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js index 161eb46af..25a92c9c1 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js @@ -88,6 +88,22 @@ function registerTFGRocketRecipes(event) { .circuit(2) .EUt(GTValues.VA[GTValues.HV]) .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_double_rocket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 12), + '4x ad_astra:rocket_fin', + '1x ad_astra:steel_engine', + '1x ad_astra:rocket_nose_cone', + '24x #forge:insulation_t1', + '6x #gtceu:circuits/hv' + ) + .inputFluids(Fluid.of('gtceu:silicon', 144 * 24)) + .itemOutputs('tfg:tier_1_double_rocket') + .duration(1800) + .circuit(3) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) //#endregion @@ -185,6 +201,22 @@ function registerTFGRocketRecipes(event) { .circuit(3) .EUt(GTValues.VA[GTValues.EV]) .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:tier_2_double_rocket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 18), + '4x tfg:rocket_fin_t2', + '1x ad_astra:desh_engine', + '1x tfg:rocket_cone_t2', + '18x #forge:insulation_t2/roll', + '6x #gtceu:circuits/ev' + ) + .inputFluids(Fluid.of('gtceu:titanium', 144 * 24)) + .itemOutputs('tfg:tier_2_double_rocket') + .duration(2166) + .circuit(4) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) //#endregion @@ -278,6 +310,22 @@ function registerTFGRocketRecipes(event) { .EUt(GTValues.VA[GTValues.IV]) .addMaterialInfo(true, true) + event.recipes.gtceu.assembler('ad_astra:tier_3_double_rocket') + .itemInputs( + '24x #forge:dense_plates/rocket_alloy_t3', + '4x tfg:rocket_fin_t3', + '1x ad_astra:ostrum_engine', + '2x ad_astra:ostrum_tank', + '1x tfg:rocket_cone_t3', + '12x #forge:insulation_t3/sheet' + ) + .inputFluids(Fluid.of('gtceu:bromine', 1000 * 24)) + .itemOutputs('tfg:tier_3_double_rocket') + .duration(2550) + .circuit(5) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + //#endregion */ } \ No newline at end of file From 98241ed899c6fc3c02ed9ff8665b054d83aba1f4 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Sun, 1 Feb 2026 04:43:47 +0800 Subject: [PATCH 086/157] Bugfix/blast property (#2920) * Removing blast property * extractor recipes * Hid unused molten fluids * Updated hidden fluids * Removed molten rocket alloy * Typo and removed molten desh --- kubejs/server_scripts/gregtech/tags.js | 8 ++++++++ .../tfg/ores_and_materials/recipes.materials.js | 4 ++-- kubejs/startup_scripts/gtceu/constants.js | 9 +++++++++ kubejs/startup_scripts/gtceu/material_modification.js | 3 +++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 171d3841a..bca277013 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -109,6 +109,14 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:molten_blue_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:molten_black_bronze"); event.add("c:hidden_from_recipe_viewers", "gtceu:molten_bismuth_bronze"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_rose_gold"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_sterling_silver"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_stainless_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_manganese_phosphide"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_vanadium_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_gallium_arsenide"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_hsla_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_rocket_alloy_t2"); event.add("c:hidden_from_recipe_viewers", "gtceu:damascus_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index 819cc4757..582f842c5 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -6,9 +6,9 @@ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ function getFluidRecipeEUt(material) { - // Special case for bis/black bronze because removing the blast property doesn't change the tier of + // Special case for bis bronze, black bronze, rose gold and sterling silver because removing the blast property doesn't change the tier of // the extractor recipes retroactively - return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze + return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze && material !== GTMaterials.RoseGold && material !== GTMaterials.SterlingSilver ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.LV]; } diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index a00a7aea5..e6d531c48 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -170,6 +170,15 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:molten_black_bronze_bucket", "gtceu:molten_bismuth_bronze_bucket", + "gtceu:molten_rose_gold_bucket", + "gtceu:molten_sterling_silver_bucket", + "gtceu:molten_stainless_steel_bucket", + "gtceu:molten_manganese_phosphide_bucket", + "gtceu:molten_vanadium_steel_bucket", + "gtceu:molten_gallium_arsenide_bucket", + "gtceu:molten_hsla_steel_bucket", + "gtceu:molten_rocket_alloy_t2_bucket", + "gtceu:molten_desh_bucket", "tfg:molten_weak_blue_steel_bucket", "tfg:molten_weak_red_steel_bucket", diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index d9234d9d1..10ed98e61 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -365,6 +365,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.BLAST); GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.ITEM_PIPE); GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); + // Rose Gold & Sterling Silver + GTMaterials.RoseGold.getProperties().removeProperty(PropertyKey.BLAST); + GTMaterials.SterlingSilver.getProperties().removeProperty(PropertyKey.BLAST); // Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten From 30ddad417a242357d7e7a8fc6a6c78c2617536bf Mon Sep 17 00:00:00 2001 From: woopSmile Date: Sat, 31 Jan 2026 15:46:29 -0500 Subject: [PATCH 087/157] Add bluemap support v2 (#2922) * Add pack.mcmeta for TFG_fix resource pack Signed-off-by: woopSmile * added the rest of the files my bad, still learning to use github Signed-off-by: woopSmile --------- Signed-off-by: woopSmile --- .../packs/TFG_fix/assets/afc/blockColors.json | 95 + .../TFG_fix/assets/afc/blockProperties.json | 1087 ++++++++++ .../packs/TFG_fix/assets/tfc/blockColors.json | 245 +++ .../TFG_fix/assets/tfc/blockProperties.json | 1793 +++++++++++++++++ .../tfc/models/block/fluid/river_water.json | 1 + .../tfc/models/block/fluid/salt_water.json | 1 + .../tfc/models/block/fluid/spring_water.json | 1 + config/bluemap/packs/TFG_fix/pack.mcmeta | 6 + 8 files changed, 3229 insertions(+) create mode 100644 config/bluemap/packs/TFG_fix/assets/afc/blockColors.json create mode 100644 config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json create mode 100644 config/bluemap/packs/TFG_fix/pack.mcmeta diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json new file mode 100644 index 000000000..493aef425 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json @@ -0,0 +1,95 @@ +{ +//AFC leaves + "afc:wood/leaves/boabab": "@foliage", + "afc:wood/leaves/eucalyptus": "@foliage", + "afc:wood/leaves/mahogany": "@foliage", + "afc:wood/leaves/hevea": "@foliage", + "afc:wood/leaves/tualang": "@foliage", + "afc:wood/leaves/teak": "@foliage", + "afc:wood/leaves/cypress": "@foliage", + "afc:wood/leaves/fig": "@foliage", + "afc:wood/leaves/ironwood": "@foliage", + "afc:wood/leaves/ipe": "@foliage", + "afc:wood/leaves/gum_arabic": "@foliage", + "afc:wood/leaves/acacia_koa": "@foliage", + "afc:wood/leaves/poplar": "@foliage", + "afc:wood/leaves/mpingo_blackwood": "@foliage", + "afc:wood/leaves/mountain_fir": "@foliage", + "afc:wood/leaves/balsam_fir": "@foliage", + "afc:wood/leaves/scrub_hickory": "@foliage", + "afc:wood/leaves/red_silk_cotton": "@foliage", + "afc:wood/leaves/bigleaf_maple": "@foliage", + "afc:wood/leaves/weeping_maple": "@foliage", + "afc:wood/leaves/black_oak": "@foliage", + "afc:wood/leaves/live_oak": "@foliage", + "afc:wood/leaves/jaggery_palm": "@foliage", + "afc:wood/leaves/stone_pine": "@foliage", + "afc:wood/leaves/red_pine": "@foliage", + "afc:wood/leaves/tamarack": "@foliage", + "afc:wood/leaves/giant_rosewood": "@foliage", + "afc:wood/leaves/coast_redwood": "@foliage", + "afc:wood/leaves/coast_spruce": "@foliage", + "afc:wood/leaves/sitka_spruce": "@foliage", + "afc:wood/leaves/black_spruce": "@foliage", + "afc:wood/leaves/atlas_cedar": "@foliage", + "afc:wood/leaves/weeping_willow": "@foliage", + "afc:wood/leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/leaves/mountain_ash": "@foliage", + "afc:wood/leaves/rubber_fig": "@foliage", + "afc:wood/leaves/redcedar": "@foliage", + "afc:wood/leaves/weeping_cypress": "@foliage", + "afc:wood/leaves/bald_cypress": "@foliage", + "afc:wood/leaves/sapele_mahogany": "@foliage", + "afc:wood/leaves/small_leaf_mahogany": "@foliage", + "afc:wood/leaves/iroko_teak": "@foliage", + "afc:wood/leaves/flame_of_the_forest": "@foliage", + "afc:wood/leaves/lebombo_ironwood": "@foliage", + "afc:wood/leaves/horsetail_ironwood": "@foliage", + +//AFC fallen_leaves + "afc:wood/fallen_leaves/boabab": "@foliage", + "afc:wood/fallen_leaves/eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mahogany": "@foliage", + "afc:wood/fallen_leaves/hevea": "@foliage", + "afc:wood/fallen_leaves/tualang": "@foliage", + "afc:wood/fallen_leaves/teak": "@foliage", + "afc:wood/fallen_leaves/cypress": "@foliage", + "afc:wood/fallen_leaves/fig": "@foliage", + "afc:wood/fallen_leaves/ironwood": "@foliage", + "afc:wood/fallen_leaves/ipe": "@foliage", + "afc:wood/fallen_leaves/gum_arabic": "@foliage", + "afc:wood/fallen_leaves/acacia_koa": "@foliage", + "afc:wood/fallen_leaves/poplar": "@foliage", + "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", + "afc:wood/fallen_leaves/mountain_fir": "@foliage", + "afc:wood/fallen_leaves/balsam_fir": "@foliage", + "afc:wood/fallen_leaves/scrub_hickory": "@foliage", + "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", + "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", + "afc:wood/fallen_leaves/weeping_maple": "@foliage", + "afc:wood/fallen_leaves/black_oak": "@foliage", + "afc:wood/fallen_leaves/live_oak": "@foliage", + "afc:wood/fallen_leaves/jaggery_palm": "@foliage", + "afc:wood/fallen_leaves/stone_pine": "@foliage", + "afc:wood/fallen_leaves/red_pine": "@foliage", + "afc:wood/fallen_leaves/tamarack": "@foliage", + "afc:wood/fallen_leaves/giant_rosewood": "@foliage", + "afc:wood/fallen_leaves/coast_redwood": "@foliage", + "afc:wood/fallen_leaves/coast_spruce": "@foliage", + "afc:wood/fallen_leaves/sitka_spruce": "@foliage", + "afc:wood/fallen_leaves/black_spruce": "@foliage", + "afc:wood/fallen_leaves/atlas_cedar": "@foliage", + "afc:wood/fallen_leaves/weeping_willow": "@foliage", + "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mountain_ash": "@foliage", + "afc:wood/fallen_leaves/rubber_fig": "@foliage", + "afc:wood/fallen_leaves/redcedar": "@foliage", + "afc:wood/fallen_leaves/weeping_cypress": "@foliage", + "afc:wood/fallen_leaves/bald_cypress": "@foliage", + "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", + "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", + "afc:wood/fallen_leaves/iroko_teak": "@foliage", + "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", + "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", + "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json b/config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json new file mode 100644 index 000000000..2a317d01f --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json @@ -0,0 +1,1087 @@ +{ + //afc leaves + "afc:wood/leaves/boabab[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/boabab[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/hevea[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/hevea[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/tualang[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/tualang[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ipe[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ipe[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/horsetail_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/horsetail_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/gum_arabic[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/gum_arabic[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/acacia_koa[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/acacia_koa[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/poplar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/poplar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mpingo_blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mpingo_blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/balsam_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/balsam_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/scrub_hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/scrub_hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_silk_cotton[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_silk_cotton[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bigleaf_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bigleaf_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/live_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/live_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/jaggery_palmjaggery_palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/jaggery_palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/stone_pinestone_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/stone_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +"afc:wood/leaves/tamarack[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/tamarack[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/giant_rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/giant_rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_redwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_redwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sitka_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sitka_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/atlas_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/atlas_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rainbow_eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rainbow_eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rubber_fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rubber_fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/redcedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/redcedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bald_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bald_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sapele_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sapele_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/small_leaf_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/small_leaf_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/iroko_teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/iroko_teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/flame_of_the_forest[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/flame_of_the_forest[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/lebombo_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/lebombo_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + +//afc fallen_leaves + "afc:wood/fallen_leaves/boabab[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/boabab[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/hevea[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/hevea[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/tualang[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/tualang[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ipe[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ipe[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/horsetail_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/horsetail_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/gum_arabic[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/gum_arabic[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/acacia_koa[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/acacia_koa[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/poplar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/poplar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mpingo_blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mpingo_blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/balsam_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/balsam_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/scrub_hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/scrub_hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_silk_cotton[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_silk_cotton[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bigleaf_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bigleaf_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/live_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/live_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/jaggery_palmjaggery_palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/jaggery_palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/stone_pinestone_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/stone_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +"afc:wood/fallen_leaves/tamarack[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/tamarack[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/giant_rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/giant_rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_redwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_redwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sitka_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sitka_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/atlas_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/atlas_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rainbow_eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rainbow_eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rubber_fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rubber_fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/redcedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/redcedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bald_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bald_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sapele_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sapele_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/small_leaf_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/small_leaf_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/iroko_teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/iroko_teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/flame_of_the_forest[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/flame_of_the_forest[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/lebombo_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/lebombo_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + +//afc twig + "afc:wood/twig/boabab[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/boabab[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/hevea[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/hevea[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/tualang[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/tualang[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ipe[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ipe[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/horsetail_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/horsetail_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/gum_arabic[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/gum_arabic[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/acacia_koa[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/acacia_koa[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/poplar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/poplar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mpingo_blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mpingo_blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/balsam_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/balsam_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/scrub_hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/scrub_hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_silk_cotton[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_silk_cotton[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bigleaf_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bigleaf_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/live_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/live_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/jaggery_palmjaggery_palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/jaggery_palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/stone_pinestone_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/stone_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +"afc:wood/twig/tamarack[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/tamarack[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/giant_rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/giant_rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_redwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_redwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sitka_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sitka_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/atlas_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/atlas_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rainbow_eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rainbow_eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rubber_fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rubber_fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/redcedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/redcedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bald_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bald_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sapele_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sapele_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/small_leaf_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/small_leaf_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/iroko_teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/iroko_teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/flame_of_the_forest[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/flame_of_the_forest[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/lebombo_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/lebombo_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json new file mode 100644 index 000000000..37afc305b --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json @@ -0,0 +1,245 @@ +{ +//TFC plants + "tfc:peat_grass": "@grass", + "tfc:kaolin_clay_grass": "@grass", + "tfc:grass/silt": "@grass", + "tfc:clay_grass/silt": "@grass", + "tfc:grass/loam": "@grass", + "tfc:clay_grass/loam": "@grass", + "tfc:grass/sandy": "@grass", + "tfc:clay_grass/sandy": "@grass", + "tfc:grass/silty_loam": "@grass", + "tfc:clay_grass/silty_loam": "@grass", + "tfc:grass/sandy_loam": "@grass", + "tfc:clay_grass/sandy_loam": "@grass", + "tfc:plant/sagebrush": "@foliage", + "tfc:plant/cordgrass": "@foliage", + "tfc:plant/guzmania": "@foliage", + "tfc:plant/pine_krummholz": "@foliage", + "tfc:plant/king_fern": "@foliage", + "tfc:plant/perovskia": "@foliage", + "tfc:plant/gooseberry_bush": "@foliage", + "tfc:plant/saguaro_fruit": "@foliage", + "tfc:plant/olive_growing_branch": "@foliage", + "tfc:plant/manatee_grass": "@foliage", + "tfc:plant/spanish_moss": "@foliage", + "tfc:plant/hanging_vines_plant": "@foliage", + "tfc:plant/philodendron": "@foliage", + "tfc:plant/maiden_pink": "@foliage", + "tfc:plant/switchgrass": "@foliage", + "tfc:plant/red_apple_branch": "@foliage", + "tfc:plant/lily_of_the_valley": "@foliage", + "tfc:plant/licorice_fern": "@foliage", + "tfc:plant/cloudberry_bush": "@foliage", + "tfc:plant/ivy": "@foliage", + "tfc:plant/peach_branch": "@foliage", + "tfc:plant/plum_leaves": "@foliage", + "tfc:plant/cattail": "@foliage", + "tfc:plant/butterfly_milkweed": "@foliage", + "tfc:plant/saguaro": "@foliage", + "tfc:plant/laminaria": "@foliage", + "tfc:plant/poppy": "@foliage", + "tfc:plant/snapdragon_yellow": "@foliage", + "tfc:plant/plum_sapling": "@foliage", + "tfc:plant/olive_sapling": "@foliage", + "tfc:plant/tulip_pink": "@foliage", + "tfc:plant/dead_bush": "@foliage", + "tfc:plant/peach_leaves": "@foliage", + "tfc:plant/canna": "@foliage", + "tfc:plant/green_apple_sapling": "@foliage", + "tfc:plant/orange_sapling": "@foliage", + "tfc:plant/strawberry_bush": "@foliage", + "tfc:plant/raddia_grass": "@foliage", + "tfc:plant/bromegrass": "@foliage", + "tfc:plant/kangaroo_paw": "@foliage", + "tfc:plant/green_apple_growing_branch": "@foliage", + "tfc:plant/gutweed": "@foliage", + "tfc:plant/phragmite": "@foliage", + "tfc:plant/tulip_red": "@foliage", + "tfc:plant/banana_sapling": "@foliage", + "tfc:plant/sword_fern": "@foliage", + "tfc:plant/lemon_growing_branch": "@foliage", + "tfc:plant/elderberry_bush_cane": "@foliage", + "tfc:plant/red_apple_growing_branch": "@foliage", + "tfc:plant/anthurium": "@foliage", + "tfc:plant/goldenrod": "@foliage", + "tfc:plant/peach_growing_branch": "@foliage", + "tfc:plant/elderberry_bush": "@foliage", + "tfc:plant/duckweed": "@foliage", + "tfc:plant/cranberry_bush": "@foliage", + "tfc:plant/field_horsetail": "@foliage", + "tfc:plant/olive_branch": "@foliage", + "tfc:plant/giant_kelp_plant": "@foliage", + "tfc:plant/blood_lily": "@foliage", + "tfc:plant/raspberry_bush": "@foliage", + "tfc:plant/leafy_kelp_plant": "@foliage", + "tfc:plant/orange_branch": "@foliage", + "tfc:plant/allium": "@foliage", + "tfc:plant/lotus": "@foliage", + "tfc:plant/strelitzia": "@foliage", + "tfc:plant/peach_sapling": "@foliage", + "tfc:plant/red_algae": "@foliage", + "tfc:plant/dead_berry_bush": "@foliage", + "tfc:plant/bur_reed": "@foliage", + "tfc:plant/cherry_growing_branch": "@foliage", + "tfc:plant/pulsatilla": "@foliage", + "tfc:plant/orange_leaves": "@foliage", + "tfc:plant/sea_palm": "@foliage", + "tfc:plant/silver_spurflower": "@foliage", + "tfc:plant/coontail": "@foliage", + "tfc:plant/sapphire_tower": "@foliage", + "tfc:plant/scutch_grass": "@foliage", + "tfc:plant/sago": "@foliage", + "tfc:plant/winged_kelp_plant": "@foliage", + "tfc:plant/aspen_krummholz": "@foliage", + "tfc:plant/raspberry_bush_cane": "@foliage", + "tfc:plant/timothy_grass": "@foliage", + "tfc:plant/cobblestone_lichen": "@foliage", + "tfc:plant/snapdragon_pink": "@foliage", + "tfc:plant/red_apple_leaves": "@foliage", + "tfc:plant/winged_kelp": "@foliage", + "tfc:plant/saguaro_plant": "@foliage", + "tfc:plant/sargassum": "@foliage", + "tfc:plant/artists_conk": "@foliage", + "tfc:plant/black_orchid": "@foliage", + "tfc:plant/dry_phragmite_plant": "@foliage", + "tfc:plant/tree_fern_plant": "@foliage", + "tfc:plant/oxeye_daisy": "@foliage", + "tfc:plant/vriesea": "@foliage", + "tfc:plant/toquilla_palm": "@foliage", + "tfc:plant/badderlocks": "@foliage", + "tfc:plant/grape_hyacinth": "@foliage", + "tfc:plant/red_sealing_wax_palm": "@foliage", + "tfc:plant/lemon_sapling": "@foliage", + "tfc:plant/spanish_moss_plant": "@foliage", + "tfc:plant/blueberry_bush_cane": "@foliage", + "tfc:plant/bluegrass": "@foliage", + "tfc:plant/spruce_krummholz": "@foliage", + "tfc:plant/heliconia": "@foliage", + "tfc:plant/water_taro": "@foliage", + "tfc:plant/green_apple_branch": "@foliage", + "tfc:plant/dry_phragmite": "@foliage", + "tfc:plant/barrel_cactus": "@foliage", + "tfc:plant/rose": "@foliage", + "tfc:plant/houstonia": "@foliage", + "tfc:plant/labrador_tea": "@foliage", + "tfc:plant/nasturtium": "@foliage", + "tfc:plant/leafy_kelp": "@foliage", + "tfc:plant/moss": "@foliage", + "tfc:plant/yucca": "@foliage", + "tfc:plant/lemon_leaves": "@foliage", + "tfc:plant/snowberry_bush": "@foliage", + "tfc:plant/orchard_grass": "@foliage", + "tfc:plant/morning_glory": "@foliage", + "tfc:plant/hanging_vines": "@foliage", + "tfc:plant/water_lily": "@foliage", + "tfc:plant/blueberry_bush": "@foliage", + "tfc:plant/blue_orchid": "@foliage", + "tfc:plant/banana_plant": "@foliage", + "tfc:plant/blackberry_bush_cane": "@foliage", + "tfc:plant/reindeer_lichen": "@foliage", + "tfc:plant/athyrium_fern": "@foliage", + "tfc:plant/trillium": "@foliage", + "tfc:plant/white_cedar_krummholz": "@foliage", + "tfc:plant/turtle_grass": "@foliage", + "tfc:plant/arrowhead": "@foliage", + "tfc:plant/blackberry_bush": "@foliage", + "tfc:plant/tall_fescue_grass": "@foliage", + "tfc:plant/blue_ginger": "@foliage", + "tfc:plant/arundo": "@foliage", + "tfc:plant/sacred_datura": "@foliage", + "tfc:plant/tree_fern": "@foliage", + "tfc:plant/heather": "@foliage", + "tfc:plant/foxglove": "@foliage", + "tfc:plant/liana": "@foliage", + "tfc:plant/douglas_fir_krummholz": "@foliage", + "tfc:plant/lemon_branch": "@foliage", + "tfc:plant/giant_kelp_flower": "@foliage", + "tfc:plant/meads_milkweed": "@foliage", + "tfc:plant/tulip_orange": "@foliage", + "tfc:plant/arundo_plant": "@foliage", + "tfc:plant/olive_leaves": "@foliage", + "tfc:plant/pistia": "@foliage", + "tfc:plant/snapdragon_red": "@foliage", + "tfc:plant/water_canna": "@foliage", + "tfc:plant/ryegrass": "@foliage", + "tfc:plant/fountain_grass": "@foliage", + "tfc:plant/bunchberry_bush": "@foliage", + "tfc:plant/lady_fern": "@foliage", + "tfc:plant/dandelion": "@foliage", + "tfc:plant/tulip_white": "@foliage", + "tfc:plant/cherry_leaves": "@foliage", + "tfc:plant/cherry_sapling": "@foliage", + "tfc:plant/orange_growing_branch": "@foliage", + "tfc:plant/dead_banana_plant": "@foliage", + "tfc:plant/star_grass": "@foliage", + "tfc:plant/desert_flame": "@foliage", + "tfc:plant/eel_grass": "@foliage", + "tfc:plant/wintergreen_berry_bush": "@foliage", + "tfc:plant/beachgrass": "@foliage", + "tfc:plant/milfoil": "@foliage", + "tfc:plant/pickerelweed": "@foliage", + "tfc:plant/primrose": "@foliage", + "tfc:plant/sea_lavender": "@foliage", + "tfc:plant/marigold": "@foliage", + "tfc:plant/tropical_milkweed": "@foliage", + "tfc:plant/pampas_grass": "@foliage", + "tfc:plant/ostrich_fern": "@foliage", + "tfc:plant/green_algae": "@foliage", + "tfc:plant/liana_plant": "@foliage", + "tfc:plant/hibiscus": "@foliage", + "tfc:plant/green_apple_leaves": "@foliage", + "tfc:plant/jungle_vines": "@foliage", + "tfc:plant/dead_cane": "@foliage", + "tfc:plant/red_apple_sapling": "@foliage", + "tfc:plant/calendula": "@foliage", + "tfc:plant/plum_growing_branch": "@foliage", + "tfc:plant/snapdragon_white": "@foliage", + "tfc:plant/cherry_branch": "@foliage", + "tfc:plant/plum_branch": "@foliage", + "tfc:plant/lilac": "@foliage", + +//TFC leaves + "tfc:wood/leaves/willow": "@foliage", + "tfc:wood/leaves/acacia": "@foliage", + "tfc:wood/leaves/maple": "@foliage", + "tfc:wood/leaves/douglas_fir": "@foliage", + "tfc:wood/leaves/chestnut": "@foliage", + "tfc:wood/leaves/kapok": "@foliage", + "tfc:wood/leaves/blackwood": "@foliage", + "tfc:wood/leaves/oak": "@foliage", + "tfc:wood/leaves/sequoia": "@foliage", + "tfc:wood/leaves/mangrove": "@foliage", + "tfc:wood/leaves/white_cedar": "@foliage", + "tfc:wood/leaves/ash": "@foliage", + "tfc:wood/leaves/hickory": "@foliage", + "tfc:wood/leaves/birch": "@foliage", + "tfc:wood/leaves/rosewood": "@foliage", + "tfc:wood/leaves/spruce": "@foliage", + "tfc:wood/leaves/palm": "@foliage", + "tfc:wood/leaves/aspen": "@foliage", + "tfc:wood/leaves/pine": "@foliage", + "tfc:wood/leaves/sycamore": "@foliage", + +//TFC fallen leaves + "tfc:wood/fallen_leaves/willow": "@foliage", + "tfc:wood/fallen_leaves/acacia": "@foliage", + "tfc:wood/fallen_leaves/maple": "@foliage", + "tfc:wood/fallen_leaves/douglas_fir": "@foliage", + "tfc:wood/fallen_leaves/chestnut": "@foliage", + "tfc:wood/fallen_leaves/kapok": "@foliage", + "tfc:wood/fallen_leaves/blackwood": "@foliage", + "tfc:wood/fallen_leaves/oak": "@foliage", + "tfc:wood/fallen_leaves/sequoia": "@foliage", + "tfc:wood/fallen_leaves/mangrove": "@foliage", + "tfc:wood/fallen_leaves/white_cedar": "@foliage", + "tfc:wood/fallen_leaves/ash": "@foliage", + "tfc:wood/fallen_leaves/hickory": "@foliage", + "tfc:wood/fallen_leaves/birch": "@foliage", + "tfc:wood/fallen_leaves/rosewood": "@foliage", + "tfc:wood/fallen_leaves/spruce": "@foliage", + "tfc:wood/fallen_leaves/palm": "@foliage", + "tfc:wood/fallen_leaves/aspen": "@foliage", + "tfc:wood/fallen_leaves/pine": "@foliage", + "tfc:wood/fallen_leaves/sycamore": "@foliage" +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json new file mode 100644 index 000000000..a765a45ce --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json @@ -0,0 +1,1793 @@ +{ + "tfc:fluid/river_water": { + "alwaysWaterlogged": true + }, + "tfc:fluid/salt_water": { + "alwaysWaterlogged": true + }, + "tfc:fluid/spring_water": { + "alwaysWaterlogged": true + }, + "tfc:plant/eel_grass[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/water_taro[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp_plant[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_plant[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_flower[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp_plant[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/star_grass[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/gutweed[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/phragmite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/cattail[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/coontail[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/arrowhead[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/sago[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/marigold[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/pickerelweed[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/milfoil[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/acacia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/aspen[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/birch[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/chestnut[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/douglas_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/kapok[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/mangrove[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sequoia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sycamore[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/white_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/acacia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/aspen[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/birch[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/chestnut[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/douglas_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/kapok[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/mangrove[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sequoia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sycamore[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/white_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_bismuthinite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_cassiterite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_garnierite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_hematite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_magnetite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_malachite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_copper[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_gold[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_silver[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_sphalerite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_tetrahedrite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_limonite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_galena[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_bauxite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_uraninite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_galena[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_bauxite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_uraninite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/bone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/clam[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/driftwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/flint[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mollusk[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mussel[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pinecone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pumice[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/sea_urchin[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/stick[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/seaweed[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/andesite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/basalt[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chalk[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chert[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/claystone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/conglomerate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dacite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/diorite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dolomite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gabbro[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gneiss[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/granite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/limestone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/marble[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/phyllite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/quartzite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/rhyolite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/schist[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/shale[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/slate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/andesite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/basalt[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chalk[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chert[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/claystone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/conglomerate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dacite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/diorite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dolomite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gabbro[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gneiss[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/granite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/limestone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/marble[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/phyllite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/quartzite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/rhyolite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/schist[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/shale[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/slate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/eel_grass[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/salt_water_taro[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp_plant[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_plant[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_flower[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp_plant[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/star_grass[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/gutweed[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/phragmite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/cattail[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/coontail[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/arrowhead[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/sago[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/marigold[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/pickerelweed[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/milfoil[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/acacia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/aspen[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/birch[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/chestnut[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/douglas_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/kapok[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/mangrove[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sequoia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sycamore[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/white_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/acacia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/aspen[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/birch[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/chestnut[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/douglas_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/kapok[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/mangrove[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sequoia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sycamore[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/white_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_bismuthinite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_cassiterite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_garnierite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_hematite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_magnetite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_malachite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_copper[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_gold[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_silver[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_sphalerite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_tetrahedrite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_limonite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/bone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/clam[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/driftwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/flint[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mollusk[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mussel[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pinecone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pumice[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/sea_urchin[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/stick[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/seaweed[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/andesite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/basalt[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chalk[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chert[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/claystone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/conglomerate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dacite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/diorite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dolomite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gabbro[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gneiss[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/granite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/limestone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/marble[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/phyllite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/quartzite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/rhyolite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/schist[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/shale[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/slate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/andesite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/basalt[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chalk[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chert[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/claystone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/conglomerate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dacite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/diorite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dolomite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gabbro[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gneiss[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/granite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/limestone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/marble[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/phyllite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/quartzite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/rhyolite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/schist[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/shale[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/slate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "firmalife:hollow_shell[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/acacia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/acacia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/aspen[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/aspen[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/birch[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/birch[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/chestnut[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/chestnut[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/douglas_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/douglas_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/kapok[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/kapok[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/mangrove[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/mangrove[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sequoia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sequoia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sycamore[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sycamore[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/white_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/white_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:peat_grass": { + "culling": true, + "occluding": true + }, + "tfc:kaolin_clay_grass": { + "culling": true, + "occluding": true + }, + "tfc:grass/silt": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/silt": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/silt": { + "culling": true, + "occluding": true + }, + "tfc:grass/loam": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/loam": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/loam": { + "culling": true, + "occluding": true + }, + "tfc:grass/sandy": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/sandy": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/sandy": { + "culling": true, + "occluding": true + }, + "tfc:grass/silty_loam": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/silty_loam": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/silty_loam": { + "culling": true, + "occluding": true + }, + "tfc:grass/sandy_loam": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/sandy_loam": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/sandy_loam": { + "culling": true, + "occluding": true + }, + "tfc:plant/allium": { + "randomOffset": true + }, + "tfc:plant/anthurium": { + "randomOffset": true + }, + "tfc:plant/arrowhead": { + "randomOffset": true + }, + "tfc:plant/artists_conk": { + "randomOffset": true + }, + "tfc:plant/arundo": { + "randomOffset": true + }, + "tfc:plant/arundo_plant": { + "randomOffset": true + }, + "tfc:plant/aspen_krummholz": { + "randomOffset": true + }, + "tfc:plant/athyrium_fern": { + "randomOffset": true + }, + "tfc:plant/badderlocks": { + "randomOffset": true + }, + "tfc:plant/banana_plant": { + "randomOffset": true + }, + "tfc:plant/banana_sapling": { + "randomOffset": true + }, + "tfc:plant/barrel_cactus": { + "randomOffset": true + }, + "tfc:plant/beachgrass": { + "randomOffset": true + }, + "tfc:plant/blackberry_bush": { + "randomOffset": true + }, + "tfc:plant/blackberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/black_orchid": { + "randomOffset": true + }, + "tfc:plant/blood_lily": { + "randomOffset": true + }, + "tfc:plant/blueberry_bush": { + "randomOffset": true + }, + "tfc:plant/blueberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/bluegrass": { + "randomOffset": true + }, + "tfc:plant/blue_ginger": { + "randomOffset": true + }, + "tfc:plant/blue_orchid": { + "randomOffset": true + }, + "tfc:plant/bromegrass": { + "randomOffset": true + }, + "tfc:plant/bunchberry_bush": { + "randomOffset": true + }, + "tfc:plant/bur_reed": { + "randomOffset": true + }, + "tfc:plant/butterfly_milkweed": { + "randomOffset": true + }, + "tfc:plant/calendula": { + "randomOffset": true + }, + "tfc:plant/canna": { + "randomOffset": true + }, + "tfc:plant/cattail": { + "randomOffset": true + }, + "tfc:plant/cherry_branch": { + "randomOffset": true + }, + "tfc:plant/cherry_growing_branch": { + "randomOffset": true + }, + "tfc:plant/cherry_leaves": { + "randomOffset": true + }, + "tfc:plant/cherry_sapling": { + "randomOffset": true + }, + "tfc:plant/cloudberry_bush": { + "randomOffset": true + }, + "tfc:plant/cobblestone_lichen": { + "randomOffset": true + }, + "tfc:plant/coontail": { + "randomOffset": true + }, + "tfc:plant/cordgrass": { + "randomOffset": true + }, + "tfc:plant/cranberry_bush": { + "randomOffset": true + }, + "tfc:plant/dandelion": { + "randomOffset": true + }, + "tfc:plant/dead_banana_plant": { + "randomOffset": true + }, + "tfc:plant/dead_berry_bush": { + "randomOffset": true + }, + "tfc:plant/dead_bush": { + "randomOffset": true + }, + "tfc:plant/dead_cane": { + "randomOffset": true + }, + "tfc:plant/desert_flame": { + "randomOffset": true + }, + "tfc:plant/douglas_fir_krummholz": { + "randomOffset": true + }, + "tfc:plant/dry_phragmite": { + "randomOffset": true + }, + "tfc:plant/dry_phragmite_plant": { + "randomOffset": true + }, + "tfc:plant/duckweed": { + "randomOffset": true + }, + "tfc:plant/eel_grass": { + "randomOffset": true + }, + "tfc:plant/elderberry_bush": { + "randomOffset": true + }, + "tfc:plant/elderberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/field_horsetail": { + "randomOffset": true + }, + "tfc:plant/fountain_grass": { + "randomOffset": true + }, + "tfc:plant/foxglove": { + "randomOffset": true + }, + "tfc:plant/giant_kelp_flower": { + "randomOffset": true + }, + "tfc:plant/giant_kelp_plant": { + "randomOffset": true + }, + "tfc:plant/goldenrod": { + "randomOffset": true + }, + "tfc:plant/gooseberry_bush": { + "randomOffset": true + }, + "tfc:plant/grape_hyacinth": { + "randomOffset": true + }, + "tfc:plant/green_algae": { + "randomOffset": true + }, + "tfc:plant/green_apple_branch": { + "randomOffset": true + }, + "tfc:plant/green_apple_growing_branch": { + "randomOffset": true + }, + "tfc:plant/green_apple_leaves": { + "randomOffset": true + }, + "tfc:plant/green_apple_sapling": { + "randomOffset": true + }, + "tfc:plant/gutweed": { + "randomOffset": true + }, + "tfc:plant/guzmania": { + "randomOffset": true + }, + "tfc:plant/hanging_vines": { + "randomOffset": true + }, + "tfc:plant/hanging_vines_plant": { + "randomOffset": true + }, + "tfc:plant/heather": { + "randomOffset": true + }, + "tfc:plant/heliconia": { + "randomOffset": true + }, + "tfc:plant/hibiscus": { + "randomOffset": true + }, + "tfc:plant/houstonia": { + "randomOffset": true + }, + "tfc:plant/ivy": { + "randomOffset": true + }, + "tfc:plant/jungle_vines": { + "randomOffset": true + }, + "tfc:plant/kangaroo_paw": { + "randomOffset": true + }, + "tfc:plant/king_fern": { + "randomOffset": true + }, + "tfc:plant/labrador_tea": { + "randomOffset": true + }, + "tfc:plant/lady_fern": { + "randomOffset": true + }, + "tfc:plant/laminaria": { + "randomOffset": true + }, + "tfc:plant/leafy_kelp": { + "randomOffset": true + }, + "tfc:plant/leafy_kelp_plant": { + "randomOffset": true + }, + "tfc:plant/lemon_branch": { + "randomOffset": true + }, + "tfc:plant/lemon_growing_branch": { + "randomOffset": true + }, + "tfc:plant/lemon_leaves": { + "randomOffset": true + }, + "tfc:plant/lemon_sapling": { + "randomOffset": true + }, + "tfc:plant/liana": { + "randomOffset": true + }, + "tfc:plant/liana_plant": { + "randomOffset": true + }, + "tfc:plant/licorice_fern": { + "randomOffset": true + }, + "tfc:plant/lilac": { + "randomOffset": true + }, + "tfc:plant/lily_of_the_valley": { + "randomOffset": true + }, + "tfc:plant/lotus": { + "randomOffset": true + }, + "tfc:plant/maiden_pink": { + "randomOffset": true + }, + "tfc:plant/manatee_grass": { + "randomOffset": true + }, + "tfc:plant/marigold": { + "randomOffset": true + }, + "tfc:plant/meads_milkweed": { + "randomOffset": true + }, + "tfc:plant/milfoil": { + "randomOffset": true + }, + "tfc:plant/morning_glory": { + "randomOffset": true + }, + "tfc:plant/moss": { + "randomOffset": true + }, + "tfc:plant/nasturtium": { + "randomOffset": true + }, + "tfc:plant/olive_branch": { + "randomOffset": true + }, + "tfc:plant/olive_growing_branch": { + "randomOffset": true + }, + "tfc:plant/olive_leaves": { + "randomOffset": true + }, + "tfc:plant/olive_sapling": { + "randomOffset": true + }, + "tfc:plant/orange_branch": { + "randomOffset": true + }, + "tfc:plant/orange_growing_branch": { + "randomOffset": true + }, + "tfc:plant/orange_leaves": { + "randomOffset": true + }, + "tfc:plant/orange_sapling": { + "randomOffset": true + }, + "tfc:plant/orchard_grass": { + "randomOffset": true + }, + "tfc:plant/ostrich_fern": { + "randomOffset": true + }, + "tfc:plant/oxeye_daisy": { + "randomOffset": true + }, + "tfc:plant/pampas_grass": { + "randomOffset": true + }, + "tfc:plant/peach_branch": { + "randomOffset": true + }, + "tfc:plant/peach_growing_branch": { + "randomOffset": true + }, + "tfc:plant/peach_leaves": { + "randomOffset": true + }, + "tfc:plant/peach_sapling": { + "randomOffset": true + }, + "tfc:plant/perovskia": { + "randomOffset": true + }, + "tfc:plant/philodendron": { + "randomOffset": true + }, + "tfc:plant/phragmite": { + "randomOffset": true + }, + "tfc:plant/pickerelweed": { + "randomOffset": true + }, + "tfc:plant/pine_krummholz": { + "randomOffset": true + }, + "tfc:plant/pistia": { + "randomOffset": true + }, + "tfc:plant/plum_branch": { + "randomOffset": true + }, + "tfc:plant/plum_growing_branch": { + "randomOffset": true + }, + "tfc:plant/plum_leaves": { + "randomOffset": true + }, + "tfc:plant/plum_sapling": { + "randomOffset": true + }, + "tfc:plant/poppy": { + "randomOffset": true + }, + "tfc:plant/primrose": { + "randomOffset": true + }, + "tfc:plant/pulsatilla": { + "randomOffset": true + }, + "tfc:plant/raddia_grass": { + "randomOffset": true + }, + "tfc:plant/raspberry_bush": { + "randomOffset": true + }, + "tfc:plant/raspberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/red_algae": { + "randomOffset": true + }, + "tfc:plant/red_apple_branch": { + "randomOffset": true + }, + "tfc:plant/red_apple_growing_branch": { + "randomOffset": true + }, + "tfc:plant/red_apple_leaves": { + "randomOffset": true + }, + "tfc:plant/red_apple_sapling": { + "randomOffset": true + }, + "tfc:plant/red_sealing_wax_palm": { + "randomOffset": true + }, + "tfc:plant/reindeer_lichen": { + "randomOffset": true + }, + "tfc:plant/rose": { + "randomOffset": true + }, + "tfc:plant/ryegrass": { + "randomOffset": true + }, + "tfc:plant/sacred_datura": { + "randomOffset": true + }, + "tfc:plant/sagebrush": { + "randomOffset": true + }, + "tfc:plant/sago": { + "randomOffset": true + }, + "tfc:plant/saguaro": { + "randomOffset": true + }, + "tfc:plant/saguaro_fruit": { + "randomOffset": true + }, + "tfc:plant/saguaro_plant": { + "randomOffset": true + }, + "tfc:plant/sapphire_tower": { + "randomOffset": true + }, + "tfc:plant/sargassum": { + "randomOffset": true + }, + "tfc:plant/scutch_grass": { + "randomOffset": true + }, + "tfc:plant/sea_lavender": { + "randomOffset": true + }, + "tfc:plant/sea_palm": { + "randomOffset": true + }, + "tfc:plant/silver_spurflower": { + "randomOffset": true + }, + "tfc:plant/snapdragon_pink": { + "randomOffset": true + }, + "tfc:plant/snapdragon_red": { + "randomOffset": true + }, + "tfc:plant/snapdragon_white": { + "randomOffset": true + }, + "tfc:plant/snapdragon_yellow": { + "randomOffset": true + }, + "tfc:plant/snowberry_bush": { + "randomOffset": true + }, + "tfc:plant/spanish_moss": { + "randomOffset": true + }, + "tfc:plant/spanish_moss_plant": { + "randomOffset": true + }, + "tfc:plant/spruce_krummholz": { + "randomOffset": true + }, + "tfc:plant/star_grass": { + "randomOffset": true + }, + "tfc:plant/strawberry_bush": { + "randomOffset": true + }, + "tfc:plant/strelitzia": { + "randomOffset": true + }, + "tfc:plant/switchgrass": { + "randomOffset": true + }, + "tfc:plant/sword_fern": { + "randomOffset": true + }, + "tfc:plant/tall_fescue_grass": { + "randomOffset": true + }, + "tfc:plant/timothy_grass": { + "randomOffset": true + }, + "tfc:plant/toquilla_palm": { + "randomOffset": true + }, + "tfc:plant/tree_fern": { + "randomOffset": true + }, + "tfc:plant/tree_fern_plant": { + "randomOffset": true + }, + "tfc:plant/trillium": { + "randomOffset": true + }, + "tfc:plant/tropical_milkweed": { + "randomOffset": true + }, + "tfc:plant/tulip_orange": { + "randomOffset": true + }, + "tfc:plant/tulip_pink": { + "randomOffset": true + }, + "tfc:plant/tulip_red": { + "randomOffset": true + }, + "tfc:plant/tulip_white": { + "randomOffset": true + }, + "tfc:plant/turtle_grass": { + "randomOffset": true + }, + "tfc:plant/vriesea": { + "randomOffset": true + }, + "tfc:plant/water_canna": { + "randomOffset": true + }, + "tfc:plant/water_lily": { + "randomOffset": true + }, + "tfc:plant/water_taro": { + "randomOffset": true + }, + "tfc:plant/white_cedar_krummholz": { + "randomOffset": true + }, + "tfc:plant/winged_kelp": { + "randomOffset": true + }, + "tfc:plant/winged_kelp_plant": { + "randomOffset": true + }, + "tfc:plant/wintergreen_berry_bush": { + "randomOffset": true + }, + "tfc:plant/yucca": { + "randomOffset": true + } +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json @@ -0,0 +1 @@ +{} diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json @@ -0,0 +1 @@ +{} diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json @@ -0,0 +1 @@ +{} diff --git a/config/bluemap/packs/TFG_fix/pack.mcmeta b/config/bluemap/packs/TFG_fix/pack.mcmeta new file mode 100644 index 000000000..9bb5431f7 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 8, + "description": "TFC Water and Grass Fix for BlueMap by dhs92 + AFC tree and leaves fix by WoopSmile" + } +} From 45ac3cb2a4ac6781eda9ce1ce2c18b7e289b0aa6 Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:35:04 +1100 Subject: [PATCH 088/157] Added furnace recipe for dead grass to match drying recipe (#2935) Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/tfg/primitive/recipes.compost.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.compost.js b/kubejs/server_scripts/tfg/primitive/recipes.compost.js index ee9d26ed1..4d56cce0f 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.compost.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -66,6 +66,11 @@ function registerTFGCompostRecipes(event) { .duration(600) .EUt(2) + event.smelting( + '1x tfc:groundcover/dead_grass', + 'tfc:thatch' + ).id('tfg:smelting/thatch_drying_furnace') + event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost') .itemInputs('4x gtceu:fertilizer') .itemOutputs('tfc:compost') From 90535daf1a97fc9ade59f2ad295d43aad61d1390 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:05:14 +0000 Subject: [PATCH 089/157] add new skulls to mars, update loot tables, add new recipes, hide items --- .../mars/surface/large_skull.json | 4 + .../mars/surface/skulls/raider.json | 22 +++ .../mars/surface/skulls/snatcher.json | 22 +++ .../mars/surface/small_skull.json | 4 + .../loot_tables/entities/crusher.json | 140 +++++++++-------- .../loot_tables/entities/glider.json | 141 ++++++++++-------- .../loot_tables/entities/soarer.json | 126 ++++++++-------- .../loot_tables/entities/walker.json | 100 +++++++------ .../server_scripts/wan_ancient_beasts/data.js | 35 +++++ .../wan_ancient_beasts/recipes.js | 65 ++++---- .../server_scripts/wan_ancient_beasts/tags.js | 4 + .../wan_ancient_beasts/constants.js | 43 +++++- 12 files changed, 437 insertions(+), 269 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json create mode 100644 kubejs/server_scripts/wan_ancient_beasts/data.js diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json index e8cc3b028..c253b278e 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json @@ -13,6 +13,10 @@ { "feature": "tfg:mars/surface/skulls/charger", "placement": [] + }, + { + "feature": "tfg:mars/surface/skulls/raider", + "placement": [] } ] } diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json new file mode 100644 index 000000000..cd2c87829 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "rotation", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 0, + "max_inclusive": 15 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "wan_ancient_beasts:raider_skull" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json new file mode 100644 index 000000000..3258f648c --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "rotation", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 0, + "max_inclusive": 15 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "wan_ancient_beasts:snatcher_skull" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json index f413a15cf..ebdcabc62 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json @@ -18,6 +18,10 @@ "feature": "tfg:mars/surface/skulls/surfer", "placement": [] }, + { + "feature": "tfg:mars/surface/skulls/snatcher", + "placement": [] + }, { "feature": "tfg:mars/surface/skulls/tiny", "placement": [] diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json index 41865f871..945dd7230 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json @@ -1,65 +1,79 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_crusher_meat", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2, - "max": 5 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 3, - "type": "minecraft:uniform" - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "wan_ancient_beasts:crusher_spike", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0, - "max": 2, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_crusher_meat", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:crusher_spike", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0, + "max": 2, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:crusher_egg", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1 + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json index 90570f5b2..408ea0512 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json @@ -1,66 +1,79 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_glider_wings", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2, - "max": 6 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 2, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - , - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "wan_ancient_beasts:glider_feather", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0, - "max": 2, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_glider_wings", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 6 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:glider_feather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0, + "max": 2, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:glider_egg", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1 + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json index 2499bd85b..e4c12b080 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json @@ -1,66 +1,64 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_whole_soarer", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - , - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "wan_ancient_beasts:glider_feather", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_whole_soarer", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:glider_feather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json index 9808e1bba..bd339296f 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json @@ -1,45 +1,59 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_walker_steak", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 10, - "max": 25 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 4, - "max": 10, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_walker_steak", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 10, + "max": 25 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 10, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:walker_egg", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1 + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/server_scripts/wan_ancient_beasts/data.js b/kubejs/server_scripts/wan_ancient_beasts/data.js new file mode 100644 index 000000000..209bea8fb --- /dev/null +++ b/kubejs/server_scripts/wan_ancient_beasts/data.js @@ -0,0 +1,35 @@ +// priority: 0 +"use strict"; + +const registerWABData = (event) => { + + event.foodItem('wan_ancient_beasts:toxlacanth', food => { + food.hunger(2) + food.protein(1.5) + food.decayModifier(3) + }) + + event.foodItem('wan_ancient_beasts:cooked_toxlacanth', food => { + food.hunger(4) + food.saturation(2) + food.protein(2.5) + food.decayModifier(2.25) + }) + + // Eater meat + event.foodItem('wan_ancient_beasts:raw_ancient_meat', food => { + food.hunger(2) + food.protein(2) + food.decayModifier(3) + }) + + event.foodItem('wan_ancient_beasts:cooked_ancient_meat', food => { + food.hunger(4) + food.saturation(3) + food.protein(5) + food.decayModifier(2.25) + }) + + + event.itemSize('wan_ancient_beasts:reinforced_shield', 'very_large', 'very_heavy') +} \ No newline at end of file diff --git a/kubejs/server_scripts/wan_ancient_beasts/recipes.js b/kubejs/server_scripts/wan_ancient_beasts/recipes.js index 9f083ead7..c6b2fbbb6 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/recipes.js +++ b/kubejs/server_scripts/wan_ancient_beasts/recipes.js @@ -1,4 +1,3 @@ - // priority: 0 "use strict"; @@ -48,37 +47,35 @@ const registerWABRecipes = (event) => { C: '#tfc:shields', D: '#forge:plates/titanium' }).id('tfg:shaped/reinforced_shield_from_shield') + + event.shapeless('wan_ancient_beasts:fearsome_horn', [ + 'wan_ancient_beasts:raider_horn', + 'wan_ancient_beasts:eater_tooth', + 'wan_ancient_beasts:crusher_spike', + 'endermanoverhaul:enderman_tooth' + ]).id('tfg:shapeless/fearsome_horn') + + event.shaped('wan_ancient_beasts:white_charger_armor', [ + 'ABA', + 'CCC' + ], { + A: 'firmaciv:rope_coil', + B: 'minecraft:leather_horse_armor', + C: '#forge:double_plates/steel' + }).id('tfg:shaped/white_charger_armor') + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.recipes.tfc.barrel_sealed(1000) + .inputs('#wan_ancient_beasts:charger_armors', Fluid.of(`tfc:${dye}_dye`, 288)) + .outputItem(`wan_ancient_beasts:${dye}_charger_armor`) + .id(`tfg:barrel/dyeing/charger_armor_${dye}`) + + event.recipes.gtceu.chemical_bath(`tfg:wan_ancient_beasts/${dye}_charger_armor`) + .itemInputs('#wan_ancient_beasts:charger_armors') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 288)) + .itemOutputs(`wan_ancient_beasts:${dye}_charger_armor`) + .duration(200) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + }) } - -const registerWABData = (event) => { - - event.foodItem('wan_ancient_beasts:toxlacanth', food => { - food.hunger(2) - food.protein(1.5) - food.decayModifier(3) - }) - - event.foodItem('wan_ancient_beasts:cooked_toxlacanth', food => { - food.hunger(4) - food.saturation(2) - food.protein(2.5) - food.decayModifier(2.25) - }) - - // Eater meat - event.foodItem('wan_ancient_beasts:raw_ancient_meat', food => { - food.hunger(2) - food.protein(2) - food.decayModifier(3) - }) - - event.foodItem('wan_ancient_beasts:cooked_ancient_meat', food => { - food.hunger(4) - food.saturation(3) - food.protein(5) - food.decayModifier(2.25) - }) - - - event.itemSize('wan_ancient_beasts:reinforced_shield', 'very_large', 'very_heavy') -} \ No newline at end of file diff --git a/kubejs/server_scripts/wan_ancient_beasts/tags.js b/kubejs/server_scripts/wan_ancient_beasts/tags.js index 3dd151ff7..bf36190a3 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/tags.js +++ b/kubejs/server_scripts/wan_ancient_beasts/tags.js @@ -73,6 +73,7 @@ const registerWansAncientBeastsBiomeTags = (event) => { event.removeAll('wan_ancient_beasts:has_structure/ancient_nest'); event.removeAll('wan_ancient_beasts:has_structure/dead_coral'); event.removeAll('wan_ancient_beasts:has_structure/desert_ruins'); + event.removeAll('wan_ancient_beasts:has_structure/desert_ruins_small'); event.removeAll('wan_ancient_beasts:has_structure/digsite_badlands'); event.removeAll('wan_ancient_beasts:has_structure/digsite_desert'); event.removeAll('wan_ancient_beasts:has_structure/digsite_icespikes'); @@ -84,4 +85,7 @@ const registerWansAncientBeastsBiomeTags = (event) => { event.removeAll('wan_ancient_beasts:has_structure/digsite_taiga'); event.removeAll('wan_ancient_beasts:has_structure/ice_spike_castle'); event.removeAll('wan_ancient_beasts:has_structure/mesa_temple'); + event.removeAll('wan_ancient_beasts:has_structure/primal_log'); + event.removeAll('wan_ancient_beasts:has_structure/ruined_castle'); + event.removeAll('wan_ancient_beasts:has_structure/training_outpost'); } \ No newline at end of file diff --git a/kubejs/startup_scripts/wan_ancient_beasts/constants.js b/kubejs/startup_scripts/wan_ancient_beasts/constants.js index 6e5c22a5a..a255a4abc 100644 --- a/kubejs/startup_scripts/wan_ancient_beasts/constants.js +++ b/kubejs/startup_scripts/wan_ancient_beasts/constants.js @@ -49,5 +49,46 @@ global.WAB_DISABLED_ITEMS = [ 'wan_ancient_beasts:blue_hang_glider', 'wan_ancient_beasts:purple_hang_glider', 'wan_ancient_beasts:magenta_hang_glider', - 'wan_ancient_beasts:pink_hang_glider' + 'wan_ancient_beasts:pink_hang_glider', + 'wan_ancient_beasts:paleo_table', + 'wan_ancient_beasts:shrieking_horn', + 'wan_ancient_beasts:spectral_horn', + 'wan_ancient_beasts:nasty_stew', + 'wan_ancient_beasts:rafflesia_seeds', + 'wan_ancient_beasts:sundew_seeds', + 'wan_ancient_beasts:bellflower_seeds', + 'wan_ancient_beasts:moonflower', + 'wan_ancient_beasts:equisetum_seeds', + 'wan_ancient_beasts:olden_moss_carpet', + 'wan_ancient_beasts:olden_moss', + 'wan_ancient_beasts:amber_ginkgo_seeds', + 'wan_ancient_beasts:verdant_ginkgo_seeds', + 'wan_ancient_beasts:amber_ginkgo_sapling', + 'wan_ancient_beasts:verdant_ginkgo_sapling', + 'wan_ancient_beasts:amber_ginkgo_leaves', + 'wan_ancient_beasts:verdant_ginkgo_leaves', + 'wan_ancient_beasts:ginkgo_log', + 'wan_ancient_beasts:stripped_ginkgo_log', + 'wan_ancient_beasts:ginkgo_wood', + 'wan_ancient_beasts:stripped_ginkgo_wood', + 'wan_ancient_beasts:ginkgo_planks', + 'wan_ancient_beasts:ginkgo_stairs', + 'wan_ancient_beasts:ginkgo_slab', + 'wan_ancient_beasts:ginkgo_fence', + 'wan_ancient_beasts:ginkgo_fence_gate', + 'wan_ancient_beasts:ginkgo_door', + 'wan_ancient_beasts:ginkgo_trapdoor', + 'wan_ancient_beasts:ginkgo_pressure_plate', + 'wan_ancient_beasts:ginkgo_button', + 'wan_ancient_beasts:ginkgo_sign', + 'wan_ancient_beasts:ginkgo_hanging_sign', + 'wan_ancient_beasts:ginkgo_boat', + 'wan_ancient_beasts:ginkgo_chest_boat', + 'wan_ancient_beasts:petrified_log', + 'wan_ancient_beasts:stripped_petrified_log', + 'wan_ancient_beasts:petrified_wood', + 'wan_ancient_beasts:stripped_petrified_wood', + 'wan_ancient_beasts:horns_pottery_sherd', + 'wan_ancient_beasts:loot_pottery_sherd', + 'wan_ancient_beasts:steal_pottery_sherd' ] \ No newline at end of file From ecd7c3a7826bc2c4eabb71192f234585fdf5426b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:07:37 +0000 Subject: [PATCH 090/157] github moment --- .../packs/TFG_fix/assets/afc/blockColors.json | 188 +++---- .../packs/TFG_fix/assets/tfc/blockColors.json | 488 +++++++++--------- 2 files changed, 338 insertions(+), 338 deletions(-) diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json index 493aef425..3aaaa1ee5 100644 --- a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json @@ -1,95 +1,95 @@ -{ -//AFC leaves - "afc:wood/leaves/boabab": "@foliage", - "afc:wood/leaves/eucalyptus": "@foliage", - "afc:wood/leaves/mahogany": "@foliage", - "afc:wood/leaves/hevea": "@foliage", - "afc:wood/leaves/tualang": "@foliage", - "afc:wood/leaves/teak": "@foliage", - "afc:wood/leaves/cypress": "@foliage", - "afc:wood/leaves/fig": "@foliage", - "afc:wood/leaves/ironwood": "@foliage", - "afc:wood/leaves/ipe": "@foliage", - "afc:wood/leaves/gum_arabic": "@foliage", - "afc:wood/leaves/acacia_koa": "@foliage", - "afc:wood/leaves/poplar": "@foliage", - "afc:wood/leaves/mpingo_blackwood": "@foliage", - "afc:wood/leaves/mountain_fir": "@foliage", - "afc:wood/leaves/balsam_fir": "@foliage", - "afc:wood/leaves/scrub_hickory": "@foliage", - "afc:wood/leaves/red_silk_cotton": "@foliage", - "afc:wood/leaves/bigleaf_maple": "@foliage", - "afc:wood/leaves/weeping_maple": "@foliage", - "afc:wood/leaves/black_oak": "@foliage", - "afc:wood/leaves/live_oak": "@foliage", - "afc:wood/leaves/jaggery_palm": "@foliage", - "afc:wood/leaves/stone_pine": "@foliage", - "afc:wood/leaves/red_pine": "@foliage", - "afc:wood/leaves/tamarack": "@foliage", - "afc:wood/leaves/giant_rosewood": "@foliage", - "afc:wood/leaves/coast_redwood": "@foliage", - "afc:wood/leaves/coast_spruce": "@foliage", - "afc:wood/leaves/sitka_spruce": "@foliage", - "afc:wood/leaves/black_spruce": "@foliage", - "afc:wood/leaves/atlas_cedar": "@foliage", - "afc:wood/leaves/weeping_willow": "@foliage", - "afc:wood/leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/leaves/mountain_ash": "@foliage", - "afc:wood/leaves/rubber_fig": "@foliage", - "afc:wood/leaves/redcedar": "@foliage", - "afc:wood/leaves/weeping_cypress": "@foliage", - "afc:wood/leaves/bald_cypress": "@foliage", - "afc:wood/leaves/sapele_mahogany": "@foliage", - "afc:wood/leaves/small_leaf_mahogany": "@foliage", - "afc:wood/leaves/iroko_teak": "@foliage", - "afc:wood/leaves/flame_of_the_forest": "@foliage", - "afc:wood/leaves/lebombo_ironwood": "@foliage", - "afc:wood/leaves/horsetail_ironwood": "@foliage", - -//AFC fallen_leaves - "afc:wood/fallen_leaves/boabab": "@foliage", - "afc:wood/fallen_leaves/eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mahogany": "@foliage", - "afc:wood/fallen_leaves/hevea": "@foliage", - "afc:wood/fallen_leaves/tualang": "@foliage", - "afc:wood/fallen_leaves/teak": "@foliage", - "afc:wood/fallen_leaves/cypress": "@foliage", - "afc:wood/fallen_leaves/fig": "@foliage", - "afc:wood/fallen_leaves/ironwood": "@foliage", - "afc:wood/fallen_leaves/ipe": "@foliage", - "afc:wood/fallen_leaves/gum_arabic": "@foliage", - "afc:wood/fallen_leaves/acacia_koa": "@foliage", - "afc:wood/fallen_leaves/poplar": "@foliage", - "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", - "afc:wood/fallen_leaves/mountain_fir": "@foliage", - "afc:wood/fallen_leaves/balsam_fir": "@foliage", - "afc:wood/fallen_leaves/scrub_hickory": "@foliage", - "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", - "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", - "afc:wood/fallen_leaves/weeping_maple": "@foliage", - "afc:wood/fallen_leaves/black_oak": "@foliage", - "afc:wood/fallen_leaves/live_oak": "@foliage", - "afc:wood/fallen_leaves/jaggery_palm": "@foliage", - "afc:wood/fallen_leaves/stone_pine": "@foliage", - "afc:wood/fallen_leaves/red_pine": "@foliage", - "afc:wood/fallen_leaves/tamarack": "@foliage", - "afc:wood/fallen_leaves/giant_rosewood": "@foliage", - "afc:wood/fallen_leaves/coast_redwood": "@foliage", - "afc:wood/fallen_leaves/coast_spruce": "@foliage", - "afc:wood/fallen_leaves/sitka_spruce": "@foliage", - "afc:wood/fallen_leaves/black_spruce": "@foliage", - "afc:wood/fallen_leaves/atlas_cedar": "@foliage", - "afc:wood/fallen_leaves/weeping_willow": "@foliage", - "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mountain_ash": "@foliage", - "afc:wood/fallen_leaves/rubber_fig": "@foliage", - "afc:wood/fallen_leaves/redcedar": "@foliage", - "afc:wood/fallen_leaves/weeping_cypress": "@foliage", - "afc:wood/fallen_leaves/bald_cypress": "@foliage", - "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", - "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", - "afc:wood/fallen_leaves/iroko_teak": "@foliage", - "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", - "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", - "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", +{ +//AFC leaves + "afc:wood/leaves/boabab": "@foliage", + "afc:wood/leaves/eucalyptus": "@foliage", + "afc:wood/leaves/mahogany": "@foliage", + "afc:wood/leaves/hevea": "@foliage", + "afc:wood/leaves/tualang": "@foliage", + "afc:wood/leaves/teak": "@foliage", + "afc:wood/leaves/cypress": "@foliage", + "afc:wood/leaves/fig": "@foliage", + "afc:wood/leaves/ironwood": "@foliage", + "afc:wood/leaves/ipe": "@foliage", + "afc:wood/leaves/gum_arabic": "@foliage", + "afc:wood/leaves/acacia_koa": "@foliage", + "afc:wood/leaves/poplar": "@foliage", + "afc:wood/leaves/mpingo_blackwood": "@foliage", + "afc:wood/leaves/mountain_fir": "@foliage", + "afc:wood/leaves/balsam_fir": "@foliage", + "afc:wood/leaves/scrub_hickory": "@foliage", + "afc:wood/leaves/red_silk_cotton": "@foliage", + "afc:wood/leaves/bigleaf_maple": "@foliage", + "afc:wood/leaves/weeping_maple": "@foliage", + "afc:wood/leaves/black_oak": "@foliage", + "afc:wood/leaves/live_oak": "@foliage", + "afc:wood/leaves/jaggery_palm": "@foliage", + "afc:wood/leaves/stone_pine": "@foliage", + "afc:wood/leaves/red_pine": "@foliage", + "afc:wood/leaves/tamarack": "@foliage", + "afc:wood/leaves/giant_rosewood": "@foliage", + "afc:wood/leaves/coast_redwood": "@foliage", + "afc:wood/leaves/coast_spruce": "@foliage", + "afc:wood/leaves/sitka_spruce": "@foliage", + "afc:wood/leaves/black_spruce": "@foliage", + "afc:wood/leaves/atlas_cedar": "@foliage", + "afc:wood/leaves/weeping_willow": "@foliage", + "afc:wood/leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/leaves/mountain_ash": "@foliage", + "afc:wood/leaves/rubber_fig": "@foliage", + "afc:wood/leaves/redcedar": "@foliage", + "afc:wood/leaves/weeping_cypress": "@foliage", + "afc:wood/leaves/bald_cypress": "@foliage", + "afc:wood/leaves/sapele_mahogany": "@foliage", + "afc:wood/leaves/small_leaf_mahogany": "@foliage", + "afc:wood/leaves/iroko_teak": "@foliage", + "afc:wood/leaves/flame_of_the_forest": "@foliage", + "afc:wood/leaves/lebombo_ironwood": "@foliage", + "afc:wood/leaves/horsetail_ironwood": "@foliage", + +//AFC fallen_leaves + "afc:wood/fallen_leaves/boabab": "@foliage", + "afc:wood/fallen_leaves/eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mahogany": "@foliage", + "afc:wood/fallen_leaves/hevea": "@foliage", + "afc:wood/fallen_leaves/tualang": "@foliage", + "afc:wood/fallen_leaves/teak": "@foliage", + "afc:wood/fallen_leaves/cypress": "@foliage", + "afc:wood/fallen_leaves/fig": "@foliage", + "afc:wood/fallen_leaves/ironwood": "@foliage", + "afc:wood/fallen_leaves/ipe": "@foliage", + "afc:wood/fallen_leaves/gum_arabic": "@foliage", + "afc:wood/fallen_leaves/acacia_koa": "@foliage", + "afc:wood/fallen_leaves/poplar": "@foliage", + "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", + "afc:wood/fallen_leaves/mountain_fir": "@foliage", + "afc:wood/fallen_leaves/balsam_fir": "@foliage", + "afc:wood/fallen_leaves/scrub_hickory": "@foliage", + "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", + "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", + "afc:wood/fallen_leaves/weeping_maple": "@foliage", + "afc:wood/fallen_leaves/black_oak": "@foliage", + "afc:wood/fallen_leaves/live_oak": "@foliage", + "afc:wood/fallen_leaves/jaggery_palm": "@foliage", + "afc:wood/fallen_leaves/stone_pine": "@foliage", + "afc:wood/fallen_leaves/red_pine": "@foliage", + "afc:wood/fallen_leaves/tamarack": "@foliage", + "afc:wood/fallen_leaves/giant_rosewood": "@foliage", + "afc:wood/fallen_leaves/coast_redwood": "@foliage", + "afc:wood/fallen_leaves/coast_spruce": "@foliage", + "afc:wood/fallen_leaves/sitka_spruce": "@foliage", + "afc:wood/fallen_leaves/black_spruce": "@foliage", + "afc:wood/fallen_leaves/atlas_cedar": "@foliage", + "afc:wood/fallen_leaves/weeping_willow": "@foliage", + "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mountain_ash": "@foliage", + "afc:wood/fallen_leaves/rubber_fig": "@foliage", + "afc:wood/fallen_leaves/redcedar": "@foliage", + "afc:wood/fallen_leaves/weeping_cypress": "@foliage", + "afc:wood/fallen_leaves/bald_cypress": "@foliage", + "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", + "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", + "afc:wood/fallen_leaves/iroko_teak": "@foliage", + "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", + "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", + "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", } \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json index 37afc305b..33a0419a6 100644 --- a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json @@ -1,245 +1,245 @@ -{ -//TFC plants - "tfc:peat_grass": "@grass", - "tfc:kaolin_clay_grass": "@grass", - "tfc:grass/silt": "@grass", - "tfc:clay_grass/silt": "@grass", - "tfc:grass/loam": "@grass", - "tfc:clay_grass/loam": "@grass", - "tfc:grass/sandy": "@grass", - "tfc:clay_grass/sandy": "@grass", - "tfc:grass/silty_loam": "@grass", - "tfc:clay_grass/silty_loam": "@grass", - "tfc:grass/sandy_loam": "@grass", - "tfc:clay_grass/sandy_loam": "@grass", - "tfc:plant/sagebrush": "@foliage", - "tfc:plant/cordgrass": "@foliage", - "tfc:plant/guzmania": "@foliage", - "tfc:plant/pine_krummholz": "@foliage", - "tfc:plant/king_fern": "@foliage", - "tfc:plant/perovskia": "@foliage", - "tfc:plant/gooseberry_bush": "@foliage", - "tfc:plant/saguaro_fruit": "@foliage", - "tfc:plant/olive_growing_branch": "@foliage", - "tfc:plant/manatee_grass": "@foliage", - "tfc:plant/spanish_moss": "@foliage", - "tfc:plant/hanging_vines_plant": "@foliage", - "tfc:plant/philodendron": "@foliage", - "tfc:plant/maiden_pink": "@foliage", - "tfc:plant/switchgrass": "@foliage", - "tfc:plant/red_apple_branch": "@foliage", - "tfc:plant/lily_of_the_valley": "@foliage", - "tfc:plant/licorice_fern": "@foliage", - "tfc:plant/cloudberry_bush": "@foliage", - "tfc:plant/ivy": "@foliage", - "tfc:plant/peach_branch": "@foliage", - "tfc:plant/plum_leaves": "@foliage", - "tfc:plant/cattail": "@foliage", - "tfc:plant/butterfly_milkweed": "@foliage", - "tfc:plant/saguaro": "@foliage", - "tfc:plant/laminaria": "@foliage", - "tfc:plant/poppy": "@foliage", - "tfc:plant/snapdragon_yellow": "@foliage", - "tfc:plant/plum_sapling": "@foliage", - "tfc:plant/olive_sapling": "@foliage", - "tfc:plant/tulip_pink": "@foliage", - "tfc:plant/dead_bush": "@foliage", - "tfc:plant/peach_leaves": "@foliage", - "tfc:plant/canna": "@foliage", - "tfc:plant/green_apple_sapling": "@foliage", - "tfc:plant/orange_sapling": "@foliage", - "tfc:plant/strawberry_bush": "@foliage", - "tfc:plant/raddia_grass": "@foliage", - "tfc:plant/bromegrass": "@foliage", - "tfc:plant/kangaroo_paw": "@foliage", - "tfc:plant/green_apple_growing_branch": "@foliage", - "tfc:plant/gutweed": "@foliage", - "tfc:plant/phragmite": "@foliage", - "tfc:plant/tulip_red": "@foliage", - "tfc:plant/banana_sapling": "@foliage", - "tfc:plant/sword_fern": "@foliage", - "tfc:plant/lemon_growing_branch": "@foliage", - "tfc:plant/elderberry_bush_cane": "@foliage", - "tfc:plant/red_apple_growing_branch": "@foliage", - "tfc:plant/anthurium": "@foliage", - "tfc:plant/goldenrod": "@foliage", - "tfc:plant/peach_growing_branch": "@foliage", - "tfc:plant/elderberry_bush": "@foliage", - "tfc:plant/duckweed": "@foliage", - "tfc:plant/cranberry_bush": "@foliage", - "tfc:plant/field_horsetail": "@foliage", - "tfc:plant/olive_branch": "@foliage", - "tfc:plant/giant_kelp_plant": "@foliage", - "tfc:plant/blood_lily": "@foliage", - "tfc:plant/raspberry_bush": "@foliage", - "tfc:plant/leafy_kelp_plant": "@foliage", - "tfc:plant/orange_branch": "@foliage", - "tfc:plant/allium": "@foliage", - "tfc:plant/lotus": "@foliage", - "tfc:plant/strelitzia": "@foliage", - "tfc:plant/peach_sapling": "@foliage", - "tfc:plant/red_algae": "@foliage", - "tfc:plant/dead_berry_bush": "@foliage", - "tfc:plant/bur_reed": "@foliage", - "tfc:plant/cherry_growing_branch": "@foliage", - "tfc:plant/pulsatilla": "@foliage", - "tfc:plant/orange_leaves": "@foliage", - "tfc:plant/sea_palm": "@foliage", - "tfc:plant/silver_spurflower": "@foliage", - "tfc:plant/coontail": "@foliage", - "tfc:plant/sapphire_tower": "@foliage", - "tfc:plant/scutch_grass": "@foliage", - "tfc:plant/sago": "@foliage", - "tfc:plant/winged_kelp_plant": "@foliage", - "tfc:plant/aspen_krummholz": "@foliage", - "tfc:plant/raspberry_bush_cane": "@foliage", - "tfc:plant/timothy_grass": "@foliage", - "tfc:plant/cobblestone_lichen": "@foliage", - "tfc:plant/snapdragon_pink": "@foliage", - "tfc:plant/red_apple_leaves": "@foliage", - "tfc:plant/winged_kelp": "@foliage", - "tfc:plant/saguaro_plant": "@foliage", - "tfc:plant/sargassum": "@foliage", - "tfc:plant/artists_conk": "@foliage", - "tfc:plant/black_orchid": "@foliage", - "tfc:plant/dry_phragmite_plant": "@foliage", - "tfc:plant/tree_fern_plant": "@foliage", - "tfc:plant/oxeye_daisy": "@foliage", - "tfc:plant/vriesea": "@foliage", - "tfc:plant/toquilla_palm": "@foliage", - "tfc:plant/badderlocks": "@foliage", - "tfc:plant/grape_hyacinth": "@foliage", - "tfc:plant/red_sealing_wax_palm": "@foliage", - "tfc:plant/lemon_sapling": "@foliage", - "tfc:plant/spanish_moss_plant": "@foliage", - "tfc:plant/blueberry_bush_cane": "@foliage", - "tfc:plant/bluegrass": "@foliage", - "tfc:plant/spruce_krummholz": "@foliage", - "tfc:plant/heliconia": "@foliage", - "tfc:plant/water_taro": "@foliage", - "tfc:plant/green_apple_branch": "@foliage", - "tfc:plant/dry_phragmite": "@foliage", - "tfc:plant/barrel_cactus": "@foliage", - "tfc:plant/rose": "@foliage", - "tfc:plant/houstonia": "@foliage", - "tfc:plant/labrador_tea": "@foliage", - "tfc:plant/nasturtium": "@foliage", - "tfc:plant/leafy_kelp": "@foliage", - "tfc:plant/moss": "@foliage", - "tfc:plant/yucca": "@foliage", - "tfc:plant/lemon_leaves": "@foliage", - "tfc:plant/snowberry_bush": "@foliage", - "tfc:plant/orchard_grass": "@foliage", - "tfc:plant/morning_glory": "@foliage", - "tfc:plant/hanging_vines": "@foliage", - "tfc:plant/water_lily": "@foliage", - "tfc:plant/blueberry_bush": "@foliage", - "tfc:plant/blue_orchid": "@foliage", - "tfc:plant/banana_plant": "@foliage", - "tfc:plant/blackberry_bush_cane": "@foliage", - "tfc:plant/reindeer_lichen": "@foliage", - "tfc:plant/athyrium_fern": "@foliage", - "tfc:plant/trillium": "@foliage", - "tfc:plant/white_cedar_krummholz": "@foliage", - "tfc:plant/turtle_grass": "@foliage", - "tfc:plant/arrowhead": "@foliage", - "tfc:plant/blackberry_bush": "@foliage", - "tfc:plant/tall_fescue_grass": "@foliage", - "tfc:plant/blue_ginger": "@foliage", - "tfc:plant/arundo": "@foliage", - "tfc:plant/sacred_datura": "@foliage", - "tfc:plant/tree_fern": "@foliage", - "tfc:plant/heather": "@foliage", - "tfc:plant/foxglove": "@foliage", - "tfc:plant/liana": "@foliage", - "tfc:plant/douglas_fir_krummholz": "@foliage", - "tfc:plant/lemon_branch": "@foliage", - "tfc:plant/giant_kelp_flower": "@foliage", - "tfc:plant/meads_milkweed": "@foliage", - "tfc:plant/tulip_orange": "@foliage", - "tfc:plant/arundo_plant": "@foliage", - "tfc:plant/olive_leaves": "@foliage", - "tfc:plant/pistia": "@foliage", - "tfc:plant/snapdragon_red": "@foliage", - "tfc:plant/water_canna": "@foliage", - "tfc:plant/ryegrass": "@foliage", - "tfc:plant/fountain_grass": "@foliage", - "tfc:plant/bunchberry_bush": "@foliage", - "tfc:plant/lady_fern": "@foliage", - "tfc:plant/dandelion": "@foliage", - "tfc:plant/tulip_white": "@foliage", - "tfc:plant/cherry_leaves": "@foliage", - "tfc:plant/cherry_sapling": "@foliage", - "tfc:plant/orange_growing_branch": "@foliage", - "tfc:plant/dead_banana_plant": "@foliage", - "tfc:plant/star_grass": "@foliage", - "tfc:plant/desert_flame": "@foliage", - "tfc:plant/eel_grass": "@foliage", - "tfc:plant/wintergreen_berry_bush": "@foliage", - "tfc:plant/beachgrass": "@foliage", - "tfc:plant/milfoil": "@foliage", - "tfc:plant/pickerelweed": "@foliage", - "tfc:plant/primrose": "@foliage", - "tfc:plant/sea_lavender": "@foliage", - "tfc:plant/marigold": "@foliage", - "tfc:plant/tropical_milkweed": "@foliage", - "tfc:plant/pampas_grass": "@foliage", - "tfc:plant/ostrich_fern": "@foliage", - "tfc:plant/green_algae": "@foliage", - "tfc:plant/liana_plant": "@foliage", - "tfc:plant/hibiscus": "@foliage", - "tfc:plant/green_apple_leaves": "@foliage", - "tfc:plant/jungle_vines": "@foliage", - "tfc:plant/dead_cane": "@foliage", - "tfc:plant/red_apple_sapling": "@foliage", - "tfc:plant/calendula": "@foliage", - "tfc:plant/plum_growing_branch": "@foliage", - "tfc:plant/snapdragon_white": "@foliage", - "tfc:plant/cherry_branch": "@foliage", - "tfc:plant/plum_branch": "@foliage", - "tfc:plant/lilac": "@foliage", - -//TFC leaves - "tfc:wood/leaves/willow": "@foliage", - "tfc:wood/leaves/acacia": "@foliage", - "tfc:wood/leaves/maple": "@foliage", - "tfc:wood/leaves/douglas_fir": "@foliage", - "tfc:wood/leaves/chestnut": "@foliage", - "tfc:wood/leaves/kapok": "@foliage", - "tfc:wood/leaves/blackwood": "@foliage", - "tfc:wood/leaves/oak": "@foliage", - "tfc:wood/leaves/sequoia": "@foliage", - "tfc:wood/leaves/mangrove": "@foliage", - "tfc:wood/leaves/white_cedar": "@foliage", - "tfc:wood/leaves/ash": "@foliage", - "tfc:wood/leaves/hickory": "@foliage", - "tfc:wood/leaves/birch": "@foliage", - "tfc:wood/leaves/rosewood": "@foliage", - "tfc:wood/leaves/spruce": "@foliage", - "tfc:wood/leaves/palm": "@foliage", - "tfc:wood/leaves/aspen": "@foliage", - "tfc:wood/leaves/pine": "@foliage", - "tfc:wood/leaves/sycamore": "@foliage", - -//TFC fallen leaves - "tfc:wood/fallen_leaves/willow": "@foliage", - "tfc:wood/fallen_leaves/acacia": "@foliage", - "tfc:wood/fallen_leaves/maple": "@foliage", - "tfc:wood/fallen_leaves/douglas_fir": "@foliage", - "tfc:wood/fallen_leaves/chestnut": "@foliage", - "tfc:wood/fallen_leaves/kapok": "@foliage", - "tfc:wood/fallen_leaves/blackwood": "@foliage", - "tfc:wood/fallen_leaves/oak": "@foliage", - "tfc:wood/fallen_leaves/sequoia": "@foliage", - "tfc:wood/fallen_leaves/mangrove": "@foliage", - "tfc:wood/fallen_leaves/white_cedar": "@foliage", - "tfc:wood/fallen_leaves/ash": "@foliage", - "tfc:wood/fallen_leaves/hickory": "@foliage", - "tfc:wood/fallen_leaves/birch": "@foliage", - "tfc:wood/fallen_leaves/rosewood": "@foliage", - "tfc:wood/fallen_leaves/spruce": "@foliage", - "tfc:wood/fallen_leaves/palm": "@foliage", - "tfc:wood/fallen_leaves/aspen": "@foliage", - "tfc:wood/fallen_leaves/pine": "@foliage", - "tfc:wood/fallen_leaves/sycamore": "@foliage" +{ +//TFC plants + "tfc:peat_grass": "@grass", + "tfc:kaolin_clay_grass": "@grass", + "tfc:grass/silt": "@grass", + "tfc:clay_grass/silt": "@grass", + "tfc:grass/loam": "@grass", + "tfc:clay_grass/loam": "@grass", + "tfc:grass/sandy": "@grass", + "tfc:clay_grass/sandy": "@grass", + "tfc:grass/silty_loam": "@grass", + "tfc:clay_grass/silty_loam": "@grass", + "tfc:grass/sandy_loam": "@grass", + "tfc:clay_grass/sandy_loam": "@grass", + "tfc:plant/sagebrush": "@foliage", + "tfc:plant/cordgrass": "@foliage", + "tfc:plant/guzmania": "@foliage", + "tfc:plant/pine_krummholz": "@foliage", + "tfc:plant/king_fern": "@foliage", + "tfc:plant/perovskia": "@foliage", + "tfc:plant/gooseberry_bush": "@foliage", + "tfc:plant/saguaro_fruit": "@foliage", + "tfc:plant/olive_growing_branch": "@foliage", + "tfc:plant/manatee_grass": "@foliage", + "tfc:plant/spanish_moss": "@foliage", + "tfc:plant/hanging_vines_plant": "@foliage", + "tfc:plant/philodendron": "@foliage", + "tfc:plant/maiden_pink": "@foliage", + "tfc:plant/switchgrass": "@foliage", + "tfc:plant/red_apple_branch": "@foliage", + "tfc:plant/lily_of_the_valley": "@foliage", + "tfc:plant/licorice_fern": "@foliage", + "tfc:plant/cloudberry_bush": "@foliage", + "tfc:plant/ivy": "@foliage", + "tfc:plant/peach_branch": "@foliage", + "tfc:plant/plum_leaves": "@foliage", + "tfc:plant/cattail": "@foliage", + "tfc:plant/butterfly_milkweed": "@foliage", + "tfc:plant/saguaro": "@foliage", + "tfc:plant/laminaria": "@foliage", + "tfc:plant/poppy": "@foliage", + "tfc:plant/snapdragon_yellow": "@foliage", + "tfc:plant/plum_sapling": "@foliage", + "tfc:plant/olive_sapling": "@foliage", + "tfc:plant/tulip_pink": "@foliage", + "tfc:plant/dead_bush": "@foliage", + "tfc:plant/peach_leaves": "@foliage", + "tfc:plant/canna": "@foliage", + "tfc:plant/green_apple_sapling": "@foliage", + "tfc:plant/orange_sapling": "@foliage", + "tfc:plant/strawberry_bush": "@foliage", + "tfc:plant/raddia_grass": "@foliage", + "tfc:plant/bromegrass": "@foliage", + "tfc:plant/kangaroo_paw": "@foliage", + "tfc:plant/green_apple_growing_branch": "@foliage", + "tfc:plant/gutweed": "@foliage", + "tfc:plant/phragmite": "@foliage", + "tfc:plant/tulip_red": "@foliage", + "tfc:plant/banana_sapling": "@foliage", + "tfc:plant/sword_fern": "@foliage", + "tfc:plant/lemon_growing_branch": "@foliage", + "tfc:plant/elderberry_bush_cane": "@foliage", + "tfc:plant/red_apple_growing_branch": "@foliage", + "tfc:plant/anthurium": "@foliage", + "tfc:plant/goldenrod": "@foliage", + "tfc:plant/peach_growing_branch": "@foliage", + "tfc:plant/elderberry_bush": "@foliage", + "tfc:plant/duckweed": "@foliage", + "tfc:plant/cranberry_bush": "@foliage", + "tfc:plant/field_horsetail": "@foliage", + "tfc:plant/olive_branch": "@foliage", + "tfc:plant/giant_kelp_plant": "@foliage", + "tfc:plant/blood_lily": "@foliage", + "tfc:plant/raspberry_bush": "@foliage", + "tfc:plant/leafy_kelp_plant": "@foliage", + "tfc:plant/orange_branch": "@foliage", + "tfc:plant/allium": "@foliage", + "tfc:plant/lotus": "@foliage", + "tfc:plant/strelitzia": "@foliage", + "tfc:plant/peach_sapling": "@foliage", + "tfc:plant/red_algae": "@foliage", + "tfc:plant/dead_berry_bush": "@foliage", + "tfc:plant/bur_reed": "@foliage", + "tfc:plant/cherry_growing_branch": "@foliage", + "tfc:plant/pulsatilla": "@foliage", + "tfc:plant/orange_leaves": "@foliage", + "tfc:plant/sea_palm": "@foliage", + "tfc:plant/silver_spurflower": "@foliage", + "tfc:plant/coontail": "@foliage", + "tfc:plant/sapphire_tower": "@foliage", + "tfc:plant/scutch_grass": "@foliage", + "tfc:plant/sago": "@foliage", + "tfc:plant/winged_kelp_plant": "@foliage", + "tfc:plant/aspen_krummholz": "@foliage", + "tfc:plant/raspberry_bush_cane": "@foliage", + "tfc:plant/timothy_grass": "@foliage", + "tfc:plant/cobblestone_lichen": "@foliage", + "tfc:plant/snapdragon_pink": "@foliage", + "tfc:plant/red_apple_leaves": "@foliage", + "tfc:plant/winged_kelp": "@foliage", + "tfc:plant/saguaro_plant": "@foliage", + "tfc:plant/sargassum": "@foliage", + "tfc:plant/artists_conk": "@foliage", + "tfc:plant/black_orchid": "@foliage", + "tfc:plant/dry_phragmite_plant": "@foliage", + "tfc:plant/tree_fern_plant": "@foliage", + "tfc:plant/oxeye_daisy": "@foliage", + "tfc:plant/vriesea": "@foliage", + "tfc:plant/toquilla_palm": "@foliage", + "tfc:plant/badderlocks": "@foliage", + "tfc:plant/grape_hyacinth": "@foliage", + "tfc:plant/red_sealing_wax_palm": "@foliage", + "tfc:plant/lemon_sapling": "@foliage", + "tfc:plant/spanish_moss_plant": "@foliage", + "tfc:plant/blueberry_bush_cane": "@foliage", + "tfc:plant/bluegrass": "@foliage", + "tfc:plant/spruce_krummholz": "@foliage", + "tfc:plant/heliconia": "@foliage", + "tfc:plant/water_taro": "@foliage", + "tfc:plant/green_apple_branch": "@foliage", + "tfc:plant/dry_phragmite": "@foliage", + "tfc:plant/barrel_cactus": "@foliage", + "tfc:plant/rose": "@foliage", + "tfc:plant/houstonia": "@foliage", + "tfc:plant/labrador_tea": "@foliage", + "tfc:plant/nasturtium": "@foliage", + "tfc:plant/leafy_kelp": "@foliage", + "tfc:plant/moss": "@foliage", + "tfc:plant/yucca": "@foliage", + "tfc:plant/lemon_leaves": "@foliage", + "tfc:plant/snowberry_bush": "@foliage", + "tfc:plant/orchard_grass": "@foliage", + "tfc:plant/morning_glory": "@foliage", + "tfc:plant/hanging_vines": "@foliage", + "tfc:plant/water_lily": "@foliage", + "tfc:plant/blueberry_bush": "@foliage", + "tfc:plant/blue_orchid": "@foliage", + "tfc:plant/banana_plant": "@foliage", + "tfc:plant/blackberry_bush_cane": "@foliage", + "tfc:plant/reindeer_lichen": "@foliage", + "tfc:plant/athyrium_fern": "@foliage", + "tfc:plant/trillium": "@foliage", + "tfc:plant/white_cedar_krummholz": "@foliage", + "tfc:plant/turtle_grass": "@foliage", + "tfc:plant/arrowhead": "@foliage", + "tfc:plant/blackberry_bush": "@foliage", + "tfc:plant/tall_fescue_grass": "@foliage", + "tfc:plant/blue_ginger": "@foliage", + "tfc:plant/arundo": "@foliage", + "tfc:plant/sacred_datura": "@foliage", + "tfc:plant/tree_fern": "@foliage", + "tfc:plant/heather": "@foliage", + "tfc:plant/foxglove": "@foliage", + "tfc:plant/liana": "@foliage", + "tfc:plant/douglas_fir_krummholz": "@foliage", + "tfc:plant/lemon_branch": "@foliage", + "tfc:plant/giant_kelp_flower": "@foliage", + "tfc:plant/meads_milkweed": "@foliage", + "tfc:plant/tulip_orange": "@foliage", + "tfc:plant/arundo_plant": "@foliage", + "tfc:plant/olive_leaves": "@foliage", + "tfc:plant/pistia": "@foliage", + "tfc:plant/snapdragon_red": "@foliage", + "tfc:plant/water_canna": "@foliage", + "tfc:plant/ryegrass": "@foliage", + "tfc:plant/fountain_grass": "@foliage", + "tfc:plant/bunchberry_bush": "@foliage", + "tfc:plant/lady_fern": "@foliage", + "tfc:plant/dandelion": "@foliage", + "tfc:plant/tulip_white": "@foliage", + "tfc:plant/cherry_leaves": "@foliage", + "tfc:plant/cherry_sapling": "@foliage", + "tfc:plant/orange_growing_branch": "@foliage", + "tfc:plant/dead_banana_plant": "@foliage", + "tfc:plant/star_grass": "@foliage", + "tfc:plant/desert_flame": "@foliage", + "tfc:plant/eel_grass": "@foliage", + "tfc:plant/wintergreen_berry_bush": "@foliage", + "tfc:plant/beachgrass": "@foliage", + "tfc:plant/milfoil": "@foliage", + "tfc:plant/pickerelweed": "@foliage", + "tfc:plant/primrose": "@foliage", + "tfc:plant/sea_lavender": "@foliage", + "tfc:plant/marigold": "@foliage", + "tfc:plant/tropical_milkweed": "@foliage", + "tfc:plant/pampas_grass": "@foliage", + "tfc:plant/ostrich_fern": "@foliage", + "tfc:plant/green_algae": "@foliage", + "tfc:plant/liana_plant": "@foliage", + "tfc:plant/hibiscus": "@foliage", + "tfc:plant/green_apple_leaves": "@foliage", + "tfc:plant/jungle_vines": "@foliage", + "tfc:plant/dead_cane": "@foliage", + "tfc:plant/red_apple_sapling": "@foliage", + "tfc:plant/calendula": "@foliage", + "tfc:plant/plum_growing_branch": "@foliage", + "tfc:plant/snapdragon_white": "@foliage", + "tfc:plant/cherry_branch": "@foliage", + "tfc:plant/plum_branch": "@foliage", + "tfc:plant/lilac": "@foliage", + +//TFC leaves + "tfc:wood/leaves/willow": "@foliage", + "tfc:wood/leaves/acacia": "@foliage", + "tfc:wood/leaves/maple": "@foliage", + "tfc:wood/leaves/douglas_fir": "@foliage", + "tfc:wood/leaves/chestnut": "@foliage", + "tfc:wood/leaves/kapok": "@foliage", + "tfc:wood/leaves/blackwood": "@foliage", + "tfc:wood/leaves/oak": "@foliage", + "tfc:wood/leaves/sequoia": "@foliage", + "tfc:wood/leaves/mangrove": "@foliage", + "tfc:wood/leaves/white_cedar": "@foliage", + "tfc:wood/leaves/ash": "@foliage", + "tfc:wood/leaves/hickory": "@foliage", + "tfc:wood/leaves/birch": "@foliage", + "tfc:wood/leaves/rosewood": "@foliage", + "tfc:wood/leaves/spruce": "@foliage", + "tfc:wood/leaves/palm": "@foliage", + "tfc:wood/leaves/aspen": "@foliage", + "tfc:wood/leaves/pine": "@foliage", + "tfc:wood/leaves/sycamore": "@foliage", + +//TFC fallen leaves + "tfc:wood/fallen_leaves/willow": "@foliage", + "tfc:wood/fallen_leaves/acacia": "@foliage", + "tfc:wood/fallen_leaves/maple": "@foliage", + "tfc:wood/fallen_leaves/douglas_fir": "@foliage", + "tfc:wood/fallen_leaves/chestnut": "@foliage", + "tfc:wood/fallen_leaves/kapok": "@foliage", + "tfc:wood/fallen_leaves/blackwood": "@foliage", + "tfc:wood/fallen_leaves/oak": "@foliage", + "tfc:wood/fallen_leaves/sequoia": "@foliage", + "tfc:wood/fallen_leaves/mangrove": "@foliage", + "tfc:wood/fallen_leaves/white_cedar": "@foliage", + "tfc:wood/fallen_leaves/ash": "@foliage", + "tfc:wood/fallen_leaves/hickory": "@foliage", + "tfc:wood/fallen_leaves/birch": "@foliage", + "tfc:wood/fallen_leaves/rosewood": "@foliage", + "tfc:wood/fallen_leaves/spruce": "@foliage", + "tfc:wood/fallen_leaves/palm": "@foliage", + "tfc:wood/fallen_leaves/aspen": "@foliage", + "tfc:wood/fallen_leaves/pine": "@foliage", + "tfc:wood/fallen_leaves/sycamore": "@foliage" } \ No newline at end of file From e5c0dd2642549e82d0a5de1f0fa79513192eeebf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:10:03 +0000 Subject: [PATCH 091/157] pakku --- pakku-lock.json | 132 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 101 insertions(+), 31 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 318794451..9847ecb03 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3982,7 +3982,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.12-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3991,22 +3991,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/VjLFXhLl/create_connected-1.1.11-mc1.20.1-all.jar", - "id": "VjLFXhLl", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/aN0bSww5/create_connected-1.1.12-mc1.20.1-all.jar", + "id": "aN0bSww5", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "d6f8b57e7944be2caf6df6effd87ec96566ec8d1594b11318b7a62e2cccda8b8b3a4fae7e8e5cb77db050e45697df5e5b3c33ac64077d2723b84f9eb5b92546b", - "sha1": "a513a3fa9c7f3fb76d8f2ce4879e9755d1159477" + "sha512": "197488682615350b777c9f803c58a870fab3f775f044a8c1aae44810b0f9a93a5ff05bc54b1d6a5d962d5b6db78dfb5c33c6cf0e2373f261b89834e0dc2cd67a", + "sha1": "d984c4502c0ed9a997dafc707b3cee2a4a65167e" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6566640, - "date_published": "2026-01-30T13:44:08.705420Z" + "size": 6566880, + "date_published": "2026-02-01T02:48:57.370419Z" }, { "type": "curseforge", - "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.12-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -4015,18 +4015,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7550/633/create_connected-1.1.11-mc1.20.1-all.jar", - "id": "7550633", + "url": "https://edge.forgecdn.net/files/7558/612/create_connected-1.1.12-mc1.20.1-all.jar", + "id": "7558612", "parent_id": "947914", "hashes": { - "sha1": "ceffe02002c5f5b0938ac4d23f5a8b4c14c6b034", - "md5": "07ca1d67374bcd6a8fffa13af1b1a472" + "sha1": "6a27b27ad502429650fa621009daacc876bd3e28", + "md5": "eccd418f036339b09ec505db7a3f82d4" }, "required_dependencies": [ "328085" ], - "size": 6566640, - "date_published": "2026-01-30T13:44:20.473Z" + "size": 6566879, + "date_published": "2026-02-01T02:49:13.020Z" } ] }, @@ -6813,6 +6813,74 @@ } ] }, + { + "pakku_id": "ebnVeibHypJ7c4sE", + "pakku_links": [ + "WN9DdLqsRKVeZIc9" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "gtceu-terminals", + "modrinth": "gtceu-terminals" + }, + "name": { + "curseforge": "GTCEu Terminals", + "modrinth": "GTCEu Terminals" + }, + "id": { + "curseforge": "1423461", + "modrinth": "jIBIhAO2" + }, + "files": [ + { + "type": "curseforge", + "file_name": "gtceuterminal-2.4.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7521/437/gtceuterminal-2.4.5.jar", + "id": "7521437", + "parent_id": "1423461", + "hashes": { + "sha1": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896", + "md5": "973736c87b451d5eb8d601c27c5c1f65" + }, + "required_dependencies": [ + "890405" + ], + "size": 335658, + "date_published": "2026-01-25T00:45:57.250Z" + }, + { + "type": "modrinth", + "file_name": "gtceuterminal-2.4.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/jIBIhAO2/versions/o6tXhJNB/gtceuterminal-2.4.5.jar", + "id": "o6tXhJNB", + "parent_id": "jIBIhAO2", + "hashes": { + "sha512": "acd26244ab41d7e7ee939b3e88127053e0c31217a31274f165750a77862ccc57116cb2dbc0ff9e76139e77f060d25029e6abd2c08f5dc1e75887e05495acd101", + "sha1": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896" + }, + "required_dependencies": [ + "7tG215v7" + ], + "size": 335658, + "date_published": "2026-01-25T00:44:44.421732Z" + } + ] + }, { "pakku_id": "ihA4iuyUc3fA0D4q", "type": "MOD", @@ -14840,7 +14908,7 @@ "files": [ { "type": "modrinth", - "file_name": "wab-1.20.1-1.3.2.jar", + "file_name": "wab-1.20.1-1.4.1.jar", "mc_versions": [ "1.20.1" ], @@ -14849,40 +14917,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nWC3kyL3/versions/RY6tjr9r/wab-1.20.1-1.3.2.jar", - "id": "RY6tjr9r", + "url": "https://cdn.modrinth.com/data/nWC3kyL3/versions/OhVjiSa4/wab-1.20.1-1.4.1.jar", + "id": "OhVjiSa4", "parent_id": "nWC3kyL3", "hashes": { - "sha512": "5ac692f7eeaf6d0cdb4fd6131b2bbe30bbb873c28a34b999b37a83b7b0e726ad6fb82138a9fb93f34e40384431fcfa549b41d9fbff845f5554182ca427f4f441", - "sha1": "7298a59e383d2327e2acc49d8f1b132cedb8860b" + "sha512": "419bfbad4ca78e35f16b34ced2dafa2f6e7af51850875e21756523b5b2a04afb9cc5308d11e74c9cda5e48411c59d3d5b4d29df07a63fb2abc796552df3d31a9", + "sha1": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6" }, "required_dependencies": [ "8BmcQJ2H" ], - "size": 9115799, - "date_published": "2025-09-22T20:47:32.603138Z" + "size": 10167907, + "date_published": "2026-01-30T21:19:29.785723Z" }, { "type": "curseforge", - "file_name": "wab-1.20.1-1.3.2.jar", + "file_name": "wab-1.20.1-1.4.1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7023/583/wab-1.20.1-1.3.2.jar", - "id": "7023583", + "url": "https://edge.forgecdn.net/files/7552/366/wab-1.20.1-1.4.1.jar", + "id": "7552366", "parent_id": "1108604", "hashes": { - "sha1": "7298a59e383d2327e2acc49d8f1b132cedb8860b", - "md5": "a3cf1ea1c616b546b586c7415143e5fe" + "sha1": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6", + "md5": "b58604d770735d06b0e105c9105a527a" }, - "required_dependencies": [], - "size": 9115799, - "date_published": "2025-09-22T20:37:11.317Z" + "required_dependencies": [ + "388172" + ], + "size": 10167907, + "date_published": "2026-01-30T21:16:13.643Z" } ] }, From 4ce5226af9353a0eb416d79622d1b4983d5d331c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:21:03 +0000 Subject: [PATCH 092/157] fix it for realsies --- .../placed_feature/earth/oil_spout.json | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json index f570cfa9b..504765a89 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json @@ -1,23 +1,42 @@ { "feature": { - "type": "minecraft:simple_random_selector", + "type": "minecraft:random_selector", "config": { + "default": { + "feature": { + "type": "minecraft:no_op", + "config": {} + }, + "placement": [] + }, "features": [ { - "feature": "tfg:earth/spouts/oil_spout", - "placement": [] + "chance": 0.4, + "feature": { + "feature": "tfg:earth/spouts/oil_spout", + "placement": [] + } }, { - "feature": "tfg:earth/spouts/light_oil_spout", - "placement": [] + "chance": 0.3, + "feature": { + "feature": "tfg:earth/spouts/light_oil_spout", + "placement": [] + } }, { - "feature": "tfg:earth/spouts/heavy_oil_spout", - "placement": [] + "chance": 0.15, + "feature": { + "feature": "tfg:earth/spouts/heavy_oil_spout", + "placement": [] + } }, { - "feature": "tfg:earth/spouts/raw_oil_spout", - "placement": [] + "chance": 0.15, + "feature": { + "feature": "tfg:earth/spouts/raw_oil_spout", + "placement": [] + } } ] } From 50eff2f5b95232ec63dec12581abf74d7e1a38cc Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 1 Feb 2026 11:52:11 -0500 Subject: [PATCH 093/157] Fission energy rework (#2931) * everything should be fine * Balance early power (#6) * balance update * Add textures * last balance tweaks * more balance * Fix conflicts * Balance early power (#8) * balance update * Add textures * last balance tweaks * Oupsi * more fixes * add changed quests * push latest balance * fix tallow * add btx * Update quests * Oups * Adding some nuclear stuffs so I can merge my branches * Isotopic solvent stuff (#10) * push * fix iconset issue * adding all the textures change * add more stuffs * Push recipes * new stuffs * add stuffs * more changes * add textures and some recipes * tons of change * fix texture * add textures and other stuffs * more recipes * add recycling for fission rods * more recipes * fix fluid textures * comment out FLiBe again and balance rods * fix fluids * some latest fix * fix more texture * more recipe changes * more recipes * some last minute balance changes * add quests * fix conflict * more fixes * fix components * var to const --------- Co-authored-by: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> --- .../packs/TFG_fix/assets/afc/blockColors.json | 188 ++-- .../packs/TFG_fix/assets/tfc/blockColors.json | 488 ++++----- .../chapters/applied_energistics_2.snbt | 15 - .../quests/chapters/ev__extreme_voltage.snbt | 419 ++++---- .../quests/chapters/gregtech_energy.snbt | 173 +++- .../quests/chapters/hv__high_voltage.snbt | 15 + .../quests/chapters/lv__low_voltage.snbt | 6 +- .../quests/chapters/mv__medium_voltage.snbt | 17 +- .../block/fluids/fluid.dense_steam.png | Bin 2375 -> 14070 bytes .../block/fluids/fluid.dense_steam.png.mcmeta | 42 +- .../block/fluids/fluid.irradiated_steam.png | Bin 6687 -> 12239 bytes .../fluids/fluid.irradiated_steam.png.mcmeta | 42 +- .../block/fluids/fluid.radioactive_steam.png | Bin 2409 -> 14137 bytes .../fluids/fluid.radioactive_steam.png.mcmeta | 42 +- .../block/fluids/fluid.radioactive_waste.png | Bin 9427 -> 9006 bytes .../fluids/fluid.radioactive_waste.png.mcmeta | 66 +- .../block/fluids/fluid.tritiated_water.png | Bin 0 -> 9350 bytes .../fluids/fluid.tritiated_water.png.mcmeta | 5 + .../block/fluids/fluid.uranium_waste.png | Bin 25271 -> 9530 bytes .../fluids/fluid.uranium_waste.png.mcmeta | 84 +- .../tfg/blockstates/heat_battery_mk1.json | 19 + .../uv_smr_fluid_import_hatch.json | 28 + .../block/machines/heat_battery_mk1.json | 90 ++ .../ports/uv_smr_fluid_import_hatch.json | 60 ++ .../models/block/machines/smr_generator.json | 32 +- .../tfg/models/item/americium_241_rod.json | 6 + .../tfg/models/item/californium_252_rod.json | 6 + .../item/depleted_americium_241_rod.json | 6 + .../item/depleted_californium_252_rod.json | 6 + .../item/depleted_neptunium_237_rod.json | 6 + .../models/item/depleted_plutonium_rod.json | 6 + .../tfg/models/item/depleted_tbu_232_rod.json | 6 + .../tfg/models/item/depleted_thorium_rod.json | 6 + .../tfg/models/item/depleted_uranium_rod.json | 6 + kubejs/assets/tfg/models/item/empty_rod.json | 2 +- .../tfg/models/item/heat_battery_mk1.json | 3 + .../tfg/models/item/neptunium_237_rod.json | 6 + .../assets/tfg/models/item/plutonium_rod.json | 2 +- .../assets/tfg/models/item/tbu_232_rod.json | 2 +- .../assets/tfg/models/item/thorium_rod.json | 2 +- .../assets/tfg/models/item/uranium_rod.json | 2 +- .../item/uv_smr_fluid_import_hatch.json | 3 + .../fluids/fluid.boron_enriched_coolant.png | Bin 0 -> 14469 bytes .../fluid.boron_enriched_coolant.png.mcmeta | 5 + .../block/fluids/fluid.critical_steam.png | Bin 0 -> 15852 bytes .../fluids/fluid.critical_steam.png.mcmeta | 5 + ...d.degraded_high_grade_isotopic_solvent.png | Bin 0 -> 12880 bytes ...ded_high_grade_isotopic_solvent.png.mcmeta | 5 + .../fluids/fluid.degraded_solvent_stream.png | Bin 0 -> 13459 bytes .../fluid.degraded_solvent_stream.png.mcmeta | 5 + .../tfg/textures/block/fluids/fluid.flibe.png | Bin 0 -> 4925 bytes .../block/fluids/fluid.flibe.png.mcmeta | 5 + .../block/fluids/fluid.heavy_water.png | Bin 0 -> 3505 bytes .../block/fluids/fluid.heavy_water.png.mcmeta | 5 + .../fluid.high_grade_isotopic_solvent.png | Bin 0 -> 11281 bytes ...uid.high_grade_isotopic_solvent.png.mcmeta | 5 + .../fluid.hot_boron_enriched_coolant.png | Bin 0 -> 15649 bytes ...luid.hot_boron_enriched_coolant.png.mcmeta | 5 + .../textures/block/fluids/fluid.hot_flibe.png | Bin 0 -> 15590 bytes .../block/fluids/fluid.hot_flibe.png.mcmeta | 5 + .../block/fluids/fluid.isotopic_solvent.png | Bin 0 -> 13200 bytes .../fluids/fluid.isotopic_solvent.png.mcmeta | 5 + ...id.spent_ticl4_doped_supercritical_co2.png | Bin 0 -> 16056 bytes ...t_ticl4_doped_supercritical_co2.png.mcmeta | 5 + .../textures/block/fluids/fluid.tbu_waste.png | Bin 0 -> 9095 bytes .../block/fluids/fluid.tbu_waste.png.mcmeta | 5 + .../fluid.ticl4_doped_supercritical_co2.png | Bin 0 -> 14008 bytes ...d.ticl4_doped_supercritical_co2.png.mcmeta | 5 + .../block/machines/smr/overlay_front.png | Bin 0 -> 4653 bytes .../machines/smr/overlay_front_active.png | Bin 0 -> 5478 bytes .../smr/overlay_front_active.png.mcmeta | 5 + .../machines/smr/overlay_front_paused.png | Bin 0 -> 4714 bytes .../item/fission_rod/americium_241_rod.png | Bin 0 -> 1404 bytes .../fission_rod/americium_241_rod.png.mcmeta | 1 + .../americium_241_rod_depleted.png | Bin 0 -> 2155 bytes .../americium_241_rod_depleted.png.mcmeta | 1 + .../item/fission_rod/californium_252_rod.png | Bin 0 -> 1116 bytes .../californium_252_rod.png.mcmeta} | 0 .../californium_252_rod_depleted.png | Bin 0 -> 1604 bytes .../californium_252_rod_depleted.png.mcmeta | 1 + .../item/{ => fission_rod}/fuel_rod_empty.png | Bin .../item/fission_rod/fuel_rod_empty_t2.png | Bin 0 -> 328 bytes .../item/fission_rod/fuel_rod_empty_t3.png | Bin 0 -> 328 bytes .../item/fission_rod/neptunium_237_rod.png | Bin 0 -> 1141 bytes .../neptunium_237_rod.png.mcmeta} | 0 .../neptunium_237_rod_depleted.png | Bin 0 -> 1642 bytes .../neptunium_237_rod_depleted.png.mcmeta | 1 + .../plutonium_rod.png} | Bin .../plutonium_rod.png.mcmeta} | 0 .../fission_rod/plutonium_rod_depleted.png | Bin 0 -> 1694 bytes .../plutonium_rod_depleted.png.mcmeta | 1 + .../tfg/textures/item/fission_rod/tbu_rod.png | Bin 0 -> 1165 bytes .../tbu_rod.png.mcmeta} | 0 .../item/fission_rod/tbu_rod_depleted.png | Bin 0 -> 1606 bytes .../fission_rod/tbu_rod_depleted.png.mcmeta | 1 + .../thorium_rod.png} | Bin .../thorium_rod.png.mcmeta} | 0 .../item/fission_rod/thorium_rod_depleted.png | Bin 0 -> 1664 bytes .../thorium_rod_depleted.png.mcmeta | 1 + .../{ => fission_rod/unused}/fuel_rod_p_2.png | Bin .../unused/fuel_rod_p_2.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_p_4.png | Bin .../unused/fuel_rod_p_4.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_t_2.png | Bin .../unused/fuel_rod_t_2.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_t_4.png | Bin .../unused/fuel_rod_t_4.png.mcmeta} | 0 .../unused}/fuel_rod_tbu_2.png | Bin .../unused/fuel_rod_tbu_2.png.mcmeta} | 0 .../unused}/fuel_rod_tbu_4.png | Bin .../unused/fuel_rod_tbu_4.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_u_2.png | Bin .../unused/fuel_rod_u_2.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_u_4.png | Bin .../unused/fuel_rod_u_4.png.mcmeta | 1 + .../uranium_rod.png} | Bin .../item/fission_rod/uranium_rod.png.mcmeta | 1 + .../item/fission_rod/uranium_rod_depleted.png | Bin 0 -> 1698 bytes .../uranium_rod_depleted.png.mcmeta | 1 + .../assets/tfg/textures/item/fuel_rod_t_1.png | Bin 1062 -> 0 bytes .../tfg/textures/item/terrafirmaguard_pa6.png | Bin 0 -> 2564 bytes .../item/terrafirmaguard_pa6.png.mcmeta | 5 + kubejs/client_scripts/tooltips.js | 3 + kubejs/server_scripts/gregtech/recipes.js | 27 +- .../server_scripts/gtceu_terminal/recipes.js | 50 + kubejs/server_scripts/main_server_script.js | 1 + .../tfg/machines/recipes.casings.js | 30 +- .../tfg/machines/recipes.coils.js | 17 + .../tfg/machines/recipes.multiblocks.js | 47 +- .../server_scripts/tfg/mars/recipes.ostrum.js | 158 ++- .../powergen/nuclear/recipes.components.js | 12 +- .../tfg/powergen/nuclear/recipes.nuclear.js | 934 ++++++++++++++++-- .../tfg/powergen/nuclear/tags.nuclear.js | 23 +- .../tfg/powergen/recipes.early_gas.js | 19 +- .../tfg/powergen/recipes.power_gen_balance.js | 101 ++ kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/recipes.miscellaneous.js | 47 + kubejs/startup_scripts/gtceu/machines.js | 3 +- .../gtceu/material_modification.js | 8 +- kubejs/startup_scripts/gtceu/recipe_types.js | 6 +- kubejs/startup_scripts/tfg/element.js | 36 +- kubejs/startup_scripts/tfg/fluids.js | 5 + .../tfg/mars/materials.mars.js | 7 +- kubejs/startup_scripts/tfg/materials.js | 10 + .../tfg/nuclear/items.nuclear.js | 19 +- kubejs/startup_scripts/tfg/nuclear/machine.js | 8 + .../tfg/nuclear/materials.nuclear.js | 260 +++-- 147 files changed, 2711 insertions(+), 1113 deletions(-) create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta create mode 100644 kubejs/assets/tfg/blockstates/heat_battery_mk1.json create mode 100644 kubejs/assets/tfg/blockstates/uv_smr_fluid_import_hatch.json create mode 100644 kubejs/assets/tfg/models/block/machines/heat_battery_mk1.json create mode 100644 kubejs/assets/tfg/models/block/machines/ports/uv_smr_fluid_import_hatch.json create mode 100644 kubejs/assets/tfg/models/item/americium_241_rod.json create mode 100644 kubejs/assets/tfg/models/item/californium_252_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_americium_241_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_californium_252_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_neptunium_237_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_plutonium_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_tbu_232_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_thorium_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_uranium_rod.json create mode 100644 kubejs/assets/tfg/models/item/heat_battery_mk1.json create mode 100644 kubejs/assets/tfg/models/item/neptunium_237_rod.json create mode 100644 kubejs/assets/tfg/models/item/uv_smr_fluid_import_hatch.json create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.boron_enriched_coolant.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.boron_enriched_coolant.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.critical_steam.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.critical_steam.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.flibe.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.flibe.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.heavy_water.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.heavy_water.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front.png create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front_paused.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod_depleted.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod.png rename kubejs/assets/tfg/textures/item/{fuel_rod_p_1.png.mcmeta => fission_rod/californium_252_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{ => fission_rod}/fuel_rod_empty.png (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t2.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t3.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png rename kubejs/assets/tfg/textures/item/{fuel_rod_p_2.png.mcmeta => fission_rod/neptunium_237_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{fuel_rod_p_1.png => fission_rod/plutonium_rod.png} (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_p_4.png.mcmeta => fission_rod/plutonium_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/tbu_rod.png rename kubejs/assets/tfg/textures/item/{fuel_rod_t_1.png.mcmeta => fission_rod/tbu_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/tbu_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/tbu_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_1.png => fission_rod/thorium_rod.png} (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_t_2.png.mcmeta => fission_rod/thorium_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_p_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_t_4.png.mcmeta => fission_rod/unused/fuel_rod_p_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_p_4.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_1.png.mcmeta => fission_rod/unused/fuel_rod_p_4.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_t_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_2.png.mcmeta => fission_rod/unused/fuel_rod_t_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_t_4.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_4.png.mcmeta => fission_rod/unused/fuel_rod_t_4.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_tbu_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_u_1.png.mcmeta => fission_rod/unused/fuel_rod_tbu_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_tbu_4.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_u_2.png.mcmeta => fission_rod/unused/fuel_rod_tbu_4.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_u_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_u_4.png.mcmeta => fission_rod/unused/fuel_rod_u_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_u_4.png (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta rename kubejs/assets/tfg/textures/item/{fuel_rod_u_1.png => fission_rod/uranium_rod.png} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png.mcmeta delete mode 100644 kubejs/assets/tfg/textures/item/fuel_rod_t_1.png create mode 100644 kubejs/assets/tfg/textures/item/terrafirmaguard_pa6.png create mode 100644 kubejs/assets/tfg/textures/item/terrafirmaguard_pa6.png.mcmeta create mode 100644 kubejs/server_scripts/gtceu_terminal/recipes.js create mode 100644 kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js create mode 100644 kubejs/startup_scripts/tfg/nuclear/machine.js diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json index 493aef425..3aaaa1ee5 100644 --- a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json @@ -1,95 +1,95 @@ -{ -//AFC leaves - "afc:wood/leaves/boabab": "@foliage", - "afc:wood/leaves/eucalyptus": "@foliage", - "afc:wood/leaves/mahogany": "@foliage", - "afc:wood/leaves/hevea": "@foliage", - "afc:wood/leaves/tualang": "@foliage", - "afc:wood/leaves/teak": "@foliage", - "afc:wood/leaves/cypress": "@foliage", - "afc:wood/leaves/fig": "@foliage", - "afc:wood/leaves/ironwood": "@foliage", - "afc:wood/leaves/ipe": "@foliage", - "afc:wood/leaves/gum_arabic": "@foliage", - "afc:wood/leaves/acacia_koa": "@foliage", - "afc:wood/leaves/poplar": "@foliage", - "afc:wood/leaves/mpingo_blackwood": "@foliage", - "afc:wood/leaves/mountain_fir": "@foliage", - "afc:wood/leaves/balsam_fir": "@foliage", - "afc:wood/leaves/scrub_hickory": "@foliage", - "afc:wood/leaves/red_silk_cotton": "@foliage", - "afc:wood/leaves/bigleaf_maple": "@foliage", - "afc:wood/leaves/weeping_maple": "@foliage", - "afc:wood/leaves/black_oak": "@foliage", - "afc:wood/leaves/live_oak": "@foliage", - "afc:wood/leaves/jaggery_palm": "@foliage", - "afc:wood/leaves/stone_pine": "@foliage", - "afc:wood/leaves/red_pine": "@foliage", - "afc:wood/leaves/tamarack": "@foliage", - "afc:wood/leaves/giant_rosewood": "@foliage", - "afc:wood/leaves/coast_redwood": "@foliage", - "afc:wood/leaves/coast_spruce": "@foliage", - "afc:wood/leaves/sitka_spruce": "@foliage", - "afc:wood/leaves/black_spruce": "@foliage", - "afc:wood/leaves/atlas_cedar": "@foliage", - "afc:wood/leaves/weeping_willow": "@foliage", - "afc:wood/leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/leaves/mountain_ash": "@foliage", - "afc:wood/leaves/rubber_fig": "@foliage", - "afc:wood/leaves/redcedar": "@foliage", - "afc:wood/leaves/weeping_cypress": "@foliage", - "afc:wood/leaves/bald_cypress": "@foliage", - "afc:wood/leaves/sapele_mahogany": "@foliage", - "afc:wood/leaves/small_leaf_mahogany": "@foliage", - "afc:wood/leaves/iroko_teak": "@foliage", - "afc:wood/leaves/flame_of_the_forest": "@foliage", - "afc:wood/leaves/lebombo_ironwood": "@foliage", - "afc:wood/leaves/horsetail_ironwood": "@foliage", - -//AFC fallen_leaves - "afc:wood/fallen_leaves/boabab": "@foliage", - "afc:wood/fallen_leaves/eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mahogany": "@foliage", - "afc:wood/fallen_leaves/hevea": "@foliage", - "afc:wood/fallen_leaves/tualang": "@foliage", - "afc:wood/fallen_leaves/teak": "@foliage", - "afc:wood/fallen_leaves/cypress": "@foliage", - "afc:wood/fallen_leaves/fig": "@foliage", - "afc:wood/fallen_leaves/ironwood": "@foliage", - "afc:wood/fallen_leaves/ipe": "@foliage", - "afc:wood/fallen_leaves/gum_arabic": "@foliage", - "afc:wood/fallen_leaves/acacia_koa": "@foliage", - "afc:wood/fallen_leaves/poplar": "@foliage", - "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", - "afc:wood/fallen_leaves/mountain_fir": "@foliage", - "afc:wood/fallen_leaves/balsam_fir": "@foliage", - "afc:wood/fallen_leaves/scrub_hickory": "@foliage", - "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", - "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", - "afc:wood/fallen_leaves/weeping_maple": "@foliage", - "afc:wood/fallen_leaves/black_oak": "@foliage", - "afc:wood/fallen_leaves/live_oak": "@foliage", - "afc:wood/fallen_leaves/jaggery_palm": "@foliage", - "afc:wood/fallen_leaves/stone_pine": "@foliage", - "afc:wood/fallen_leaves/red_pine": "@foliage", - "afc:wood/fallen_leaves/tamarack": "@foliage", - "afc:wood/fallen_leaves/giant_rosewood": "@foliage", - "afc:wood/fallen_leaves/coast_redwood": "@foliage", - "afc:wood/fallen_leaves/coast_spruce": "@foliage", - "afc:wood/fallen_leaves/sitka_spruce": "@foliage", - "afc:wood/fallen_leaves/black_spruce": "@foliage", - "afc:wood/fallen_leaves/atlas_cedar": "@foliage", - "afc:wood/fallen_leaves/weeping_willow": "@foliage", - "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mountain_ash": "@foliage", - "afc:wood/fallen_leaves/rubber_fig": "@foliage", - "afc:wood/fallen_leaves/redcedar": "@foliage", - "afc:wood/fallen_leaves/weeping_cypress": "@foliage", - "afc:wood/fallen_leaves/bald_cypress": "@foliage", - "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", - "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", - "afc:wood/fallen_leaves/iroko_teak": "@foliage", - "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", - "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", - "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", +{ +//AFC leaves + "afc:wood/leaves/boabab": "@foliage", + "afc:wood/leaves/eucalyptus": "@foliage", + "afc:wood/leaves/mahogany": "@foliage", + "afc:wood/leaves/hevea": "@foliage", + "afc:wood/leaves/tualang": "@foliage", + "afc:wood/leaves/teak": "@foliage", + "afc:wood/leaves/cypress": "@foliage", + "afc:wood/leaves/fig": "@foliage", + "afc:wood/leaves/ironwood": "@foliage", + "afc:wood/leaves/ipe": "@foliage", + "afc:wood/leaves/gum_arabic": "@foliage", + "afc:wood/leaves/acacia_koa": "@foliage", + "afc:wood/leaves/poplar": "@foliage", + "afc:wood/leaves/mpingo_blackwood": "@foliage", + "afc:wood/leaves/mountain_fir": "@foliage", + "afc:wood/leaves/balsam_fir": "@foliage", + "afc:wood/leaves/scrub_hickory": "@foliage", + "afc:wood/leaves/red_silk_cotton": "@foliage", + "afc:wood/leaves/bigleaf_maple": "@foliage", + "afc:wood/leaves/weeping_maple": "@foliage", + "afc:wood/leaves/black_oak": "@foliage", + "afc:wood/leaves/live_oak": "@foliage", + "afc:wood/leaves/jaggery_palm": "@foliage", + "afc:wood/leaves/stone_pine": "@foliage", + "afc:wood/leaves/red_pine": "@foliage", + "afc:wood/leaves/tamarack": "@foliage", + "afc:wood/leaves/giant_rosewood": "@foliage", + "afc:wood/leaves/coast_redwood": "@foliage", + "afc:wood/leaves/coast_spruce": "@foliage", + "afc:wood/leaves/sitka_spruce": "@foliage", + "afc:wood/leaves/black_spruce": "@foliage", + "afc:wood/leaves/atlas_cedar": "@foliage", + "afc:wood/leaves/weeping_willow": "@foliage", + "afc:wood/leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/leaves/mountain_ash": "@foliage", + "afc:wood/leaves/rubber_fig": "@foliage", + "afc:wood/leaves/redcedar": "@foliage", + "afc:wood/leaves/weeping_cypress": "@foliage", + "afc:wood/leaves/bald_cypress": "@foliage", + "afc:wood/leaves/sapele_mahogany": "@foliage", + "afc:wood/leaves/small_leaf_mahogany": "@foliage", + "afc:wood/leaves/iroko_teak": "@foliage", + "afc:wood/leaves/flame_of_the_forest": "@foliage", + "afc:wood/leaves/lebombo_ironwood": "@foliage", + "afc:wood/leaves/horsetail_ironwood": "@foliage", + +//AFC fallen_leaves + "afc:wood/fallen_leaves/boabab": "@foliage", + "afc:wood/fallen_leaves/eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mahogany": "@foliage", + "afc:wood/fallen_leaves/hevea": "@foliage", + "afc:wood/fallen_leaves/tualang": "@foliage", + "afc:wood/fallen_leaves/teak": "@foliage", + "afc:wood/fallen_leaves/cypress": "@foliage", + "afc:wood/fallen_leaves/fig": "@foliage", + "afc:wood/fallen_leaves/ironwood": "@foliage", + "afc:wood/fallen_leaves/ipe": "@foliage", + "afc:wood/fallen_leaves/gum_arabic": "@foliage", + "afc:wood/fallen_leaves/acacia_koa": "@foliage", + "afc:wood/fallen_leaves/poplar": "@foliage", + "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", + "afc:wood/fallen_leaves/mountain_fir": "@foliage", + "afc:wood/fallen_leaves/balsam_fir": "@foliage", + "afc:wood/fallen_leaves/scrub_hickory": "@foliage", + "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", + "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", + "afc:wood/fallen_leaves/weeping_maple": "@foliage", + "afc:wood/fallen_leaves/black_oak": "@foliage", + "afc:wood/fallen_leaves/live_oak": "@foliage", + "afc:wood/fallen_leaves/jaggery_palm": "@foliage", + "afc:wood/fallen_leaves/stone_pine": "@foliage", + "afc:wood/fallen_leaves/red_pine": "@foliage", + "afc:wood/fallen_leaves/tamarack": "@foliage", + "afc:wood/fallen_leaves/giant_rosewood": "@foliage", + "afc:wood/fallen_leaves/coast_redwood": "@foliage", + "afc:wood/fallen_leaves/coast_spruce": "@foliage", + "afc:wood/fallen_leaves/sitka_spruce": "@foliage", + "afc:wood/fallen_leaves/black_spruce": "@foliage", + "afc:wood/fallen_leaves/atlas_cedar": "@foliage", + "afc:wood/fallen_leaves/weeping_willow": "@foliage", + "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mountain_ash": "@foliage", + "afc:wood/fallen_leaves/rubber_fig": "@foliage", + "afc:wood/fallen_leaves/redcedar": "@foliage", + "afc:wood/fallen_leaves/weeping_cypress": "@foliage", + "afc:wood/fallen_leaves/bald_cypress": "@foliage", + "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", + "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", + "afc:wood/fallen_leaves/iroko_teak": "@foliage", + "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", + "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", + "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", } \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json index 37afc305b..33a0419a6 100644 --- a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json @@ -1,245 +1,245 @@ -{ -//TFC plants - "tfc:peat_grass": "@grass", - "tfc:kaolin_clay_grass": "@grass", - "tfc:grass/silt": "@grass", - "tfc:clay_grass/silt": "@grass", - "tfc:grass/loam": "@grass", - "tfc:clay_grass/loam": "@grass", - "tfc:grass/sandy": "@grass", - "tfc:clay_grass/sandy": "@grass", - "tfc:grass/silty_loam": "@grass", - "tfc:clay_grass/silty_loam": "@grass", - "tfc:grass/sandy_loam": "@grass", - "tfc:clay_grass/sandy_loam": "@grass", - "tfc:plant/sagebrush": "@foliage", - "tfc:plant/cordgrass": "@foliage", - "tfc:plant/guzmania": "@foliage", - "tfc:plant/pine_krummholz": "@foliage", - "tfc:plant/king_fern": "@foliage", - "tfc:plant/perovskia": "@foliage", - "tfc:plant/gooseberry_bush": "@foliage", - "tfc:plant/saguaro_fruit": "@foliage", - "tfc:plant/olive_growing_branch": "@foliage", - "tfc:plant/manatee_grass": "@foliage", - "tfc:plant/spanish_moss": "@foliage", - "tfc:plant/hanging_vines_plant": "@foliage", - "tfc:plant/philodendron": "@foliage", - "tfc:plant/maiden_pink": "@foliage", - "tfc:plant/switchgrass": "@foliage", - "tfc:plant/red_apple_branch": "@foliage", - "tfc:plant/lily_of_the_valley": "@foliage", - "tfc:plant/licorice_fern": "@foliage", - "tfc:plant/cloudberry_bush": "@foliage", - "tfc:plant/ivy": "@foliage", - "tfc:plant/peach_branch": "@foliage", - "tfc:plant/plum_leaves": "@foliage", - "tfc:plant/cattail": "@foliage", - "tfc:plant/butterfly_milkweed": "@foliage", - "tfc:plant/saguaro": "@foliage", - "tfc:plant/laminaria": "@foliage", - "tfc:plant/poppy": "@foliage", - "tfc:plant/snapdragon_yellow": "@foliage", - "tfc:plant/plum_sapling": "@foliage", - "tfc:plant/olive_sapling": "@foliage", - "tfc:plant/tulip_pink": "@foliage", - "tfc:plant/dead_bush": "@foliage", - "tfc:plant/peach_leaves": "@foliage", - "tfc:plant/canna": "@foliage", - "tfc:plant/green_apple_sapling": "@foliage", - "tfc:plant/orange_sapling": "@foliage", - "tfc:plant/strawberry_bush": "@foliage", - "tfc:plant/raddia_grass": "@foliage", - "tfc:plant/bromegrass": "@foliage", - "tfc:plant/kangaroo_paw": "@foliage", - "tfc:plant/green_apple_growing_branch": "@foliage", - "tfc:plant/gutweed": "@foliage", - "tfc:plant/phragmite": "@foliage", - "tfc:plant/tulip_red": "@foliage", - "tfc:plant/banana_sapling": "@foliage", - "tfc:plant/sword_fern": "@foliage", - "tfc:plant/lemon_growing_branch": "@foliage", - "tfc:plant/elderberry_bush_cane": "@foliage", - "tfc:plant/red_apple_growing_branch": "@foliage", - "tfc:plant/anthurium": "@foliage", - "tfc:plant/goldenrod": "@foliage", - "tfc:plant/peach_growing_branch": "@foliage", - "tfc:plant/elderberry_bush": "@foliage", - "tfc:plant/duckweed": "@foliage", - "tfc:plant/cranberry_bush": "@foliage", - "tfc:plant/field_horsetail": "@foliage", - "tfc:plant/olive_branch": "@foliage", - "tfc:plant/giant_kelp_plant": "@foliage", - "tfc:plant/blood_lily": "@foliage", - "tfc:plant/raspberry_bush": "@foliage", - "tfc:plant/leafy_kelp_plant": "@foliage", - "tfc:plant/orange_branch": "@foliage", - "tfc:plant/allium": "@foliage", - "tfc:plant/lotus": "@foliage", - "tfc:plant/strelitzia": "@foliage", - "tfc:plant/peach_sapling": "@foliage", - "tfc:plant/red_algae": "@foliage", - "tfc:plant/dead_berry_bush": "@foliage", - "tfc:plant/bur_reed": "@foliage", - "tfc:plant/cherry_growing_branch": "@foliage", - "tfc:plant/pulsatilla": "@foliage", - "tfc:plant/orange_leaves": "@foliage", - "tfc:plant/sea_palm": "@foliage", - "tfc:plant/silver_spurflower": "@foliage", - "tfc:plant/coontail": "@foliage", - "tfc:plant/sapphire_tower": "@foliage", - "tfc:plant/scutch_grass": "@foliage", - "tfc:plant/sago": "@foliage", - "tfc:plant/winged_kelp_plant": "@foliage", - "tfc:plant/aspen_krummholz": "@foliage", - "tfc:plant/raspberry_bush_cane": "@foliage", - "tfc:plant/timothy_grass": "@foliage", - "tfc:plant/cobblestone_lichen": "@foliage", - "tfc:plant/snapdragon_pink": "@foliage", - "tfc:plant/red_apple_leaves": "@foliage", - "tfc:plant/winged_kelp": "@foliage", - "tfc:plant/saguaro_plant": "@foliage", - "tfc:plant/sargassum": "@foliage", - "tfc:plant/artists_conk": "@foliage", - "tfc:plant/black_orchid": "@foliage", - "tfc:plant/dry_phragmite_plant": "@foliage", - "tfc:plant/tree_fern_plant": "@foliage", - "tfc:plant/oxeye_daisy": "@foliage", - "tfc:plant/vriesea": "@foliage", - "tfc:plant/toquilla_palm": "@foliage", - "tfc:plant/badderlocks": "@foliage", - "tfc:plant/grape_hyacinth": "@foliage", - "tfc:plant/red_sealing_wax_palm": "@foliage", - "tfc:plant/lemon_sapling": "@foliage", - "tfc:plant/spanish_moss_plant": "@foliage", - "tfc:plant/blueberry_bush_cane": "@foliage", - "tfc:plant/bluegrass": "@foliage", - "tfc:plant/spruce_krummholz": "@foliage", - "tfc:plant/heliconia": "@foliage", - "tfc:plant/water_taro": "@foliage", - "tfc:plant/green_apple_branch": "@foliage", - "tfc:plant/dry_phragmite": "@foliage", - "tfc:plant/barrel_cactus": "@foliage", - "tfc:plant/rose": "@foliage", - "tfc:plant/houstonia": "@foliage", - "tfc:plant/labrador_tea": "@foliage", - "tfc:plant/nasturtium": "@foliage", - "tfc:plant/leafy_kelp": "@foliage", - "tfc:plant/moss": "@foliage", - "tfc:plant/yucca": "@foliage", - "tfc:plant/lemon_leaves": "@foliage", - "tfc:plant/snowberry_bush": "@foliage", - "tfc:plant/orchard_grass": "@foliage", - "tfc:plant/morning_glory": "@foliage", - "tfc:plant/hanging_vines": "@foliage", - "tfc:plant/water_lily": "@foliage", - "tfc:plant/blueberry_bush": "@foliage", - "tfc:plant/blue_orchid": "@foliage", - "tfc:plant/banana_plant": "@foliage", - "tfc:plant/blackberry_bush_cane": "@foliage", - "tfc:plant/reindeer_lichen": "@foliage", - "tfc:plant/athyrium_fern": "@foliage", - "tfc:plant/trillium": "@foliage", - "tfc:plant/white_cedar_krummholz": "@foliage", - "tfc:plant/turtle_grass": "@foliage", - "tfc:plant/arrowhead": "@foliage", - "tfc:plant/blackberry_bush": "@foliage", - "tfc:plant/tall_fescue_grass": "@foliage", - "tfc:plant/blue_ginger": "@foliage", - "tfc:plant/arundo": "@foliage", - "tfc:plant/sacred_datura": "@foliage", - "tfc:plant/tree_fern": "@foliage", - "tfc:plant/heather": "@foliage", - "tfc:plant/foxglove": "@foliage", - "tfc:plant/liana": "@foliage", - "tfc:plant/douglas_fir_krummholz": "@foliage", - "tfc:plant/lemon_branch": "@foliage", - "tfc:plant/giant_kelp_flower": "@foliage", - "tfc:plant/meads_milkweed": "@foliage", - "tfc:plant/tulip_orange": "@foliage", - "tfc:plant/arundo_plant": "@foliage", - "tfc:plant/olive_leaves": "@foliage", - "tfc:plant/pistia": "@foliage", - "tfc:plant/snapdragon_red": "@foliage", - "tfc:plant/water_canna": "@foliage", - "tfc:plant/ryegrass": "@foliage", - "tfc:plant/fountain_grass": "@foliage", - "tfc:plant/bunchberry_bush": "@foliage", - "tfc:plant/lady_fern": "@foliage", - "tfc:plant/dandelion": "@foliage", - "tfc:plant/tulip_white": "@foliage", - "tfc:plant/cherry_leaves": "@foliage", - "tfc:plant/cherry_sapling": "@foliage", - "tfc:plant/orange_growing_branch": "@foliage", - "tfc:plant/dead_banana_plant": "@foliage", - "tfc:plant/star_grass": "@foliage", - "tfc:plant/desert_flame": "@foliage", - "tfc:plant/eel_grass": "@foliage", - "tfc:plant/wintergreen_berry_bush": "@foliage", - "tfc:plant/beachgrass": "@foliage", - "tfc:plant/milfoil": "@foliage", - "tfc:plant/pickerelweed": "@foliage", - "tfc:plant/primrose": "@foliage", - "tfc:plant/sea_lavender": "@foliage", - "tfc:plant/marigold": "@foliage", - "tfc:plant/tropical_milkweed": "@foliage", - "tfc:plant/pampas_grass": "@foliage", - "tfc:plant/ostrich_fern": "@foliage", - "tfc:plant/green_algae": "@foliage", - "tfc:plant/liana_plant": "@foliage", - "tfc:plant/hibiscus": "@foliage", - "tfc:plant/green_apple_leaves": "@foliage", - "tfc:plant/jungle_vines": "@foliage", - "tfc:plant/dead_cane": "@foliage", - "tfc:plant/red_apple_sapling": "@foliage", - "tfc:plant/calendula": "@foliage", - "tfc:plant/plum_growing_branch": "@foliage", - "tfc:plant/snapdragon_white": "@foliage", - "tfc:plant/cherry_branch": "@foliage", - "tfc:plant/plum_branch": "@foliage", - "tfc:plant/lilac": "@foliage", - -//TFC leaves - "tfc:wood/leaves/willow": "@foliage", - "tfc:wood/leaves/acacia": "@foliage", - "tfc:wood/leaves/maple": "@foliage", - "tfc:wood/leaves/douglas_fir": "@foliage", - "tfc:wood/leaves/chestnut": "@foliage", - "tfc:wood/leaves/kapok": "@foliage", - "tfc:wood/leaves/blackwood": "@foliage", - "tfc:wood/leaves/oak": "@foliage", - "tfc:wood/leaves/sequoia": "@foliage", - "tfc:wood/leaves/mangrove": "@foliage", - "tfc:wood/leaves/white_cedar": "@foliage", - "tfc:wood/leaves/ash": "@foliage", - "tfc:wood/leaves/hickory": "@foliage", - "tfc:wood/leaves/birch": "@foliage", - "tfc:wood/leaves/rosewood": "@foliage", - "tfc:wood/leaves/spruce": "@foliage", - "tfc:wood/leaves/palm": "@foliage", - "tfc:wood/leaves/aspen": "@foliage", - "tfc:wood/leaves/pine": "@foliage", - "tfc:wood/leaves/sycamore": "@foliage", - -//TFC fallen leaves - "tfc:wood/fallen_leaves/willow": "@foliage", - "tfc:wood/fallen_leaves/acacia": "@foliage", - "tfc:wood/fallen_leaves/maple": "@foliage", - "tfc:wood/fallen_leaves/douglas_fir": "@foliage", - "tfc:wood/fallen_leaves/chestnut": "@foliage", - "tfc:wood/fallen_leaves/kapok": "@foliage", - "tfc:wood/fallen_leaves/blackwood": "@foliage", - "tfc:wood/fallen_leaves/oak": "@foliage", - "tfc:wood/fallen_leaves/sequoia": "@foliage", - "tfc:wood/fallen_leaves/mangrove": "@foliage", - "tfc:wood/fallen_leaves/white_cedar": "@foliage", - "tfc:wood/fallen_leaves/ash": "@foliage", - "tfc:wood/fallen_leaves/hickory": "@foliage", - "tfc:wood/fallen_leaves/birch": "@foliage", - "tfc:wood/fallen_leaves/rosewood": "@foliage", - "tfc:wood/fallen_leaves/spruce": "@foliage", - "tfc:wood/fallen_leaves/palm": "@foliage", - "tfc:wood/fallen_leaves/aspen": "@foliage", - "tfc:wood/fallen_leaves/pine": "@foliage", - "tfc:wood/fallen_leaves/sycamore": "@foliage" +{ +//TFC plants + "tfc:peat_grass": "@grass", + "tfc:kaolin_clay_grass": "@grass", + "tfc:grass/silt": "@grass", + "tfc:clay_grass/silt": "@grass", + "tfc:grass/loam": "@grass", + "tfc:clay_grass/loam": "@grass", + "tfc:grass/sandy": "@grass", + "tfc:clay_grass/sandy": "@grass", + "tfc:grass/silty_loam": "@grass", + "tfc:clay_grass/silty_loam": "@grass", + "tfc:grass/sandy_loam": "@grass", + "tfc:clay_grass/sandy_loam": "@grass", + "tfc:plant/sagebrush": "@foliage", + "tfc:plant/cordgrass": "@foliage", + "tfc:plant/guzmania": "@foliage", + "tfc:plant/pine_krummholz": "@foliage", + "tfc:plant/king_fern": "@foliage", + "tfc:plant/perovskia": "@foliage", + "tfc:plant/gooseberry_bush": "@foliage", + "tfc:plant/saguaro_fruit": "@foliage", + "tfc:plant/olive_growing_branch": "@foliage", + "tfc:plant/manatee_grass": "@foliage", + "tfc:plant/spanish_moss": "@foliage", + "tfc:plant/hanging_vines_plant": "@foliage", + "tfc:plant/philodendron": "@foliage", + "tfc:plant/maiden_pink": "@foliage", + "tfc:plant/switchgrass": "@foliage", + "tfc:plant/red_apple_branch": "@foliage", + "tfc:plant/lily_of_the_valley": "@foliage", + "tfc:plant/licorice_fern": "@foliage", + "tfc:plant/cloudberry_bush": "@foliage", + "tfc:plant/ivy": "@foliage", + "tfc:plant/peach_branch": "@foliage", + "tfc:plant/plum_leaves": "@foliage", + "tfc:plant/cattail": "@foliage", + "tfc:plant/butterfly_milkweed": "@foliage", + "tfc:plant/saguaro": "@foliage", + "tfc:plant/laminaria": "@foliage", + "tfc:plant/poppy": "@foliage", + "tfc:plant/snapdragon_yellow": "@foliage", + "tfc:plant/plum_sapling": "@foliage", + "tfc:plant/olive_sapling": "@foliage", + "tfc:plant/tulip_pink": "@foliage", + "tfc:plant/dead_bush": "@foliage", + "tfc:plant/peach_leaves": "@foliage", + "tfc:plant/canna": "@foliage", + "tfc:plant/green_apple_sapling": "@foliage", + "tfc:plant/orange_sapling": "@foliage", + "tfc:plant/strawberry_bush": "@foliage", + "tfc:plant/raddia_grass": "@foliage", + "tfc:plant/bromegrass": "@foliage", + "tfc:plant/kangaroo_paw": "@foliage", + "tfc:plant/green_apple_growing_branch": "@foliage", + "tfc:plant/gutweed": "@foliage", + "tfc:plant/phragmite": "@foliage", + "tfc:plant/tulip_red": "@foliage", + "tfc:plant/banana_sapling": "@foliage", + "tfc:plant/sword_fern": "@foliage", + "tfc:plant/lemon_growing_branch": "@foliage", + "tfc:plant/elderberry_bush_cane": "@foliage", + "tfc:plant/red_apple_growing_branch": "@foliage", + "tfc:plant/anthurium": "@foliage", + "tfc:plant/goldenrod": "@foliage", + "tfc:plant/peach_growing_branch": "@foliage", + "tfc:plant/elderberry_bush": "@foliage", + "tfc:plant/duckweed": "@foliage", + "tfc:plant/cranberry_bush": "@foliage", + "tfc:plant/field_horsetail": "@foliage", + "tfc:plant/olive_branch": "@foliage", + "tfc:plant/giant_kelp_plant": "@foliage", + "tfc:plant/blood_lily": "@foliage", + "tfc:plant/raspberry_bush": "@foliage", + "tfc:plant/leafy_kelp_plant": "@foliage", + "tfc:plant/orange_branch": "@foliage", + "tfc:plant/allium": "@foliage", + "tfc:plant/lotus": "@foliage", + "tfc:plant/strelitzia": "@foliage", + "tfc:plant/peach_sapling": "@foliage", + "tfc:plant/red_algae": "@foliage", + "tfc:plant/dead_berry_bush": "@foliage", + "tfc:plant/bur_reed": "@foliage", + "tfc:plant/cherry_growing_branch": "@foliage", + "tfc:plant/pulsatilla": "@foliage", + "tfc:plant/orange_leaves": "@foliage", + "tfc:plant/sea_palm": "@foliage", + "tfc:plant/silver_spurflower": "@foliage", + "tfc:plant/coontail": "@foliage", + "tfc:plant/sapphire_tower": "@foliage", + "tfc:plant/scutch_grass": "@foliage", + "tfc:plant/sago": "@foliage", + "tfc:plant/winged_kelp_plant": "@foliage", + "tfc:plant/aspen_krummholz": "@foliage", + "tfc:plant/raspberry_bush_cane": "@foliage", + "tfc:plant/timothy_grass": "@foliage", + "tfc:plant/cobblestone_lichen": "@foliage", + "tfc:plant/snapdragon_pink": "@foliage", + "tfc:plant/red_apple_leaves": "@foliage", + "tfc:plant/winged_kelp": "@foliage", + "tfc:plant/saguaro_plant": "@foliage", + "tfc:plant/sargassum": "@foliage", + "tfc:plant/artists_conk": "@foliage", + "tfc:plant/black_orchid": "@foliage", + "tfc:plant/dry_phragmite_plant": "@foliage", + "tfc:plant/tree_fern_plant": "@foliage", + "tfc:plant/oxeye_daisy": "@foliage", + "tfc:plant/vriesea": "@foliage", + "tfc:plant/toquilla_palm": "@foliage", + "tfc:plant/badderlocks": "@foliage", + "tfc:plant/grape_hyacinth": "@foliage", + "tfc:plant/red_sealing_wax_palm": "@foliage", + "tfc:plant/lemon_sapling": "@foliage", + "tfc:plant/spanish_moss_plant": "@foliage", + "tfc:plant/blueberry_bush_cane": "@foliage", + "tfc:plant/bluegrass": "@foliage", + "tfc:plant/spruce_krummholz": "@foliage", + "tfc:plant/heliconia": "@foliage", + "tfc:plant/water_taro": "@foliage", + "tfc:plant/green_apple_branch": "@foliage", + "tfc:plant/dry_phragmite": "@foliage", + "tfc:plant/barrel_cactus": "@foliage", + "tfc:plant/rose": "@foliage", + "tfc:plant/houstonia": "@foliage", + "tfc:plant/labrador_tea": "@foliage", + "tfc:plant/nasturtium": "@foliage", + "tfc:plant/leafy_kelp": "@foliage", + "tfc:plant/moss": "@foliage", + "tfc:plant/yucca": "@foliage", + "tfc:plant/lemon_leaves": "@foliage", + "tfc:plant/snowberry_bush": "@foliage", + "tfc:plant/orchard_grass": "@foliage", + "tfc:plant/morning_glory": "@foliage", + "tfc:plant/hanging_vines": "@foliage", + "tfc:plant/water_lily": "@foliage", + "tfc:plant/blueberry_bush": "@foliage", + "tfc:plant/blue_orchid": "@foliage", + "tfc:plant/banana_plant": "@foliage", + "tfc:plant/blackberry_bush_cane": "@foliage", + "tfc:plant/reindeer_lichen": "@foliage", + "tfc:plant/athyrium_fern": "@foliage", + "tfc:plant/trillium": "@foliage", + "tfc:plant/white_cedar_krummholz": "@foliage", + "tfc:plant/turtle_grass": "@foliage", + "tfc:plant/arrowhead": "@foliage", + "tfc:plant/blackberry_bush": "@foliage", + "tfc:plant/tall_fescue_grass": "@foliage", + "tfc:plant/blue_ginger": "@foliage", + "tfc:plant/arundo": "@foliage", + "tfc:plant/sacred_datura": "@foliage", + "tfc:plant/tree_fern": "@foliage", + "tfc:plant/heather": "@foliage", + "tfc:plant/foxglove": "@foliage", + "tfc:plant/liana": "@foliage", + "tfc:plant/douglas_fir_krummholz": "@foliage", + "tfc:plant/lemon_branch": "@foliage", + "tfc:plant/giant_kelp_flower": "@foliage", + "tfc:plant/meads_milkweed": "@foliage", + "tfc:plant/tulip_orange": "@foliage", + "tfc:plant/arundo_plant": "@foliage", + "tfc:plant/olive_leaves": "@foliage", + "tfc:plant/pistia": "@foliage", + "tfc:plant/snapdragon_red": "@foliage", + "tfc:plant/water_canna": "@foliage", + "tfc:plant/ryegrass": "@foliage", + "tfc:plant/fountain_grass": "@foliage", + "tfc:plant/bunchberry_bush": "@foliage", + "tfc:plant/lady_fern": "@foliage", + "tfc:plant/dandelion": "@foliage", + "tfc:plant/tulip_white": "@foliage", + "tfc:plant/cherry_leaves": "@foliage", + "tfc:plant/cherry_sapling": "@foliage", + "tfc:plant/orange_growing_branch": "@foliage", + "tfc:plant/dead_banana_plant": "@foliage", + "tfc:plant/star_grass": "@foliage", + "tfc:plant/desert_flame": "@foliage", + "tfc:plant/eel_grass": "@foliage", + "tfc:plant/wintergreen_berry_bush": "@foliage", + "tfc:plant/beachgrass": "@foliage", + "tfc:plant/milfoil": "@foliage", + "tfc:plant/pickerelweed": "@foliage", + "tfc:plant/primrose": "@foliage", + "tfc:plant/sea_lavender": "@foliage", + "tfc:plant/marigold": "@foliage", + "tfc:plant/tropical_milkweed": "@foliage", + "tfc:plant/pampas_grass": "@foliage", + "tfc:plant/ostrich_fern": "@foliage", + "tfc:plant/green_algae": "@foliage", + "tfc:plant/liana_plant": "@foliage", + "tfc:plant/hibiscus": "@foliage", + "tfc:plant/green_apple_leaves": "@foliage", + "tfc:plant/jungle_vines": "@foliage", + "tfc:plant/dead_cane": "@foliage", + "tfc:plant/red_apple_sapling": "@foliage", + "tfc:plant/calendula": "@foliage", + "tfc:plant/plum_growing_branch": "@foliage", + "tfc:plant/snapdragon_white": "@foliage", + "tfc:plant/cherry_branch": "@foliage", + "tfc:plant/plum_branch": "@foliage", + "tfc:plant/lilac": "@foliage", + +//TFC leaves + "tfc:wood/leaves/willow": "@foliage", + "tfc:wood/leaves/acacia": "@foliage", + "tfc:wood/leaves/maple": "@foliage", + "tfc:wood/leaves/douglas_fir": "@foliage", + "tfc:wood/leaves/chestnut": "@foliage", + "tfc:wood/leaves/kapok": "@foliage", + "tfc:wood/leaves/blackwood": "@foliage", + "tfc:wood/leaves/oak": "@foliage", + "tfc:wood/leaves/sequoia": "@foliage", + "tfc:wood/leaves/mangrove": "@foliage", + "tfc:wood/leaves/white_cedar": "@foliage", + "tfc:wood/leaves/ash": "@foliage", + "tfc:wood/leaves/hickory": "@foliage", + "tfc:wood/leaves/birch": "@foliage", + "tfc:wood/leaves/rosewood": "@foliage", + "tfc:wood/leaves/spruce": "@foliage", + "tfc:wood/leaves/palm": "@foliage", + "tfc:wood/leaves/aspen": "@foliage", + "tfc:wood/leaves/pine": "@foliage", + "tfc:wood/leaves/sycamore": "@foliage", + +//TFC fallen leaves + "tfc:wood/fallen_leaves/willow": "@foliage", + "tfc:wood/fallen_leaves/acacia": "@foliage", + "tfc:wood/fallen_leaves/maple": "@foliage", + "tfc:wood/fallen_leaves/douglas_fir": "@foliage", + "tfc:wood/fallen_leaves/chestnut": "@foliage", + "tfc:wood/fallen_leaves/kapok": "@foliage", + "tfc:wood/fallen_leaves/blackwood": "@foliage", + "tfc:wood/fallen_leaves/oak": "@foliage", + "tfc:wood/fallen_leaves/sequoia": "@foliage", + "tfc:wood/fallen_leaves/mangrove": "@foliage", + "tfc:wood/fallen_leaves/white_cedar": "@foliage", + "tfc:wood/fallen_leaves/ash": "@foliage", + "tfc:wood/fallen_leaves/hickory": "@foliage", + "tfc:wood/fallen_leaves/birch": "@foliage", + "tfc:wood/fallen_leaves/rosewood": "@foliage", + "tfc:wood/fallen_leaves/spruce": "@foliage", + "tfc:wood/fallen_leaves/palm": "@foliage", + "tfc:wood/fallen_leaves/aspen": "@foliage", + "tfc:wood/fallen_leaves/pine": "@foliage", + "tfc:wood/fallen_leaves/sycamore": "@foliage" } \ No newline at end of file diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index 4d9acd900..0cd2b7618 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -1288,21 +1288,6 @@ x: -2.0d y: -9.0d } - { - dependencies: ["25007C5E43D28DB2"] - description: ["{quests.ae2.stock_bridge.desc}"] - id: "0E54B3BCBBA34A00" - optional: true - shape: "heart" - tasks: [{ - id: "1F8D81C524CE694A" - item: "createstockbridge:ae_bridge" - type: "item" - }] - title: "{quests.ae2.stock_bridge.title}" - x: 5.0d - y: -8.0d - } ] subtitle: ["{quests.ae2.subtitle}"] title: "{quests.ae2}" diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index a736b2b47..bae9c8d80 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -19,8 +19,8 @@ { id: "0D951ADFB3AF2E74" linked_quest: "7B2EE67E37809269" - x: 4.5d - y: 0.0d + x: 8.5d + y: -1.0d } { id: "0E76B952D3BA3BDA" @@ -32,7 +32,7 @@ id: "66960076A74E9B79" linked_quest: "0CA5B715B76E4A5B" shape: "diamond" - x: 15.5d + x: 16.0d y: 2.5d } { @@ -44,7 +44,7 @@ { id: "49FB3507B0FB3000" linked_quest: "155F421FC2F39C3C" - x: 12.0d + x: 11.5d y: 4.0d } { @@ -52,21 +52,34 @@ linked_quest: "4B1F957EB41A5E9B" shape: "octagon" size: 1.5d - x: 5.5d - y: 5.5d + x: 5.25d + y: 2.0d } { id: "7B380A243C2C39FA" linked_quest: "13F2929C1C303A0B" - x: -1.0d - y: -5.0d + x: 4.25d + y: -3.5d } { id: "2151F8AA263F1D6E" linked_quest: "6ECAD339C91EF194" shape: "heart" - x: 4.0d - y: -5.5d + x: 17.5d + y: 8.0d + } + { + icon: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } + } + id: "2DD8555DDAA44979" + linked_quest: "0ABD326DC2551CBD" + x: 24.5d + y: 9.0d } ] quests: [ @@ -92,6 +105,7 @@ { dependencies: [ "601088B7920140B2" + "3FBDC8552F7D8008" "3B18DE7395776B41" ] description: ["{quests.extreme_voltage.t2_rocket.desc}"] @@ -140,25 +154,17 @@ { dependencies: ["2931F887548A4A64"] description: ["{quests.extreme_voltage.tungsten.desc}"] - icon: "gtceu:tungsten_ingot" + icon: "gtceu:tungsten_dust" id: "5EC5566546591DEE" subtitle: "{quests.extreme_voltage.tungsten.subtitle}" - tasks: [ - { - id: "017BC39C681F5335" - item: "gtceu:tungsten_dust" - optional_task: true - type: "item" - } - { - id: "3A60698FD28B0CC5" - item: "gtceu:tungsten_ingot" - type: "item" - } - ] + tasks: [{ + id: "017BC39C681F5335" + item: "gtceu:tungsten_dust" + type: "item" + }] title: "{quests.extreme_voltage.tungsten.title}" - x: 7.5d - y: -2.0d + x: 7.0d + y: -4.5d } { dependencies: [ @@ -185,8 +191,8 @@ } ] title: "{quests.extreme_voltage.tunsgten_line_step_1.title}" - x: -2.0d - y: -2.0d + x: -3.75d + y: -4.5d } { dependencies: ["4EA8888B12D75BF1"] @@ -321,8 +327,8 @@ item: "gtceu:alloy_blast_smelter" type: "item" }] - x: 10.0d - y: 1.5d + x: 13.0d + y: 1.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -338,13 +344,14 @@ type: "item" }] title: "{quests.extreme_voltage.ev_mixer.title}" - x: 0.0d + x: 5.25d y: 0.0d } { dependencies: [ "61D5055F344DDFAD" "42C2B749B61B1FBE" + "5EC5566546591DEE" ] description: ["{quests.extreme_voltage.rtm.desc}"] icon: "gtceu:rtm_alloy_ingot" @@ -364,7 +371,7 @@ } ] title: "{quests.extreme_voltage.rtm.title}" - x: 1.5d + x: 7.0d y: 0.0d } { @@ -372,6 +379,7 @@ "37B7342CD1B3B76D" "601088B7920140B2" "6B08799BCFD01D3D" + "5CF70AC24D269279" ] description: ["{quests.extreme_voltage.rtm_coil.desc}"] id: "7F4E529627AD9148" @@ -381,8 +389,8 @@ item: "gtceu:rtm_alloy_coil_block" type: "item" }] - x: 1.5d - y: 1.5d + x: 10.0d + y: 3.0d } { dependencies: ["7F4E529627AD9148"] @@ -436,8 +444,8 @@ } ] title: "{quests.extreme_voltage.gcym_alloys.title}" - x: 8.5d - y: 1.5d + x: 10.0d + y: 1.0d } { dependencies: ["7B2EE67E37809269"] @@ -471,7 +479,7 @@ } ] title: "{quests.extreme_voltage.ruthenium.title}" - x: 3.0d + x: 8.5d y: 0.0d } { @@ -484,8 +492,8 @@ item: "gtceu:large_centrifuge" type: "item" }] - x: 17.0d - y: 1.5d + x: 17.5d + y: 1.0d } { dependencies: [ @@ -510,14 +518,14 @@ } ] title: "{quests.extreme_voltage.tungsten_steel.title}" - x: 0.0d - y: -4.0d + x: 5.25d + y: -2.5d } { dependencies: [ - "2979AFD231E5B37B" - "5EC5566546591DEE" "0E2E93BE3364722D" + "4AD96212525517CD" + "37B7342CD1B3B76D" ] dependency_requirement: "one_completed" description: ["{quests.extreme_voltage.nuclear_fuel_factory.desc}"] @@ -529,7 +537,7 @@ type: "item" }] title: "{quests.extreme_voltage.nuclear_fuel_factory.title}" - x: 7.5d + x: 7.0d y: 7.0d } { @@ -547,7 +555,9 @@ y: 6.0d } { + dependencies: ["2979AFD231E5B37B"] description: ["{quests.extreme_voltage.heavy_water.desc}"] + hide_dependency_lines: true icon: "tfg:heavy_water_bucket" id: "4AD41E9FA7814EA1" subtitle: "{quests.extreme_voltage.heavy_water.subtitle}" @@ -582,6 +592,8 @@ "{quests.extreme_voltage.thorium_rod.desc.2}" "{@pagebreak}" "{quests.extreme_voltage.thorium_rod.desc.3}" + "{@pagebreak}" + "{quests.extreme_voltage.thorium_rod.desc.4}" ] id: "77CB4AE5B3AF5263" subtitle: "{quests.extreme_voltage.thorium_rod.subtitle}" @@ -703,8 +715,12 @@ y: 8.0d } { - dependencies: ["00004BE1D77EA003"] + dependencies: [ + "00004BE1D77EA003" + "4EA8888B12D75BF1" + ] description: ["{quests.extreme_voltage.uraninite_dust.desc}"] + hide_dependency_lines: true icon: "gtceu:uraninite_dust" id: "2814C6FA71B07C95" subtitle: "{quests.extreme_voltage.uraninite_dust.subtitle}" @@ -766,6 +782,8 @@ item: "gtceu:machine_controller_cover" type: "item" }] + shape: "octagon" + size: 1.5d subtitle: "{quests.extreme_voltage.heat_exchanger.subtitle}" tasks: [{ id: "67CB661D4F20EC3A" @@ -777,7 +795,9 @@ y: 5.5d } { + dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.ammonium_formate.desc}"] + hide_dependency_lines: true icon: "gtceu:ammonium_formate_bucket" id: "075434DAB3D9F0EA" subtitle: "{quests.extreme_voltage.ammonium_formate.subtitle}" @@ -801,7 +821,7 @@ } ] title: "{quests.extreme_voltage.ammonium_formate.title}" - x: 13.5d + x: 12.5d y: 5.5d } { @@ -824,7 +844,7 @@ } ] title: "{quests.extreme_voltage.formamide.title}" - x: 15.5d + x: 16.0d y: 5.5d } { @@ -857,7 +877,7 @@ } ] title: "{quests.extreme_voltage.nuclear_residue_dust.title}" - x: 17.0d + x: 17.5d y: 5.5d } { @@ -883,11 +903,13 @@ } ] title: "{quests.extreme_voltage.martian_sludge.title}" - x: 17.0d + x: 17.5d y: 3.5d } { + dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.hexafluorosilic_acid.desc}"] + hide_dependency_lines: true icon: "gtceu:dirty_hexafluorosilicic_acid_bucket" id: "05FED2FF1BEA05F1" subtitle: "{quests.extreme_voltage.hexafluorosilic_acid.subtitle}" @@ -911,7 +933,7 @@ } ] title: "{quests.extreme_voltage.hexafluorosilic_acid.title}" - x: 18.5d + x: 19.0d y: 3.5d } { @@ -928,7 +950,7 @@ item: "tfg:oxidized_nuclear_residue_dust" type: "item" }] - x: 18.5d + x: 19.0d y: 5.5d } { @@ -941,7 +963,7 @@ item: "tfg:refined_nuclear_residue_dust" type: "item" }] - x: 18.5d + x: 19.0d y: 7.0d } { @@ -967,7 +989,7 @@ } type: "item" }] - x: 18.5d + x: 19.0d y: 10.5d } { @@ -990,7 +1012,7 @@ } ] title: "{quests.extreme_voltage.radioactive_concoction.title}" - x: 21.5d + x: 22.0d y: 5.5d } { @@ -1013,7 +1035,7 @@ } ] title: "{quests.extreme_voltage.tritiated_water.title}" - x: 16.0d + x: 12.5d y: 10.5d } { @@ -1226,10 +1248,10 @@ type: "item" }] x: 1.5d - y: -5.5d + y: -2.5d } { - dependencies: ["2C000B45C23752D0"] + dependencies: ["2B666F65B5F196E6"] description: ["{quests.extreme_voltage.ev_superconductor.desc}"] icon: "gtceu:uranium_triplatinum_single_wire" id: "2BE373381980C85F" @@ -1255,8 +1277,8 @@ } ] title: "{quests.extreme_voltage.ev_superconductor.title}" - x: 13.5d - y: 8.0d + x: 17.5d + y: 7.0d } { dependencies: ["017019EB38F7A18C"] @@ -1479,8 +1501,8 @@ type: "item" }] title: "{quests.extreme_voltage.me_part.title}" - x: 5.5d - y: 3.0d + x: 2.5d + y: 1.0d } { dependencies: ["70ABD1E3FC1CA672"] @@ -1505,8 +1527,8 @@ type: "item" }] title: "{quests.extreme_voltage.building_gadgets.title}" - x: 4.5d - y: 4.0d + x: 1.5d + y: 1.0d } { dependencies: ["70ABD1E3FC1CA672"] @@ -1534,8 +1556,8 @@ } ] title: "{quests.ae2.wireless_access.title}" - x: 5.5d - y: 4.0d + x: 3.5d + y: 2.0d } { dependencies: ["601088B7920140B2"] @@ -1548,8 +1570,8 @@ type: "checkmark" }] title: "{quests.extreme_voltage.new_qol.title}" - x: 4.5d - y: 3.0d + x: 1.5d + y: 2.0d } { dependencies: ["55FB2776B724FB63"] @@ -1594,28 +1616,43 @@ } ] title: "{quests.extreme_voltage.plutonium.title}" - x: 18.5d + x: 19.0d y: 9.0d } { - dependencies: ["617CF3335584DC8D"] + dependencies: ["26AA29016BA23396"] description: ["{quests.extreme_voltage.ostrum_linear.desc}"] + icon: "tfg:ostrum_linear_accelerator" id: "691A36800DC755C1" shape: "octagon" size: 2.0d subtitle: "{quests.extreme_voltage.ostrum_linear.subtitle}" - tasks: [{ - id: "130FE3E2CE8735F8" - item: "tfg:ostrum_linear_accelerator" - type: "item" - }] - x: 21.5d + tasks: [ + { + id: "130FE3E2CE8735F8" + item: "tfg:ostrum_linear_accelerator" + type: "item" + } + { + id: "5D1A52502962C948" + item: "deafission:battery_heat_port_ev" + type: "item" + } + { + id: "0FEF42CB8A6DC0F6" + item: "deafission:heat_input_hatch_ev" + type: "item" + } + ] + x: 22.0d y: 9.0d } { dependencies: ["691A36800DC755C1"] + description: ["{quests.extreme_voltage.ostrum_vapor.desc}"] icon: "gtceu:ostrum_vapor_bucket" id: "58264E007C2D7CC6" + subtitle: "{quests.extreme_voltage.ostrum_vapor.subtitle}" tasks: [ { id: "5399332E050D8560" @@ -1629,13 +1666,20 @@ type: "checkmark" } ] - x: 21.5d - y: 12.5d + title: "{quests.extreme_voltage.ostrum_vapor.title}" + x: 20.5d + y: 9.0d } { - dependencies: ["691A36800DC755C1"] + dependencies: [ + "691A36800DC755C1" + "3E0ABDFCC0FC6928" + ] + dependency_requirement: "one_completed" + description: ["{quests.extreme_voltage.light_ostrum_vapor.desc}"] icon: "gtceu:lightweight_ostrum_vapor_bucket" id: "4F647D6A4949EDF7" + subtitle: "{quests.extreme_voltage.light_ostrum_vapor.subtitle}" tasks: [ { id: "3529CF130C73746E" @@ -1649,16 +1693,16 @@ type: "checkmark" } ] - x: 22.5d - y: 12.5d + title: "{quests.extreme_voltage.light_ostrum_vapor.title}" + x: 22.0d + y: 12.0d } { - dependencies: [ - "691A36800DC755C1" - "3E0ABDFCC0FC6928" - ] + dependencies: ["691A36800DC755C1"] + description: ["{quests.extreme_voltage.dense_ostrum_vapor.desc}"] icon: "gtceu:dense_ostrum_vapor_bucket" id: "4C29DDE89AE8D6EE" + subtitle: "{quests.extreme_voltage.dense_ostrum_vapor.subtitle}" tasks: [ { id: "24641F2651FFBE44" @@ -1672,21 +1716,33 @@ type: "checkmark" } ] - x: 20.5d - y: 12.5d + title: "{quests.extreme_voltage.dense_ostrum_vapor.title}" + x: 23.5d + y: 9.0d } { dependencies: ["4F647D6A4949EDF7"] id: "6ABD72F1C1971EE3" + optional: true shape: "heart" tasks: [ { - id: "02963B7E2699E185" - item: "gtceu:tricalcium_phosphate_dust" + id: "500E6AD918D6F37A" + item: "gtceu:thorium_dust" type: "item" } { - id: "0202E05696C78841" + id: "3F961A11EFDFA246" + item: "gtceu:pitchblende_dust" + type: "item" + } + { + id: "02A251EBEF64897C" + item: "gtceu:aluminium_dust" + type: "item" + } + { + id: "1CDA9E72C0CF6707" item: { Count: 1 ForgeCaps: { @@ -1700,26 +1756,7 @@ type: "item" } { - id: "07372F88634076C6" - item: "gtceu:pitchblende_dust" - type: "item" - } - ] - x: 22.5d - y: 13.5d - } - { - dependencies: ["58264E007C2D7CC6"] - id: "27804B847EE2CFF2" - shape: "heart" - tasks: [ - { - id: "19277D14081DE23B" - item: "gtceu:aluminium_dust" - type: "item" - } - { - id: "552DAD2E001E8D83" + id: "1F2D23F66866AFB4" item: { Count: 1 ForgeCaps: { @@ -1733,46 +1770,13 @@ type: "item" } { - id: "6AFCA6EE597B7F67" - item: "gtceu:beryllium_dust" + id: "4D619272F96C7EF6" + item: "gtceu:tricalcium_phosphate_dust" type: "item" } ] - x: 21.5d - y: 13.5d - } - { - dependencies: ["4C29DDE89AE8D6EE"] - id: "09A85FAD0786E667" - shape: "heart" - tasks: [ - { - id: "06B67B195C0429D5" - item: "gtceu:thorium_dust" - type: "item" - } - { - id: "0496A5C65EA6EA17" - item: "gtceu:uraninite_dust" - type: "item" - } - { - id: "43E02B6BE521142B" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:hematite_dust" - } - type: "item" - } - ] - x: 20.5d - y: 13.5d + x: 22.0d + y: 13.0d } { dependencies: ["3A2E442E4D84C891"] @@ -1863,18 +1867,27 @@ y: 9.0d } { - dependencies: ["601088B7920140B2"] + dependencies: ["58264E007C2D7CC6"] description: ["{quests.extreme_voltage.refrigerant_pellet.desc}"] - hide_dependency_lines: true + icon: "tfg:terrafirmaguard_pa6" id: "08195E9FA1396936" + shape: "hexagon" subtitle: "{quests.extreme_voltage.refrigerant_pellet.subtitle}" - tasks: [{ - id: "1B4C7B8C2EDFE595" - item: "tfg:refrigerant_pellet" - type: "item" - }] + tasks: [ + { + id: "1B4C7B8C2EDFE595" + item: "tfg:refrigerant_pellet" + optional_task: true + type: "item" + } + { + id: "0AEA0612B833D029" + item: "tfg:terrafirmaguard_pa6" + type: "item" + } + ] title: "{quests.extreme_voltage.refrigerant_pellet.title}" - x: 19.5d + x: 20.5d y: 10.5d } { @@ -1947,8 +1960,8 @@ type: "item" }] title: "{quests.extreme_voltage.large_miner.title}" - x: 7.5d - y: -3.5d + x: 10.0d + y: -4.5d } { dependencies: ["2979AFD231E5B37B"] @@ -1973,7 +1986,9 @@ y: 8.0d } { + dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.dense_lead.desc}"] + hide_dependency_lines: true id: "0E2E93BE3364722D" shape: "circle" subtitle: "{quests.extreme_voltage.dense_lead.subtitle}" @@ -1983,7 +1998,7 @@ type: "item" }] title: "{quests.extreme_voltage.dense_lead.title}" - x: 6.5d + x: 6.0d y: 8.0d } { @@ -2011,25 +2026,6 @@ x: 14.5d y: 4.0d } - { - dependencies: ["691A36800DC755C1"] - description: [ - "In a future update coming before Venus, the recipes within the Linear Accelerator will be change. Expect your recipes to break." - "" - "The multiblock itself won't so you are safe to use it for now." - ] - icon: "createdeco:decal_warning" - id: "3F59CD5ABE4E7510" - size: 1.5d - tasks: [{ - id: "2CCA527404CECA8C" - title: "Okay I understand this will break" - type: "checkmark" - }] - title: "Breaking changes in next update" - x: 24.0d - y: 9.0d - } { dependencies: ["04682CD04FE0A56E"] description: [ @@ -2058,8 +2054,8 @@ } ] title: "{quests.extreme_voltage.tunsgten_line_step.title}" - x: -2.0d - y: -3.0d + x: -3.75d + y: -5.5d } { dependencies: ["04682CD04FE0A56E"] @@ -2072,8 +2068,8 @@ type: "item" }] title: "{quests.extreme_voltage.tunsgten_line_step_2.title}" - x: -1.0d - y: -2.0d + x: -2.75d + y: -4.5d } { dependencies: ["3A2E442E4D84C891"] @@ -2128,6 +2124,7 @@ y: 5.5d } { + dependencies: ["2979AFD231E5B37B"] description: [ "{quests.extreme_voltage.radiation.desc.1}" "{@pagebreak}" @@ -2171,12 +2168,16 @@ type: "item" }] title: "{quests.extreme_voltage.advanced_fluid_rig.title}" - x: 9.0d - y: -2.0d + x: 7.0d + y: -6.0d } { dependencies: ["5CF58F7CBE255585"] - description: ["{quests.extreme_voltage.large_generators.desc}"] + description: [ + "{quests.extreme_voltage.large_generators.desc}" + "" + "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" + ] disable_toast: true id: "40CBACE41B71C011" shape: "octagon" @@ -2239,8 +2240,8 @@ type: "item" }] title: "{quests.extreme_voltage.btx_catalyser.title}" - x: -4.0d - y: -4.5d + x: -5.5d + y: -6.0d } { dependencies: ["3EC1D337D9FC3F1B"] @@ -2256,8 +2257,52 @@ item: "gtceu:rhenium_dust" type: "item" }] - x: -4.0d - y: -5.5d + x: -5.5d + y: -7.0d + } + { + dependencies: ["617CF3335584DC8D"] + description: ["{quests.extreme_voltage.heat_battery.desc}"] + id: "26AA29016BA23396" + shape: "octagon" + size: 1.5d + subtitle: "{quests.extreme_voltage.heat_battery.subtitle}" + tasks: [{ + id: "5C9A37E905A4030F" + item: "tfg:heat_battery_mk1" + type: "item" + }] + x: 22.0d + y: 7.0d + } + { + dependencies: ["155F421FC2F39C3C"] + description: ["{quests.extreme_voltage.nichromium_iode.desc}"] + icon: "tfg:nichromium_iodomethylate_bucket" + id: "5CF70AC24D269279" + subtitle: "{quests.extreme_voltage.nichromium_iode.subtitle}" + tasks: [ + { + id: "29015E8328231929" + item: "tfg:iodomethane_bucket" + optional_task: true + type: "item" + } + { + id: "195713F766EF130A" + item: "tfg:nichromium_iodomethylate_bucket" + optional_task: true + type: "item" + } + { + id: "20D7CE8211E091A6" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] + title: "{quests.extreme_voltage.nichromium_iode.title}" + x: 11.5d + y: 3.0d } ] subtitle: ["{quests.extreme_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index e52987dc3..06f8c624a 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -232,7 +232,7 @@ dependencies: [ "60FF9249376DF9BD" "05E2F203DA46A5E8" - "3EC8D58DB73CEFE5" + "2BE373381980C85F" ] dependency_requirement: "one_completed" description: ["{quests.gregtech_energy.transformer.desc}"] @@ -1016,8 +1016,8 @@ } { dependencies: [ - "0AF286AA540A82E6" "0C718329245D9619" + "4C620105AAC49381" ] description: [ "{quests.medium_voltage.mv_diesel.desc.1}" @@ -1034,8 +1034,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_diesel.title}" - x: -9.0d - y: -5.0d + x: -8.5d + y: -7.0d } { dependencies: ["7AF726555D721DFC"] @@ -1089,7 +1089,7 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: -9.0d + x: -9.5d y: -7.0d } { @@ -1236,16 +1236,65 @@ "05E2F203DA46A5E8" "0ABD326DC2551CBD" ] - description: ["{quests.gregtech_energy.smr.desc.1}"] + description: [ + "{quests.gregtech_energy.smr.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.smr.desc.2}" + "{@pagebreak}" + "{quests.gregtech_energy.smr.desc.3}" + ] + icon: "tfg:smr_generator" id: "4659447C85CDC058" subtitle: "{quests.gregtech_energy.smr.subtitle}" - tasks: [{ - id: "1D02468DD9869C72" - item: "deafission:fission_reactor_smr1" - type: "item" - }] + tasks: [ + { + id: "1D02468DD9869C72" + item: "deafission:fission_reactor_smr1" + type: "item" + } + { + id: "4DA2451D673DABE3" + item: "tfg:smr_generator" + type: "item" + } + { + id: "7647ABCBC805E3B3" + item: "tfg:uv_smr_fluid_import_hatch" + type: "item" + } + { + id: "4BDA2F8B0D5B310D" + item: "gtceu:lubricant_bucket" + optional_task: true + type: "item" + } + { + id: "5C5003050BCE8601" + item: "tfg:polyalkylene_lubricant_bucket" + optional_task: true + type: "item" + } + { + id: "79126D47F1236F45" + item: "tfg:ozone_bucket" + optional_task: true + type: "item" + } + { + id: "5075B6C62A7AB675" + item: "tfg:cyclohex_diperoxide_bucket" + optional_task: true + type: "item" + } + { + id: "28AAB372882C8996" + item: "tfg:ticl4_doped_supercritical_co2_bucket" + optional_task: true + type: "item" + } + ] title: "{quests.gregtech_energy.smr.title}" - x: -7.5d + x: -7.0d y: 1.0d } { @@ -1266,21 +1315,64 @@ y: -7.0d } { - dependencies: ["4512E5DE7A84F809"] - description: ["{quests.gregtech_energy.fission_rod.desc.1}"] + dependencies: [ + "4512E5DE7A84F809" + "4C29DDE89AE8D6EE" + ] + dependency_requirement: "one_completed" + description: [ + "{quests.gregtech_energy.fission_rod.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.fission_rod.desc.2}" + "{@pagebreak}" + "{quests.gregtech_energy.fission_rod.desc.3}" + ] + icon: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } + } id: "0ABD326DC2551CBD" subtitle: "{quests.gregtech_energy.fission_rod.subtitle}" - tasks: [{ - id: "68E3EE04F4931EFE" - item: { - Count: 1 - id: "tfg:tbu_232_rod" - tag: { - Damage: 0 + tasks: [ + { + id: "68E3EE04F4931EFE" + item: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } } + type: "item" } - type: "item" - }] + { + id: "21383A5C0CF976DD" + item: { + Count: 1 + id: "tfg:americium_241_rod" + tag: { + Damage: 0 + } + } + optional_task: true + type: "item" + } + { + id: "5B22DEC6694CDCCB" + item: { + Count: 1 + id: "tfg:neptunium_237_rod" + tag: { + Damage: 0 + } + } + optional_task: true + type: "item" + } + ] title: "{quests.gregtech_energy.fission_rod.title}" x: -7.5d y: 0.0d @@ -1320,6 +1412,41 @@ x: -9.0d y: -1.0d } + { + dependencies: [ + "05E2F203DA46A5E8" + "0ABD326DC2551CBD" + ] + description: [ + "{quests.gregtech_energy.cooling_tower.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.cooling_tower.desc.2}" + ] + icon: "tfg:cooling_tower" + id: "7F2F435C727C7AB3" + subtitle: "{quests.gregtech_energy.cooling_tower.subtitle}" + tasks: [ + { + id: "0347D107FEC9761B" + item: "tfg:cooling_tower" + type: "item" + } + { + id: "7CD0D40C08CC42D2" + item: "tfg:boron_enriched_coolant_bucket" + optional_task: true + type: "item" + } + { + id: "23C1F8FEFBD23A5C" + item: "tfg:warm_water_bucket" + optional_task: true + type: "item" + } + ] + x: -8.0d + y: 1.0d + } ] subtitle: ["{quests.gregtech_energy.subtitle}"] title: "{quests.gregtech_energy}" diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 92974c4a4..949f23310 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1698,6 +1698,21 @@ x: -2.25d y: -11.0d } + { + dependencies: ["41D32C5178760F47"] + description: ["{quests.high_voltage.multi_structure_terminal.desc}"] + id: "3FC6D346B3EE4A92" + optional: true + shape: "heart" + subtitle: "{quests.high_voltage.multi_structure_terminal.subtitle}" + tasks: [{ + id: "32C53F040A2F0AD8" + item: "gtceuterminal:multi_structure_manager" + type: "item" + }] + x: 5.0d + y: 1.0d + } ] subtitle: ["{quests.high_voltage.subtitle}"] title: "{quests.high_voltage}" diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index c22390137..6e5b94f55 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -245,7 +245,7 @@ ] icon: "gtceu:storage_cover" id: "1C767009F505A813" - shape: "square" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.cover_behaviour.subtitle}" tasks: [{ @@ -399,7 +399,7 @@ }] title: "{quests.low_voltage.lbb.title}" x: 0.0d - y: -5.5d + y: -6.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1711,7 +1711,7 @@ } { id: "34153032225B76BB" - item: "gtceu:light_fuel_bucket" + item: "gtceu:diesel_bucket" optional_task: true type: "item" } diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 19b934cac..e41e02230 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1325,7 +1325,7 @@ }] title: "{quests.medium_voltage.mv_jetpack_2.title}" x: 1.5d - y: 5.0d + y: 4.5d } { dependencies: [ @@ -1700,6 +1700,21 @@ x: -5.0d y: 4.0d } + { + dependencies: ["75F38905DEA60F15"] + description: ["{quests.medium_voltage.terminal_dismantler.desc}"] + id: "0053E98892F910BF" + shape: "heart" + subtitle: "{quests.medium_voltage.terminal_dismantler.subtitle}" + tasks: [{ + id: "6AE4D07F675A23D0" + item: "gtceuterminal:dismantler" + type: "item" + }] + title: "{quests.medium_voltage.terminal_dismantler.title}" + x: 1.5d + y: 5.5d + } ] subtitle: ["{quests.medium_voltage.subtitle}"] title: "{quests.medium_voltage}" diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png index 8cca66fc908ee1846f04dc2ce872276ad7fc7113..922607cf6bade11f1fbcd996db8882a7481a2621 100644 GIT binary patch literal 14070 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 Q1_lNOPgg&ebxsLQ094J7=l}o! diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta index 33611385b..c5d457f93 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta @@ -1,45 +1,5 @@ { "animation": { - "frametime": 1, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] + "frametime": 1 } } \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png index 38280013783645c635d8925f345209b4f10de1aa..465c2a97579326d488541af1db66bb6814dabd2b 100644 GIT binary patch literal 12239 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 TS$@6@3=9mOu6{1-oD!M<=f1@N diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta index 33611385b..c5d457f93 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta @@ -1,45 +1,5 @@ { "animation": { - "frametime": 1, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] + "frametime": 1 } } \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png index 608ba1eb246d4d7035cf087829545b0df9ed8fa1..e07a4eaae1faba525906b429ca14637ed7e28314 100644 GIT binary patch literal 14137 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 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta index 33611385b..c5d457f93 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta @@ -1,45 +1,5 @@ { "animation": { - "frametime": 1, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] + "frametime": 1 } } \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png index c97f8bf2572f4628f7ee3740589c0fc4f9ac4219..e2bd2121342e07a3f56fcfb8f3707f2d10ef95a8 100644 GIT binary patch literal 9006 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV0^&A#=yX^M(phw1_lKNPZ!6KiaASbbEiGF z>U+xSa&ua$yWjQSfqNI-JNqVK+U?loRjcBB-EM3;G|l4-zkrH{W&G7Si8ARfx0GBb z9yx06^Z&K|zvt=-6I2)&`+plTGZ;oJTJo_FJo)VB%D5=#b-&VF~&eqSnUhLH{ z>?lchX>jq3n8B>5xC783l!`fKMqp3)Gj*F3C= zd*s@xHa;-a-MrS0Wk*c^VdY?@Fcs^msqHF{85uh!6qk$aKOCr z$+_1d4z5BI0$=IM&CyF%%xp~f>oa+S0Y}04#&z#S_%9gu{k8Nr)tInm zV^NEnLam#ph6#UpU@gCgw9ba_O%s<-Ds0me^f;0xQ209fywd~?&Xn`H=hGfcnxvu< z-Tl4dL!rzmUXB@g>m!9G<#9gzR45}iUzDH0AwuHBo7ga0CmAc9i^el-KAJwVDeGcw zG_2JVR`pU#Y1y%cfupdKqxOKpcDBoInh=oBhHK^}&)Dq$Ik64>Z53xk8nldf=dN~Kf28D(1nRnU!k>am7pTI3A z!^`jT&(%i2b|DX6!iUQb8!cuYc+9wfW$9}s0}f3ut~-L$FYC=bWMzNgw;NB|gmsOv z9+kImoMd9rYWG$s6%*y>n78Z4+1S4d(Ka04((5>ugxsvY?U;Y1?%4+idDo8@nLSwr z4>yZFYvStDD)gMBqLeBaxz*v-pKUtzK|UQj+NBP`3%D3x%hM$7y#+zTPxN zoI!=%h?PGn?R6V_8|&-Op>ZE~PI;@{pCBIjx&HTGcCF6WpHd6|hgTHr>WP>x`ucO{ z9m@q(Z2`qLnz zZSN5+dg3v2`H^q+i)@&$Uf3HHIF-L~&q3zds}D2(F8Eb-&hVw&eEs&u2>wvPO8e=a zA05*79&Y~p)Zj*sCg-*1O$BebRi)Gz4*Y#yrCs2saAMUjNA-q1VmB;Jit6skvkIS5 zmbm*nc7yQ-yZ9ad|Ee=QC<$%qKF_-F{rB5D?B-Wo_q%RNN}$_fVCUZqPK zkK+z7T-hbuvC=~^+QuR7ZPB;QflmL|yNK>sy^SgD7N;nS)Ahh)YYmA>GN-nwF)--- zaToI1%vQGkkHW8fr%AkKFOs({iTiNi-LuU5dbjq5uk%fFW(;U>IUp;3;l?A!xykbm zTFmSF_cDL`d&^~0j&;8hl;c13siom%_FM%{9Ydv~E5sC-&P_jDuuq0<$&w0#{S3>J z-ZD3AStoH$;(DrYs$l9_g-P$X=y?nN=HX{J+V<{-_$0oDm#n&SH{yejF)v6u6m1i* zH2M6q)2;1tuZs`8qP$hd>!giqpW<+Dd` z#C&MD>Gy1#sJ6Td?^-%>|T6LGbm>V7R?X|;{r_3U@D>qeSSKCZ@wtiFZ)@1FOZ$BO>r z3~k1~sp5BUIxP7mD#HJYamurtXYrms@h5%)t&qfF14rWLTuKbpFS?$uws@jC*`W2`5r#N^D<}TmnM|+!m_qKYmFK1)az}ZpmMOX*`~KIZh+1tn<) z5fKVAmM`U!c1S*|@bJj}{?d0l4i}$FcqGdG_{x+B(`j3nA2KlX|6YADNQ;j{Xi3!{ z7X{C*l`$G0qiqIpNW4hMWIAB;#4uw&_>fFj$^cY3|%E9PwGIu9?a7$x>&AYS&vzFh>*-9IXibXm0El>S6 z>qLbm-`$r1V%!-Y4{&Jb6kfRX_}?tYmd{J&HJDyV^si67m6vKUceCUSj{B33F3@P4 zxv*;9Bb5m01&R-s9IHyJuvzhq=_s@E*Lcpm3wJ718}3=X=145VS;1`!ro9R_nYqBJ z`1J|}O*588ktw%IH%(JRZEt_^?eo^- z%p3}ZXV=8(%e%>~Zj1l8AhNkB<)`PphmF@ioM!mEGQcKmogLgyFm zlR5KYNzrD(84RDNNZs$^f5-7TSNFWj0yi-QHvjF8Oj@PrgYkZg%xS0B9W_>tN zm$&_|LaaO&lW5`mDSN|h5)7VJ%)b4$nr-Fm2eHA|8|HE5-4oN)dH3(@9NUX~G1YB z=w8(rkZid5-x}?67V|S}p8s9F>R*`j$u%+e#ch^Z*e;8(u`!#m`-I z<-@WgPu3VsV%4^vsPt>1LCa+MC9ijzITdxA?a#5cxnVMG9f$C@iYf2;l;)hbnRRE! z@#fc=3@h8`JAco%IdS{MzRzU_k-;BX_8)Hk#36TRO2DgDJGPZO9k0Js3JVQCf8_3t z;_un~6DMvtv@2b0w&Rbp3Ud4@(l1^ez4LNez;`}j9{w-$ey-J;8s_yZryC3c>MPH>uXQ2KR#ag z!D7SQU7k75?6!$9Bxrew+=zam8}`@c+v8n@Z(b=dUX9$@Dz|dZkB=U~*UMk@)fRI$ z3M})t6>$6c#3I=65ZChKQ*K*=we9TxcAnn-CO!Ci`!2pan=jvr zIDep|`fS#UREA43%ge1wq>HDEpE*(&ExzBlU(?UEeVKXT>sIS@r%x9T?i0FfB*}m8d~jDnZedjK3H>QQ zifnnOzs}T{l({IS=+M)sj|XP4wyoC6c-|23;lQo0k4$^kQ2ehZu;a+Az@=N*_?OH(aN#?z*4}Fc$-zqZBx6orP6^uP*f+hncg|hA&Ax9x zJvPV_{5AK1u*jK@qklX#yrtI<4<9z%NM9%c^F-(}C zH@%Kw%2a7NozI((HfJAeHkxplneoG~IJ?-};kEK^;Y@a%#2vi~n%TgDd| z)SOa#^z`SQ${LoY%QxbikKAA>5R$lj-D>W6Q@g*hzxUY|9FqLgzu(U8vQ*)}6`p#| zVR~CO@BNlrtH-hb@9!VZ3KJw|Z?K%5_JY~RO4Be)pIO9d!GVe=drUj_$S!$pUGjJ5 zgJg?ul2ch0O3eIt?8A#WLA&Pu&3GWyXFF}{eoLDRZ@&kfFjGpJcj?O4g{&eAk8~zg z#@g{Im&;m|2rwKr?U^%9BXNx8_7Bz*;Q&HVo;QM;Zab~3j%*sl4 z_jbIFQTi40D%tp;Hv6`#d#?ouO<7@3b=-K)gQKQ$xymbz-{zdC3!8GZA)zkq=TwEn zBww}oreDEAs^{kE-8?!kr+;1PwI>_)J!o{uii@^&d6w+7>&cX@B9pC(b{;p{Um&-8 zVsn();jgPwYP7ed=05&vz|rvZcjvzaX@T5-`utP3WeWDQ9}duw2+)a`&ieOZ!_%*a zzI^xp+jC`Q`60>L15@k&pFi*K-BVqoH+hX<=2eR_ro>uZUzZNuZH?T@%>_}{ojSEH zt=J$sf35KC?ayn!J$IP>(w!;OCi;C-#IAkrKepTR+ke>^ee=Mw+8sQp3G$PZti@NU ztty+8WPE-kJi#H*+M#^l9N8nFsO9-l#m_PeQ>4i_xY!FUl^|b=fbsDDBv5z zw3=gketm8^`AK@WbHcR*KdqqOU%t-qJ!5WORhty}*OTR@%N*rIoqXf=E|F_~F`uhB zkJ`LiYp1&AOqznKr%ATgDvLM#j1wj&-eF-Z_1o+J$5A!?dxWV}$g03yEC{ZbdoHV6cQtpGQ zw?e3$!z7KDMYcRv0Y#E3Qf>csosW1XerZw=!xhn_%^RK?+HBZ%w3*RC{>iER|F6Fl z&Tdh?u-r6hW~i3p3f`kuw+}EF+@Hd1B>3>Rouh)U$(vs>27mtre>{*YU1)pl{O_2l z`Rm1JW)<(@iI~UjH{E#JbML23ymcGmD%w_>?Vd1m@v_&g$^DnV_7tr6<-|DUQNc@Q zmX!<3<$oq^&SB{}F4CQ4pWap)&D$hPyHZ0G#FDft7#N(c&Pz*7E-NTG>3UX>^OcrjqM4xm zd&BT}W6PJUcP@CjtE$wtv->`u^!eSC&pyUxtG9n*T)A%X_1W4ttD8cvo;}%UAYZ*V zTk!wqMS?4~>fW@_TzUVd$gWT8U)<&4U$#C~YSZl<9tCRhG3(kN)>Vt%XJQOE=rkdz z=}60A#aO4L*6+>E`dQf)^Y2Ofjqb_cXs(`(uf1vIPJ258waqsr~ou z{bT;O>r~eEMIAc7|4;7k8y<#@GdAs;z<=p`tyB4%ZkdFi+W-2#?S8;G@lm7W_T>(f z?RXx|zPutj^xv9?%xWw1c3d!HhkIrw|5^L&YP4RCs1eJ;9X1^Xb9M__ zh_oin4?J!We=JbX>h$mPPsMDOhuT>1CR!Za_T}GKox;})22TY_h5Txs1SA=7O!@d= z_fh6`O%ahNRH8f_pIom<@P57c;F<3&lYR$%y0xmm*Fmj8W&Y9@g!+j>_-nSAA4d=~6pdz&PdM z5$1Ne%h!!23fwz6LE7d5XWY8Tzx{$j!sn9BR~-`Ma%Wob?vSiphnD2S3I;(@8-|AS zKKI(#9s1e$ucbO#$O-hZ|M|22|KGCmHMRHUEMm`JZ(jG!+uz?_{HSr` z*XOmzZ+@$Ia4$b5mFZ?|#7Bku8Qtvlzdl>q|L=Oy6t(uRp`3%R#O3EkbB`OW+PPR% z@1Lfe#9sfI-{-Gy?_odi<*O~XSb+P}1CnwK4$bV>G+&EqT32H z6cS6nzEJSZ1yL5#fO#k3Nrj2+Dp{}uYF)RApfXQN}=Jx!&CeJ zm;UzPw8d%?aSw`eSD2!*ojlAi+$C->7~~=A`ds8Sv%X{i`(w=yDzNSaG3esw|fU- z%oof2on#R|!Sea4DPN|@On*Ex&-lSN-o=0Cy6TtTQ=HTvoPTq7l&MbtQlHz883TEZ z@Aj>`wMQl3Q5QRdQKt4y_h*SO*i^nNzcSks!*}>;k;EAlho8rLCJC5&6^T1FU!MLt z5mdV$nPMxmoYCoI`?SjBx&?38D%;uDSGv9Ut(7pv^!k~}TfDf^_!+)Pv@dpRmy(;a z?zx+2$NBJWU-mM{2-f|7{pF>0Xl>qasQ7o!tk@SH85ny0GZ%0cUS&yRj8o!FtlCnk_55{W#hvi* zXKqiK_0{d?ePLjznhO4FK9hpnD|)d)GN;^lPdl9F?g-jIdHXs z;ofQXdu0hzUfryTmRS-qyvv8ltmTt&bD$kVpNxP+y)wl%I$D z*~v?@WVAXPmg2~?!+z>@t0ZkL^t%0sF(GL~hLDH$t=ZT6 z&E_5GRpMK|H8=cTdETY4#i4uFWFLG#$)P)gU+b%}tz5*Ch7)F4HsX^n^M%H5V7&jx z(fM3j$sbX<8Pg9xb`-Z_Fw~#=;Bj(B*5aDlvzz1ps?BlQ(Ob7O&fl4L@kPe7@{x<= z%xsJrR@FNy2(+_L5?b;4RqXu}XAW|mV`_2U-*=VggO;iOx#ar{T@BqFGJE<1k5(UL zww7jgvzhN5Y~x(6)P7BHh2| zs5|2GdjBT%ec1<iuIGXs$H6}(y#D+{D*h0 zDk^6D`+v^a+`M6;%b9a8?y|YvQr$1;&?#{}p>MgE_BpM9iI>b~1jrpcaqU)xE#Kqg zg&KutBBy_t%gVIxe%$7^U_0abfN#Dx94wA3S)atW%5k2ga0`Pe`-(XXj_1sR#aBu$ zIr%gChFwif=9|WyJdcGo*4cZslj&JvB|Scy>L1SK&x~KH z|GHEsW+&fLg(((kUB;8dbQGqmZaLhnbhMkzCciP|^_tc1uM1h^e{}dS_FQj8Q|m6? zZ7KRU^B&l1EXj5VTFi7xbsxvwrB|j*HM+3Ag!#8mEbFUs9)W{Tor`y}Xsql!F;#c3 zcHqZGDf304?V6MK?a;XR^0lS%bpgHbHy;y}4+Z^X7v=wA`?Y0OW7uPp!@B;Fk0<+E zs;(@Zv64Mv(@u?OeUBMOc$i$I`lozUcpAXuakkjV+b#0Lou-d}j$b$W`M{2e(QqO6 z8y23Go+*pEPqgR-E>fA~<+k?O#+TmLT2A*bKK7Q&bXEVdrBBP`cFQghDcisD(_8OW zc8A3dQ_N>5{u|2f&SZhyBwuHF|Syrchmw$SrH%}eVpuh3Mp-Ii=0qIIG7b~2Ocy2DKU zF1u{Erp=jKyRxY1vN+4E)^lk_7cc6FH*g8=tu}Pn%t_SgU=k|AL45 z?J$eAH$A_tHIlLKI2a}1k)85#$I1`>y_%;^=iOqukTx}XXP47&NoMbP$$@(|wHU>G zl?;xn)m`Xs`o(VPnv?~5(%U^<1ZGHhC9tgKZn8hX{MUN-d4;ICCvwW#i>EJs5_Np9 zK4X2!ZJ>rX3KSt?Q}Y~$xT7^i{<{Ajuvxv`?$Qe_;O#m6 z)g<7$qf2(Y1IzuJ$CiA&Y3Zc1&}H(rih}BMw;SdLxrcP)x4qdl& z)%q=}J#|-gayQ-z`?_(CprL8_@5l)Sx72-BI!PVtKRiQ4Q%+zim+euO2?18Y!griC z7M51Je!INv>@1U%wY|kF;&(0(T=M6jR$fz??EQis(P+chFv5ugsbh-CTQ+nZZNp z$Glrsw{I&(rp_zJb+f&)o;p-v~KI*&qxG~^Sg3*BrOFpK+ ze-o4>SSHSB-ZyjYj5tq?v(b?s9u$TjPC2f%@=cC+lTLU3sVc|ds#XzxV$V+J!{`34@;+-b`N{q+&Z!Af0fmorbmp*#21Grs@l;)< zW+;CqY@S`_%p;HN%*7cS<}NMk{?96Y=FwY`^#*bM&Z?PV6XP|0o-*mWGVAz)i<`}y zJ#)T>@bc#<9_8UTQ*V#4i=MB^sj_Op-S&pVJEebZuH#g3xust*k=K)ZxxjReldmNh zWOm7|-*G@(W2|K^X;_jM{SLN_xvh9vH8rTZlSb8pINu*=N-*lG2biT!UFi^%2=+guhb zX<_4MP*}!sWUE;E)+wfiK1U;DxTn9**HI0;`(<^>wYK@I(_Y_knbOPoOH;GObZe;W z?9Wos@zF{`XL+4w%b;(EsC+hR?3zFVwhlh+ZXJ31ednz!UUT_>M~PN9^>F_e;n%tIXX`Vr zWjhT%M%zS8IPjlI?m>7(LP@>U??>65g+G^9Bp9!||2)e~Wwz^2v71`_Keig(DoA|J zC1Y2!q;0zB_EO0P37N%vmbVs_%Rkt3_0{J!W#~oI=a~Zi%-kaD|x7! Sx{`r`fx*+&&t;ucLK6U^R^~|n literal 9427 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png index af5d596974d5094014e5f300c0cd797f35224420..73eed58e6d52aaafe8efdff5754cfa8989348166 100644 GIT binary patch literal 9530 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 literal 25271 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 As{jB1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png b/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png new file mode 100644 index 0000000000000000000000000000000000000000..2557a2a77940f6c500ee5fdb80c71825fa9bb08b GIT binary patch literal 13459 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 z

  • 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png new file mode 100644 index 0000000000000000000000000000000000000000..cb395e53bd011116dc3471e6880af91e4e8de709 GIT binary patch literal 15649 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV0^&A#K6FyTv9cgfkA=6)5S5QVvg&c>yuPG zC+VhLshrTGax_ys|DNq`-D>d&4i|-rL+p+$@eSu0?|op1*;c+ReOYDUxyVT;68z4d z<#9io-SB4CtTkr}%9U5SpAQTz{`dHQ+1mRC$7Wf0vMkq^?Y*q>&}qX8<7L-dyFUp# z$-R2iQYL+MZT7DTmnL4jXRO&OBAc8UeBEmHDvw7}FLT1JmPc!@)%vvPV{g~iaGw&H z^IeZu1_eEvD0(R>`pM278S%&|PisT9&fTmqIreRja@m(>HH>&So#< zRB_D2*KJv_WN$>U>=93qe!p*Dk7ty0-R{*gmzH%6luOMNtGv4{_r2<|*6ztFhb~0e zd_D8>4~y`rEp8U#M+@hCV444I$L2G?_kAyXzWA6#v#0CB?#le%>)tAxO7$APT$VX| z*`cHN%9Xa}CbxJjeN(b6{aLZGl;N`vA2zMJa&9K)wgYmzwsmd{oAcQ4UgE>s>*jYm zN#B#+{vtImw|K?g(AxZr`LCtC`wk{ZM2M|1&0RF^#`mK65@WhLA394oW@zRb>E|Mx^7m6hKjyUx^wB9*yO{)nd%#y^=>&%l3#glaoeaoEwY>m~F zpL%Pi&eJYd74m#`JejA(#>L&IOlf0eSi-#@my}Wib=($TOt`XxYx}W|#CtzX)(QTc zcO&OTr6-fH$jx;xo^wrqBqdRHy;LIErYo^(Tjb;T!di*kmuzKniQ3a{+|W21I`6qx z+0^V09G_lnFp3f1q2Z~lxp(C^>%~`3UfyW6ZQJ71*2TM*iL5-}<*8WVeb4;Xu@skW zrMq&aYnW>aj(tw?pPJhF``AXWlsPM|L|&gIR-LdxvZ1**TvM#=w$yIJcdNaAWN@cV zPc;@aTVgExSW}Iy`uR)0+CR%8Z)P?6hi#a3_Mx}xnLvUi1a*3Sd-P>Y+9oxKQa#2!WoND2mc@~OC5>4zl zkNfW0wstkw;_#Wqk=JzYA9mglw$A3j+R1lg#iXCvTQK;SyYQt{3BP~iv3CVu@8v%A zS{c`)=Uku5#vYSeo*w48xvKf^Zx-X6uYBI(y*rAITb*qX-5`HJt!L4?#0~FPWeF8K zu#}l9H#ZkQlK&wv^X<9JOh>0fqc=Bi;a{aVy<_{sOZVitdL;N<<~2CDCY+6U{ZRDgw@T4{ zTh4Di|0nC>^-XaMoDFh1%Q+54sBJ#^Ei|S(TItAx{5Q@FG4B@TZmw&eFYsw6Zl51{*wKC{UQWH1l@RZH6|%b^%_UJIQ~a znU-1Iv|4_%`dr3AmtC&2S6$@-}${lfNQp!wDQ_{UuTz>#%kYGzo>C2cUN<|(biivI*W7H==(7D zAMIJ3ar*T-ySkG_@2!@{*laEfoFUO4U64Xqv5 zpRpz>R!+LG?bA80Bu=H58#hFF%}B9pDr8KI-CGx{|6pBp?dAi;i)Or;WbP%hndAGt z9J3vs^U@`@@PuXj3e!q^T^_T6;n@~8llJfW{jZKnefLm*nRYJu+JRfDHs_aZwG-}5 znRv#vZkAH+>qQ&IX1L7C**Ielr*o*JSl8>5mTzRV?Yq+U=cJ#V^Br;ptRlV?g?Sg4wjI}(uAKO8Q=K$Z=a-Y;(r@VOuIYAYsx7rr{3R|we7mxb_S_MTnFx)w7j>UjY(Ko!*724*@H#>8?|a3 zct2$xF}*R#>4Z;e_>01EV|@I@jQgiZAPo)IFt*7S5NL-69?4?^F5aTi1MmRk%%2 za94Ko+uQ$l#M@SgROSa?vweqbMsSehnp&zDf=rIcWH0B{rn^ANxP1kWtU2< zClt!%#&WTAzqoine+l#A(;i==7DVk~*(n@H&0B+Eb61Z@K(Y!npg- zFWG6G{eF)N6&}C6SbV+lRJomf=v(`R7fZ!XJ9x0V`}xg_+|Pbicf*`r)?3Wj@2xng z$!@m4>S)pt{~Zi31j22Xxc}v|&Qi6tc%gQF%fW<-zX!wL*A@w}bmzW(b!X+Bndeq? zosIarv2~>Xo~U%RaM}D@r$JE?d5(Lfl8x zTHpDO+~J4=!hfs&2X5YGSl{NKZtVMOP2KdP4ChzmX(zBw6su_r*rK~+^6O5fS<9ZL zY`ZEQu;9s))_qmYze|^`d}XzP>%qSp)0e*TTyTNcAShzFoP^I`F$Je59{f&IJGNia z^PX(d;$i5qvntU(v(c}aapEbid)&_In_ASnE?VBt&{+62jrsJvH%qrE$$D>UZIw76 z=-JWODW-7JY)#edb9$GR4uu_8x)b+x>Xm~ZH*UV+ziVsptGAmEUlp2=vH9de9ly`N z)_Sck`sBEOjq9#?%dO+h+YQt$rMQE?CT*GPQ^p;5Zff|q2dtN$f7rgIpk!{7Zr`~r z?*5snTq|y}3Ay!t%WK?vD)_pgn54ge+s_|1Q|2eHoN1rBxOhR)f{AMsXLuH`pQO|2 z&KuFpI<@Ra=ENC`Gq!NQI=fqg=P&c<@^@_%a<~ue7haq+hkKR%qg?4#CRSTfPtH|M0mV z85G%A>VEP@cD%D)O<}F?%<6^XWQ`YsC=S?+wACwl= zCQH_-H0^n}Sn$#84O_pgRf}qAygJF|*jJtVdpXZMQEO_7mNVJltD}09H|eoTwa4rR zZN}z@@d9j5FWOF@*U9yv!9vSPO0mX7#p1+o%?2Jj-+x}u-tDYxN_BGy<9=G~U(@a5 z{c~RPrE8|fu_rIb?fpAJc7HDCpr@88SN-$Wh3%CS{PI|Fb1>_) z5Z`icm$hZN!TVV4a<}Jw`@G$#@5?vQZN{YP&+u1??OzWzZ`f#czNkm!e%n;G`cuMk-<1qK9laM7=NPnWB_D15^+0jr zF2jkjOj=O<}GGV8QN19jH~OxP}aB#`lb zu222$s0bc^o%w}}Hyi3|gmHcsoiJg;e2W!^e|me@XDL{p@V+c(t8`o{_Q3tq&A%!N z-%KiI3gZk8vyu$5mr(4^=+LuHZ#xjPw=eyA$-CR8g;|1|c{^GB>eyE(+q3NOw|o3l z+v{KCChqNZd}+L!OFow`DSN20Xot@0>6u;r7v5GEeVOq2=DuSGwzzpdo7c3;aT4b< zkJBH2Ej_Q7P?)$Oa^knIwO&ikoO^NRxMgnmrdnAk=AecK9vPnNKfVPvpKvw|@=q78 zeq`e)RxsiF%ZS})H|w1B(R7-0_?8)i;L_HN*bb#1&!&2xvwnT-a-ng3gLLTB#z*1u z=8q3smmkdQx;(%8tM(7xJ%;yovpslu|L(!(ef{@aDp+gXSEwG#sxN!$EfF?p$&;Q5 zs*}679C7czaxGNi&#Mh<#g?#aEHo;0I{s3lw%cH8m-$JSn#*iUmoJ+8dP7}O)a26} zPEYXR5{g&ZEm{0(Nt0ptH?Qk={naNjlv-p7xNHnmOw2f5$k%gfQ%gzKl#~eV375a_ zzJEoIL-|pSbbms@zUkt3K56pICv3}P3P&mSGyQjZJNOG zvB!deCI9Y~w0{cr<+UEyxPC?4{pocjwDqd%gsBD*ELDDmy?I8!;0Hd z|CgP)6k+mi)0_(1nH8VKW=Dx!c=Gr>Tj&C{>n0W%fhynDUUEDn8m@5bVH?Yt&eMYW z?k>|U%gjYh*Uwvd@~h7I<(F69+Qk{iFP0X|zo(PCOTuJBlE|mEiPlR$lzrvk5s}uu zo&K|Pee$V|h3_l&SIqENt58W>{peMn$M=Zv-~|pU?fESn%VvphQ!QlQ?d`4{#c-*8 zLeafX?@mZr@M}8sNS7Zn-7!gENy`HxX3oco$!q)i`uOLYpS<_{&j-~tOSgaD$R@I{ z;)vSxic0y9Y5Q7yayYnWVZC7OvRM;&&;d}bN-GVJ) zE|&H@Cqr7^ev!Qzz_4b=WaFF~*BS0JD}#MKM)4{Q|laNis; z(_L}Hbk%~^W}X1<%}-m{&3ogymOZl0)y~5+=&M!*e-x~+6{MM0Q?ABl%Du(+H_5V|tde+kQ9nYKd ze7_hCYi`6}mAPYA7w;5t!mf9b`i@}By%uwQ7P(9fy<4;A?#tO{FY3R&ry6Q^{&U1q z;|1@v=ilwvm3}B=a-7^V-$<|Aujkf2JFCA%{q%9qz=TgNQj71NSNa{4ch~ED?ZRK| zIbQ>gM2H*??Dy5Rd!mxoizurwN=_Ac74Gt$Cwo_%XVY}ET~AIvYmxYTX8%R4 zMd}f^6qw3C?GFCW7TkXJz#-qF*0t{~pY4)6!qIn;d8S7+&+Cr03axkd2`vA&Hfrzj zX@N7-i@06Ze`Yg(nY~ES%Qr7V>CShn+Q#Yr8prS3oPO)5dp>E(hn8<2%A0KeDEWG} zJX)?OdiKvVLA_-|O^Yt)0Luj;0C!^$X2bWJO(@F*QP6spxX_zaRX!n`dk*T+(Ku|A+6LltBNX z=?Sxsr+tZ)jz9Kf75{#Pgk;St2B#gD{&rYkd3M^gt&w|Tq;E?%h7QeaGF5Nn!8n#eSB~Ei~f(y}*C3?nV|p zgEs4!6q5@nRmX1jUarooT)%y7^dGiI)874Exn5JWF@w9V|8I!dC##UtY=uuY-F53- zbN_vRUE9+qPyep)Xnyx)LT-dhhV(6+Qy1BbyKX(-Re3C|+_!G^_BF~SJ91<{Fy5%V z+`I1g#plkM0j#eMKK(MyFM6rI$lFEMZ&tlnW${CHf&a~jOb4w7i>e4CcTPU8!@N(A zD9V*pY`Xke#&BL&z?2hH4kqqdc>l3?owkhkPpe`>f|=}0wu}wm7j}ti*_Jt8ymTgi z^P?)4WApothumQ9S9&KK?AJPjA!otzUy5tj#M&=-a^;ue@+-j^h6}Rh&d$x1>~dSD zm7Us`w|edQzg>s4&2F2vPn7dk7xZ7I$oDPoP{ZY}lgC4W20E=zc3xLm1Mxinf*H%Eq2_q@<%! zQspf^d5z7#&wn2N5B%-9zD#JFkuUdBR>Mc`@sAeQroZ0w^G9O+=5-8dGy1!ZrMs_u zxw|&4Z}G_^jB1ayWgkTf{kC$d@!x!7UF-yNoh6Uf9-iZH(C1U_-W```mu~-gb>sU< zCjOIogc+9m`TgrOm^UfmyNLAtBI!r_GXL+HTN}C3H0)}rbU+Sc(ww_StL3Zj@&_s| zx>4~%TKfJLX3=-^{Fe)_idBn#9hRr?SCd8hkJ#=u1^$;SuDtPHB)ws2Pe;w~Z|)Q0 zoG%;{n)zc@^qqxoN-EE@%P_2T|8xA)*9wld=-MBhD;QJVm5!u%t=R7SWUWxjw<)#! ztVM@3a&$u%1WyWGRn;TUTjq7ja@N*kkG6ZY{Xg;Ggr39N)bcO8CGRJ#{+;Rhht11u zW=|qxP`|e8s;*DQincF)JhNM;_-^+e@lBq34^=aj_pgg(HMBkz%)|Lv?UvkD|0~y~ zSI8*Z?J)hU6~ep2Qtz~H^z#d&NtWcw2XQZ);JwkQv!W_e?*9q(`Q0arrY?SIF+{J!@7&-b@K=3ARF%~*Hks@ZQRcTLGh=j^$o zvNNQeq@H%oj%duWdAE7v%>QYctagWb%;!2dy!f?6_3!;=76E(4#Y>LNIl8apWZ06+ zK0f>3-2Zo?d-fI=gCkG8{98PJ{9ONmV}hO6Glth+pKw?IVHXoI5Po0BZrBq)d-44Z zF)T?%QYU#6x_l-_+k4nPU0YJV?`!w%097krr+dY3{tAB0Fx25(x;o@Y*1oz!-Q9bc zWz*9Br)zyK`|bAkon3S#%6(yv zi1ms6$yR<-*|LA1{(nj}|K9(jEgtTUQw3kK{19Bo>LO_;_P6Pb`lPJAamUa8HQRSo zNX_e0&X1~j!MQhPB$^A};)}V^F8g5K>K7;C!-}q)ub(;Z_xxQy*QW;my7qqF|1=ZJ zPVG}?m(~BTXP!Fuo$AqbIn^S*8C@UuZ(+CRZS{+;+4tu|yT>*MS%HGtkLKSzSih{{ zNp)-eWFzhOjf~Crb5Hf&_|;~#V6nbfH*3#v+5c=Up)dQ^^KCgcYi(Zeg?s<>R>>zg zsz3IW?PaU$?oaCd^TS(iUeDEar+c#=Wv}_k%<#lL{zib-*43i_`mM?yy`SAYKj)`% zYxBDuxvLqYf2aK3?a-v*?JQDP>z+KpE%4wXjh4uO-?N!+25fK;n&kQY#?ttfn)Juh z_D`N3_^yv%mtlh9ruZB))j;kU4=%(w&nf$9-OBCwm($Vd`;q4D`#AaEwI3Hg7<9E( zVsreTcU}5Vp6S^sE{o^)61<<_*(A4IcFN&r(_a~jCGCi~|MSYuww3v{+-GvW{pXWz zw4YMz)7bDSb4dkHUe4!ekv(GjZ$G~8VU&E)u64G5P5e`Jp}rlVT-Rm3KRw=IUSVa{ zy(?kT>r?BL_DjCX{J?lB@ml+o-M!nVDx71HJ$mKKtm^;qFVe2oJ1MA&2FV8nw zYstUrZq;RWXP-RTpS9|7gg^pUMCY>!#^srbludSW6}JDoZJqX=i@TQ@YoF`;`Re_D>yCDv_ZvQ5 zulqRrWM1Pz$2PUQ&OPj0%}F``Sfl^)g{Iz$+RCVSa@DEbTHeV)Hl8a>%U|65A$|GI za*6T}{}W#G7N%%932QH{D)`qbUu!BcXW1J!xvSrEKDOrbIe(j77WK*{^!CgsVg^2Tf8EyPw>P+mEd2FhI%B`{`h{)k zXVZ)y{7cZ(y7{|ti|}ddgJ=J!AK^U1&gNe2^Gx;Yx%syq$FB~nG@O*@=~}sQ=UMeH z0)~I5y^^%9KV;0V{xI0#ZNBriiEgXa7INnPo-a^f5OAR4gk#dBsJvSDSx+DLs}&UT zu*u7~%Cfp9Xl!g*`##}@*fR#FeZTIu+i>PwtIpC)d6|0mF7qpG1;we?-?WK*`W0^d zlfUL)_iFwR0ueg5|D_lH`M&Snqq>u2|CieT;*CE-pXQkDe<}Q*ZNK2>{lBlSmpzm>srP}5T#Ugv zjqKt_uQ#pQaP2^vROS4e;q_auHuCfK9+*X|a{AxGDGhhdI|9FV*PlKR<zqsu%HI*1-zLkan|;UoeaH5Tk65()marzwNiVGZ67LzgT#`}n=}gz1 z>jZCn{iA-++1B!!%KeQ-oBu16tVnM^aE#%$qd*YnAwHk_Z-)a~mY@3aX8x03{QG{` z|3A*Rn_HNpvna>n^M8(DKI!9^g8$Fz|Mc&{dX>+67kn$p;b)yUA!yA(XO*vY{5M0B zj&{et=AG%oqsv|IAdz{~S7cDJWu+h;oYEZh<%8qfauh|sTNZAMa|=9yj> zznLqpb=~ce{Cg}*CC~1yOA61*qe$!ZD@WAk~e$eMRyW$T|zxPk=Lb}({%gmFF)Bd}s zTWc_hzWqD-w#~`y^%vHbK47SC$q0cz^1g=H;_GvukuOsp$Is7jWHp zI$t0{=Uu`j5#{vwgVu|#-WS>W%7BIURpsqFfi)kqCyAcbIxL%LV&Z!DYtCD~|FK`z z&Zs^9Y)Ry;{`$ohJ9c`1Jm|MCO(7zy`%6jTY5D&z+~S?2m0TuRoZ0_oX6fwv$rsjN z=y|is{QuTV;k%!Bg@%=VJU&5W@f|*P?IrIQE?RllzOUn9)v9F%jH}#s3NFoA^R4c| z@%yZ<=474Og=Vqqps}ii>y13yedE4!QRM{m{?jlzr#yr<=po_ zKAxW<%usuA%I_x=PIcHGNLu9NZvSXn&hy_|yS&z{th^%o$AvL9;Lwdfu2sQd-wUE& zojwr3x=4Am`+g6loFR;#3Nn@Yp?34ZFLV6 z&owY#eH^eU|H>Qh?f<3C6&K%j3BU3wuIgL+it1}? zUBK#9>0|f(?xYoKma?&#{aSVNe`gdk4(&TjqLPo(A^Wt5KmBO3jv{nL$a*H_gzB>g%v-{Wnt)5+k<)%yRX zj$1CZ?*GU0`S>}>hpWHWPhGgu&v$=mw|&y0r$J@e?!ARZMlVJ49mPELcK$qH_Rm^H zxs^}j*5mspH!g6h5I;G0^{IfO$44X+S9I?cS@*gR#3a(*5wQ?9A_E=Kd3~RYOT#UGT9?=G8eaHmtv~h63r{3 zmuxtXYi`-(UcX}QdPNo&y&s?a76nhfv*Bv2VAkI$SNZtP{-3B9{!&chF5}WSm)5t~ zGOkZtyg7F>v$*?O4hW+@HRb64dWA!u_6N{}2C!N?Qa@cUy z@{(;CpDd@VMy`JA)ychUn$Z8n+0Q;~Te{)K?>AhWj20SBf4{J?^>0vTc&U&T;o>go znlAP|=9}c!Vv*}BdiihPlFPr=o%TO`jj?Ek`D|a=*sSZn_wDdn&QWq?wR#p4f8DZK z=>jb|oLh@e2QOcG=x*o(SD$t7)$*pq{+XYt(p`N;YkJ+Z6MY;kvYRL7)NGEwuRgI(vvh3fhXIKcnc)jqH-|w%B zCzNkF@=9&{k!Oh>lPG|zY9=4n z)@+yg6(+X+U(mkaJA3s^NIL?0_@R6p*2f8%T$>m^5p zB(slcC#NSE?N}h8dOBI$ zcVExl?hA+RsJp6kim^%`l&@%d+k0oynHMWMa?U<}Ip2o8Zu`M?f+FjA^PYtF-w8;4 z{aHKq<>DL*ZqL7sSASQ}mg?CMI`h1&^r_u#5u)Gr795j5qOQOC-By|TNhKv3pO*Wd z-nRI$w!`webJwH=_Q)A&?Q}Sies&jcZR(*r&8@eei0HeV_ugN5YLoZ6KZiZEI(EF# zioYYi*6RK#$t4;IIEpd?me;K)$)+3;x4aPOd}_)54&-?qGXrF$EOqYWviGY_Bc<>d;K|J z=VF!qSK177FMQ>8SdGae62~&RszuWvz_13?jDgFm`J=9ri^Su9^O6DzQmRk#+v0FxV8mrn1 zubOmDPwvD?-|4Z6U0bRYoNi7%^lmwm^Oum2Om1Rl9UWU25uKn=Ns+t^P5WwZ_GCRsH>=&Dk zV4UJx<)O;*Vn(ZLgYUi*FDbaqkB?!!lzSvo_!T&opirj>`R}z;zLKz8+8e`Mqko?WhlKl zwswA$D3|GxccMQgy{?e_-oIJ+{ujkmhu>WntoEK-CBDv1VAAXbYpubcXN$o1>;N7SgYiZK9%;Ee;UIWGr+Hd%mKC%d1G&l33t#qvD zVLxlHvnO)idtcqtaaLM5c2TMIp8ohO4O_tN-0$4bMv^%hopfFotXPSN)q7YsaIjK2Lo9 z!Qfz4{cKI~IdkIW_sY%6TOr)UV?2e|%IY)MD%-7#IB)6-f1Yzx@QF+sTekccc5X@0 z#+U6)jgJLCN*t263V!_fWB95n&rIJV&3`6&p8Nb!bd?z;8)bM40|2@8<=PolHxPU6BpnzvR!Hr+SwD?3GN@ zG_$U({++U9jZmHKlk@91-dJ* zZ@R4O*&5rIYgrfmB79EvEFnSRMSL5~mnB>IJiPq5_Uoyg?lUCL>)$wheTwW#7lq~p zFXaCC1v*6qYe%yuE{PVMztn1j(UwJl$GcW9`|lyNYrEjeSgXyFuX>NE2z%ze^qBO7 zwRF+$sBO91?G`bqC%g}~D|)?I|J7l3Mb6`kY}jXJg}J5o1s%4&KKpR{9krw1zG_sk zvhghY#$?F1LpnG1^4;D0^d3Lb5jDGK-#s}ZMe?1k$STd}*P8`<^!dID-rSS-l+$X; zGrLW%LTg?b9nkW8X+PCyriGmFIqlsweQPBmwrAfLIDJLQb8AL?P@37h%NpPQW!%(B zeA?I8Wuc+G=+EIfY>uf;v$$WpJ9P4(;$)ZY=WV`r8|MF;SXw%xlhOapVaq20n&xd& z&IE{YvCmqx#<=wQ?_(vkb-`axsaKzTB4X}+N+v(#C_Jeo{8JP zIAlh@^^SG<>U?z{+kU3Z14%y$UbXh+9h!f-GFrbnK!ibT>Y3NqHNz%POiWsP<%Ljc zs*I?+)5}l|t4Gy$q%S(SZg`ftrTp~zc;@E}U(IZ7_jny#o?iM{tioB(al_@yiK1bg zR#l!iTD)M%i3<#>u{y!0n2wjpTXZb9+IM^Uln0;A zdM8*+Rhp7_i|xL;*0MhJH`fdJ4(QHj%Do=cs z{Vu-D`?0stuiS0!m($Mj<;*+PUJ3NNXlx5rsK0XD{z<(xtF+WC?H7yBb=kGf;Cnvp zlktNu`)bZ69p3!exqs%Vy=yD>RUgicTj$hXysJ2LNuSs6vY(q~xV|~_H1DHHl6&PD z>5bkq*^aDJ-D;aVUujx$$n6j{ll!S6oi3lx{r1m&zo^=qchBR~o9ek+`a~Gmj5M{) zmp%<+T%??p^4a-?{1d*p3}4x0uSR9?O(`&x4|-A65Vc}Ub8KhL`znvt$%hmxczham z#byaTo}I_67m8N@_9pRFmziiK~gUVTx zQ$y|*_4v(8iq?n@FYj6L@V|YC=+xrXJD!L9H!A9%Fri)ePN4bR%o(o?481NK^R#$b zwBUz}ME=S*H}@Am%DHpaS&re)u70)Yt6Yz-Di3+XtJ|J(uZ~xq_oNW(jYI{vVvAY+u8S7u&QT@TC2siUoY_|4+*2 zyjNKgxOkG1%fnZ`ug^2wv5YAD*|Wo@)TF}d8;50s`|`}BRBv|<;l9KTCL+$O%-!ZE z-1u6sD!Zbz@ylV&*tL&iE=tE{UAVUGcK%CWox0Py2R(cG{W%Taudwm`-&ygSP4?y* z728Cg$&Wb=I&a5%=AmcHNqy^1Z6w5Bf`H>CV+?+bP6#Y2xpfOS5-I zBx(Q7*gpC8*7;h&_Rj?^=FfPy%!YBNmCy3ae#Z`{G$tBA?LG`FMC!l)ox#0v*h;NV|lKMk41hNojLHT zz&B%oq0OG^)%7Ya(|G zO79H(>YliD$>q}>M;Sy8E|3j%OW#;9v()<5xy;2YEO*4pdm813yOsFfj<|WTbJm~U z8FSRzX3i~|UHLeZCG0*tl$Uu~1q zlDRUq#d6tXk+N%RYRf+Me3ttBGWGIWfz%$G>RUfqH(X&#bNaolCzU6GZ>FJ!#;XGh zuX~61&N+H*_Jx1Jsgeg9E?q9(WZ5!xL*Gh4*)MJUYQi}((texE|L|mgi`{nJGpJXK zmBHol1y{fHkD*zS_V3Nxma89pob!|Kd+6@)1&k}Qg`_$ZRwQhDVwbsx_wQ?UKlX`d z9kTb_dl$OIaz*tjkCT^Zb)!WU*>=Sar*iC3jZf=Si#Y zNpAO+*jMRUDZWTE&f$F1oiZF3Rcj zs}|&(yJ_LZ$`{MF&i?K!x^+GOuY|R(6YDp9YMheT!SX`!vebm{^7%p?N?M@-yS27n z?0FgM*u=Wb^{LVu_nm82NQf+ovxw=t;J8AU%9HYLE~P_B)y4C4HxYR@~!m| zT^A-{5#xD$((jvFVxy;S%=>G$M=X2&-1ATMz8YTAoOtW%p2f)t*W8Sjn(1E4jP&3R zTe7Vxy}``LNLPAu-F%_9AuAUw{=a2L=CqFimb%_fQ~H9%+HNTw5wS6xxUhKMN6E0Z zdn=adF7}!G?%MlI6~nhz82Uq`-|PbnYzn9}Z-ly1YTpSao6-BQ^0Fw2r>H}-Ah&65?q652N5 z$YYDMp+^5g9<*of{H2`E8E`OQ?d~-xZtSWClXXsCUR(V4+2adG9Jjg$IBuPG(~~K! z%F<);q9(^3lMgm&sCK@2b~D6slh>OQdydy#I{2o1N5e9|uGlLJ9)xfoms`SD*fOa* z@8~S%dGA~oK3T$2*umFd8rLdb_p@NxN_GC;-xi|I*Vk_7wi93w@N=~cc~#7*8MKP) zJ74yygacQYg;j4|ynU~t!QOaF&EejS-?Kt`PCTuvGkxgqIt z385*!bx(VyeVBE+?y;b2c*D#a&YJ?a3uY_Y-r^4|kuwVqlh)btxy3>0N6_u z@%vu-nm?@V0=K?kkJW2S^EFGu4@~{M{o}c?3e_l)z9Knhk2^CeY&Oc>JIIzQ;_vcc z*OeD%db9gt4y)wMT#=&~DH<0lSXN@ey8iI@gPqlL-&{H!%V5p9{p~*CWUkv+$}U`1 zyYMpM-LnxnsA4d&3byOW7ex#g=wd@E=|+<5Vqb`pO<~#_DHWoGhTYSr?2@i zJ)QIGbg#{C_O3WRZHD2TC3zZ(eIFc_uDa3VRw^Rx@#S*nm9t|GR1xx-tF4&WvVZt)MMQrh9=>(HPu`1qRtK|~L zT5>b)9j=+3WxT~^Q^vDv?<=<~p5*Tyzj()snI_HQM?Cd1!(%*jS{WYMPV?Tqb=EwO z-$6%`{bJ9~YL;aQy4reqp#;D5mzvOX%2O|}x#t{F-fVTJlV zdnXD>|Khy%`CP#C^7hEqU57-jf3XQ)x^|;(+sp_23r<`(xcFkCM58<|Xtj`y;@lX4zi#=xhb5zQ4!K5R%WhRFO@|>J6Oyn z27O`4l{l|){8!lqmm3qAEK9s!HLHF&@%4ab?B;^XM^RPZuU@+*=2*U8^kbHZ)*IA2n2a`N)qd7GDgpR6jPvEuoHEYZDf>??ATt$6O3Snkyf==FPN zmY3T%{pU&Hb#o_69X@yYwL&LuCm@L z-LIlE#V0rFWwyG})wQcXY&*0reN~iv!`W}5?6)LtZq~@0CL!lsbI{b&$mxOd{rrX> zU;M(ef)8^zPCfZmz*y^)|7y;&XO+zi7e89LN@uU)w4}(}?Z=Kbwf~Xac&1<(m)t$s z{38}q*^ZnPG~>}_d>~nPBRa{?Fh+4%ama(aVtFY7YB}5+VkQL17_I+O6v7y;!_m2M z#@VdbU(PKzsW*AHZOX)Tvw|32tmIYj?&N8Z*u}QlPc^m8X?^kgU0YLpCDJN*HNG98cN~Gyty|nL~t24~HSMVKvoOhz8L0FKJE9lZ`nXr%a{Fdk<^npdv-=2UZeTCVfU^}Z1=KOvMY*cuTBojVL#q+xVt;$-Wq!; z@yr0_SH*d=3i|m($}0k=E_XVxyj+gYg~xmTvMFkdE#~@$>|Q25`9;0Vqa{3^Y~IC< z{~BIivnt_Bw7RhE-1dtp;Wsb5Xjf+qeYO{(EqM?8>F8>{+2eQl=c!GyUXPwtrCqDr`D;gpMkoK96Pw=hyb$x3jSi6w z$hrEoGAbwJYe)8v!>dXTN^g9SJ44BUYtCfhzh+ZPb7pwoP1D>I$o|j&&A!H46Sk$! zZLqi&#jF2_MNs7Ag>#+{SFg94{XlP(miIJ{O~&VhUGq0w<=ncaaeb6r=aP2*%Z2@! zY9(p6RDb&1oHRWs%<|#`_b+U0i}&`H1c@(RTe3)1r_uABww8JD9;1>F&l)SAhE#RS zu$;=7r*^G+>@=aU!nya^f&zutN4lr*>2p2eId@p7X7-V&rBYpMvvbVuE&8V}+IULq zkCm@TX>k#+65GM%&~Ske&OFcK%MLKjT)VMt*~%BK2QHsf(JyY~GOc>hYCednE?8z>S>x`;^)~{AViJmAAijnsXxq0|SGntDnm{ Hr-UW|);1MJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png new file mode 100644 index 0000000000000000000000000000000000000000..caa9486f47bda7fbd0b03eee20457dc65e58cb96 GIT binary patch literal 15590 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV0^&A#K6FyTv9cgfkA=6)5S5QVvg&c@Z#9W zX>t{3?B31GerU_Vq{4CQOiEZ->2{}AeG|A_<(6FNp7&)@yn&(MXM_DYa_+XX-knglbV}}R%YSBP?;K#S5^@b)yf>dL zG*0Vy_G~hdxxH@HsZF^tOQhSDW$p+*`ByD2NW}O4c3JnIb&D?sROV&ux|g>-_V~fC z(^5-imS@iTA>D7@RPA5qbJ@gdaaBS8@s%Gxe$?RMzLOOxVg7FADWl^lk8T|BHaJw( zR^bvVIU{;n>JN^|lLZSs_}*>N*?sZAimuzmB3GCG3~!g_b;BR%F=rJl1}i9uVHMZ=hqnvn?lJiCx9|0%cQVQ= zSKY{4;kW&Ej#**0h->4WGfBaM{4} zjP*IAJ1^TF8l29Xdi%_#NAFH)ae0`Xza-M%zQ91D=I()|JK`@lxg~#jwI=g+^QMpq zXHU2kRjv5&pxffus)Udkddp6R2EV$sDP(i^ao&w_o(GQhvYnmDs?2lP#P|KX_aEDq zr4}xAS2Jjo^f2rGFuzVFy-a!A2BBTE+uC&8H|uzFaB*FlJ)>|EgZ70Pvo=>h-m#*= zX5G0BVNtqPcN%U^34JQbw&mzD4jbpVt0#-O!y~S(u;B~3W|*mC_w3dt4c!&af-IU> zuH`*x-@VGbPc%fJzWRv7y@#R!LZT^=oIk((?oAWU@4mbwRBY{{hFj{-kN>(M62{yw z|7-56cb8uHYV12<@=?&G^J;<2^(B@sX0RRc{hC+Q79o84tJZC^sI_57w`wI?^}T*& zb)@TLcjcF3b4@;c;JN-(eQ)97`o#(Jcd&13x_Z?9%n>7B8;f&6$py^9os(Fi-my&C zT@?G&eD;Nx4+|Q$zhFD#(JYa3_XPLT8+>u|?#7AC_;q88@ebcY{&me$J~Y4n@WbT% z56?h{12g7XT6Vj(t+m*YrE%~?3s)1v;;(zy*5y^iNrpzsWdFD}Vg9B!p;s?#YxlCO zQ|EVH{J~nHFn33V=oJ=kvC!0>+g6J|{=7Ih(INfp?%mQof4(@(JXpK=?lC15!)pqS zEWxq;-J2RK)jQ`cvs7Gm<@fbjGnyt&XH{U`ywZf1E9laiKPruu0hPh)W#`D;;miAa zk0r!>RvZK0j!dpATX~)sJ8cfGFgWz;9T$^H^<#tdBt0XrK?`K z1XdNxnOcPfKHAEa#UQuKg&)ANODrLS21{`T!#UA?q2)1B#U z@A}TaxOiZRK*@}LEnm|kN}5j{&u=o3;xkN^&svjtfkUD7_3u@8+ot@T-F@l(DwXrL zGa`;H%$&*={UGH5GsBL%hT>W2kqp`kmd=`E`fi=bgLr-J%MDGB=i6O+&7^H8e?l() zwO8xgiL0((UcB#BJ6B(m!=2Klp-`Y zaImFVe{nVq2`WxlWXyelvticzUBX^p^YlI}ly?hxc;VZ_V+x8LTX$~gdD<+pXj9AD z#C5YCT)cZ@O8Fjn_ldiBou60mKWZ}kvALUdn#|z~3zw~|EKTz}o4BI6A|hd4pbLLP zep@0-Ztk{O6C~zwB_j9@@rUOr4&13 z!{N0rCVl;PkWcaFvq$GX{&e5WF8`o`?MoHsn)em_$G=|1#SLp3j%e9guWI2*SQO^DVS{?Qufm-lCSUrm_xi4!%)CZzf=p23 zvWNqm!tn9hil8w==flimCp07>xD7b5P$9Tc-CkiZ0 zJ$_Q<<&q_m$_K7WsNZEuF_O5j>40;K9>d9x2^}{q?AtCbG03nv@x6HIm-@P$%Xs=& z-W@lvbUF|q9>p>>v(akiyANUV^ChFieCBV?n!%OR>EI;I&cA7uiT3hmmmk-bmUb;% zez)*KE1$yOM-ofiOKr`?G9M(mrrW%X-@a?^r&n9%%qeYIap1<}&CbQ&9BsCz%z5+K zN?_~6r|KW3eLPv0I;$d7vyE-XF?*Y8_^1v|x+Q7li`b>!mS!wmjT*-F^4Z7b5bdm6sZ}Z-0{) zdRH?eHLxM$&fTvIGtYfd^3m&1*61+b%<-hV|GSZd`UP{}2NxOS+^)$Um%6=$v1s28 zOCj@JSI}1jrPEu4oep0WmF=k_FZ&z9hJ=nBm`SZ~KyF?~sb(d)!NLHO=rqZVU`_G9Dotut)_?@lKcHnSs z=#FbjI?nP8E}ljr_xrA1&NTPiT+jQrc*6m4^+1`Aaz-q%FWIhL^z4@TqW-AigF%$j zTZUh^Umu9-aBR)1@@ir4aPUfbQyF7)W-0l71cAzXF6O-!Gg zE~<2D&*2wp{wnJAM=Xu0&iCO(uQUHIeS5EWe)2@m&8K|Nn?8IX!>**2d%eVFx%sk5 zCuY{)2#DJEX^KcT%d*G6TO1T_{K#RPa5O_vsY1A>!}Y7@q1?kVJ1yEyNt|_KezJ0I z``NJ7J1m+G9oTo~Hg}Qc`R18!m%CrR6S4|h;;G!l^ZnrCw#EZwVvBgQNQ7%-NoI&YO3Raq!0bSNXODt!LI|PQRr7tY@-qZH?F+&&^I7 z>`iyKNcisLo6r6}aE@GpYit3-pD*isXB%@&x!jv9p?qf7&HYTmUt`X%pU6M0(^L9G zhyv@%9B)JOl>^Y(~;I-Q3#RwX;lTAIkn$7o%3IV3`D zFN>qvjK;ZN+Z#E14OUu*$ZJ?xXgq6SUDGDP1e*VPB`Rv zclooAdn~#(rZ`k8SWa8HP&zQuMCuD;YwpZLFMDrW?BZj3`{~Ba=tC_BOj=h+OklHZ zYg&Bi;hz`F9o-CGY`<@NT0M=I)BlCnI{&#pQ#EXsamYX5%}?Yx`LK+A1><(6#xDmJ zG_GjQ&ZsNg6@N&@?|b5{1Rai(TR+ZxQo!EiX=2;3%3;&l5;lKHA)0Bm; z0+?K+kEyOyyP|sN&Lx$@@e;Z=hGGRgjVXTTd4H5QOV@O;o^@X~>9Fp-mDx^Hf|Ooz0eg z=QHA_Yje$(nY)ZHc5c$y7vZ-v)8ghPq_H*~pKP1pl${vasn6=#$#8P|@vVCOrn6_P zWt3of-nROZ|F?zPS}jh@`K)PJ^(T>mWu3ouM{mQ2ZHomicx(xoRF!;I!1;as*3V4; zxSF@U*L(QH^!(upuSSO^mBlKbCJV_J^*)lBBB@rjCA;aj&bl4b)mC-xq!n&7 zzlq+QVj$lBA*J`}^1lxaZpE@QG;nflnzEz&7`Jostp~rBR9Ex)PwPFambq-c{H^Qi z&)zr(iT|*R@SkkG@@Ls^6sjfX#85PadN{*5(85rG5+t1)NfA8rOIKU9VuYqqjtj z=g@6w;eVVj*t=K$a89-?suh1`+6 zx|;`B4p?+ek|^H8UF-Vd@*azzMP#(@ zZ%YXkU|iR>`J%L(jC9@ox9gnWe*S356sY@xeRYcEhbjTVJ^CdQ2?t+Ha$NMd)au$3 zCKgWN)hb$={bdX0&SCChYh-=#(6;3CM$fBVb29gTW@hR1j6C%GnDy(bSx*jLIAd(O zB|5!*epH>XlvJz?6W_i&?qT_g&?CAQyN&kEul&Mvsc}hA;?%2O zn56?Me}wAVG%o;bUmCpPe0{Qkyy1Jk;V zc@6hIvE7>WJo3W&pP~XkuuPNDXU!XZ3Ze+uJW6z|NjltT zI9IUmJ()i3(_H=56$&4j-a9UNvco|yORLyRYR#fa0Y{8fzH>EBo5aj^$w1&;$(+^6 zH?~~Pl6-YgE3$oI^di2sVVCz=tvgY=C8uubgcxH7g*9Gk%pU}NGpzny>nktdPuPC@ zZI*X-d1@uQl-uD262*pF(^jv{+9-C2{qx@5EjlNo{Jux6UjM1*RNqEc_IT^LW+4;K z+_1R4*_O>^W5FE70EeKDY#-G6KGvP-T`8LSm04?{pv1G-(7Qh zD92m)&+6CAa)~#tmDl~xl5o9ss(68o1?QD1KNXtq?VMGaG3U*l``-^5FA!VCqO?jz z{`>m%zC3423w=8-`q&~!|oXZHOy)sC1wkMr>T`zNYx7vxm^=JYu(z`lt4sl1<_mOe-9hYSP# z6VcZ-n&|Pj~DY5 z+p39%Cz8KuPiIL`GfFZD;LLe2-Rf>@(~af3r@fzTu72@`%$BJQ)w@<}YqP(IzV^by z-_SK~ZLCoG1@5k?3uj#6`CvU+iTRk&6IZJ{hg@^d zyOx~H*}RVV*h{?x<((_NP9J+;H;GS8Oz+^yrR##d4*2BrD^ETnFV_B)rDd+fw5I#f zH8HZeU#ntc_q8!5$QJ0|(QRWdy8A`?+5d;LFTVAiJAK2u^^84FpCn}`EweNfw%k`% zG~ukCyE^-=GtT?#dpVA4xVv|44E%nwJi@bK?Y13J$9K-)%rl!lf8~1lS#1wxbAIWV zy||)!z@?z{h2GkO@3ZE=EZvg6K6797>zz}M6)n8>>`Tz&M+a6EKN7h4q2_(g?_`sm z99rw%*L^(q?L$Ru9nZ)4#||#rw`JK9zR*Ma4$8fcew_6;R+E+O*x&T(fP@7K$J$Jf z&G`NPe@pA)a~r3mYtATAQ)^N*sA%;}WK~I=9sZ=~!-rL!N1MGiG6iIX=NDG0g=??W zQ@QNz^In22Y+Ye#OTjdm=2iU)JPXxc9J?&9D+LM8Cr{^=MXyf{KL1d< z?oGag-06%T7xr0bG%;LsTz^~l=rsemQ@ai|KW$&Lj&ItD)m@kC#yO966NiaUp=i$NHwH{r*Ho32j}Y-bpT#uW+nWJI7?FaLu5v>2~z% z7usU0xBim-8#J$9DWu_$>%@JZHFxbd-#q19;mcI+W}V%(YwIWO|8er*D-)@U&*Q%y zRiCul>&)L$ovbjU0QT9d%Iuz|7#n%Lf25FamjB&+-GXH4_n&&pzkHr_@WTQA2NM)B zPRlW@)?%C5rW?AeD9<%Mrgg33&og`VJ0ef=&ae(}IN`B)e`tVblyRM3*%^Z~hL2jW z{wZk>-SG4H&FAJZv)Qvd77Ba}KOTK%`;|1-=}&ptt`$T~3RwQ|i}Tylvll(P)=+r3 z;n1Olfu^%K6_kzHo40%u=WE^^#HG8_<<3)2*-203*BHuG{^^iO!#0;xQrlLq>2dla zI$`~tUk$8&X7{Fg`{$lC+IBnFZQ;7vfoEmHO}Z2X4ZTmTe0olOg3cPf944Dd%XosO ztNlCCq57&PQ7S^s!ZwD>^YZSeJM$g|6-P{&-h5ENt5J25jm_qtCbOSDzk1ExNT6HD zC_Ikm6OT3*8?WkdgCMo(FSIvY`V+lH_i)aGQ{C?R-HX=?cu#Py?ULH-y)khH`wzj+ zysuyPZv1p8_P5-VlQ;jKkxFN=PW&mv9dP`CgioyM(OD}h-U+U;`29;xWj+7i=|N^k z+CKOO%n0bXEo3(@GJNUVntOhiJCExt-nn-1dQ3vrmG7&crr)~$y>g;^;S|1iOBcL5 zpc8uSZOLXGo0|t$l~~EXSZTd=$}YV(LLM>g6_X}k^W2<$@6@Wi#ewJS{r1;6NZ9=O zRhRP9^4jUioGpb(_SIn?jhgqP%|%QWty@0#oyF?)TiE@-EL~o@n(^<$X48s8J`OF0 z>|)w6_1ShcZTvH|EN{;H__y$APND!yg;||~?T57?4xFc#&N;rms`Nr72_aXjM?o9C+=Vf*blR-|-Z{P9VxIWO;z+tVtYfSo(cQkJt% zWqSYp0msY>hSs?og8${VWZQp{m0ql4e(#~&*8i;e-Z$BgTxg2Z_VRF(Oq_ix>i5DM z73sS6*B|PX*^5TY`<%YE+9;(avVqCV;QSRvwzjWg?6C&@7w-J#@$M9i@=j^nTCQ?( zju*e*>X*rqGunI}-H_x{VwpNs?WFa&BPk1guV!YfQx4XwialkT@O61)*MjF3-iynu zzx=IEXbSV)dTXz^{mM-n1gqljrzmf3$a;P=TiNoqrYqeEAV=I=>mP`8=5R48KEAAtjxMOJhq8g7jXx^8Sy zd^kIzKW?i1|NT!7r*rtXC2ak?`q%UL1@%{dMW@|*pegincTsrUlG*Q%F$l!pXFp$e z=E>Wi&*NXIX`Y#yul$LLWrN)A`CroaUzW3Bjb~fBy>Sjx&(BZYKOWCFF%)6F##3e+N|)Te`uqRO`}c|ttP*T3eX?-<9u_Za z_SYX29X@&733_XBFf4T22bQdLYxg_;Xkvf9{@=2X57Tu|KdhQzeo4@K+74smFEi{r zS6u(r{^=xtM-cOiXUpxYmjvtRhD7n*X?|rmpU?H$m$J*|G8uvjWzUt59=-3k>kreV zE|r_{=IsZopY%BCH2yihzHRmW_=9Wi{hzqG-7u$?!6s|#;jL?}UQY{{C?T%Va`of& z??(>_TP*tat({@cdYxKLT@{5_sf`WOi!b+j=?mtsyimyYnEONc^Vj)q^}l|9x~#uE z^yaJk{r}GHe`h*-%SnY3_x?`a=yRq`@KDBGslRvL|JSSe@1DWezV%bqkLUjv{`(f6 zY@(2T^6>Mg$L$XuoB8Ivv#tKzs$ z%k2Kcz3(o|ufBVJ#-lyY-7cMTS^V=4cS?xuPsiVH=XZ(A&E$_SmhStb zRP&L2+6JBOFYk`NZ?@p7|Lfi(=-sDqVa>*?mEWuzQe@K=wrQK+w|cT&tYh-koU30Y z!&m$GvvX}?%6z;2b${F>$>!sAKW46D@DpH(&9Y}n^*w&4VYkoY4aJ^@zu2xlwrzZ! z+En@F!mK>Izp*+;L>%SBW;3qc_je*g&+72FtZ4a$Imd4G-#_$!x&15Y{JUPO_dzOCvDPI3nb=vwr zpRzyxJU`*(0fWdVt|4=Rtsi8^6e)18yIOF_pj)|W^4aaT7Kd+H$j))!V5VEH$%fKt zEUL$&cl$U`&YJ%9&GMqhx}ImAMR&eE@$JTKrO%9U4y>6k1fn1R-oLu~rqYpaGl?x% zeIl*TFH!7x5^?>+)XO}R11B&)>OAt~)X|RJn?(Y5sd;8;o|5c19$}NXcjhCbH{$!* z-?ceb$RF7JRCtNbku_Fpjtd=Rdu_Bx_pIcrqR+Y8zRmhM`D?u6>vuQB&A&We!IXskV#y|Czgrryq$h`~3gk`v1Le{ypga{)qqATUM5*TirKb>)2)cc*lDG&6}Oy zzI@+vyO=?G#)4JVH*dV!^7r1c1<^VuTi?9DbZV>o=DGX}jD8-sUuKo~CpvAf-{x@b z^j6^OX{f3`{ID99HhzXUsTt_WLW7ulF3A_y0;< zWvKPSS3l)@&exl%+>ZDjV|en7-T%Fsh8-$tUE5k#J^Oq=J~Z^tv;UJB*rN`;JEf-) z9^00%`SE4>gDVUaPB{H$I^X$Vib1;g7P;K7TQ`31oO4QoZ>@nz^8wb||34g0`r0lO z?^xf%(pv@fvt&Jy|p`4F1+}r@HKt^d(UZIU((+mf3&?ms8mYO zj_pN4^G?sYhJAnEZ8IoIe{KHy>it&_w#(PIy-3Q)zVwneVS)o2cUw}FetdR$`2&`h zU)$%bOxyh9`2Y5^UZI?KckwDOE7dyLcg>Oe_Ht?7qWm96_nZieOOyW>u}NQqF@ouT z>JiT~P1TNn0{!=;%a^ZD_deM0ChKwUw=3Jn4Vd#2W6KbE=nqD4O=hk+H$!v_8+uTmRqBm*Ob?I9tWrzkW^k zhcmj&Z?@H4e*f>W{SqN-rxeN4l1s`tczhKXM65ivdVgW<{y!f!zp>B|t!-HKD#lVr zwJ#~tt8mk=gG%>3URWDUZfn)g^GV%utH9~nE$?aD+np_}JG3URn^I6GS~4^6dBTBf z^AFbl`#$~B?ze0Anz@=9Xw|eI2zp!7e#~PcLxa#y^kzUWGGT^6}(_bwBAR~ObXFE`-0691BmTW3G# zTrfZHx9*(QsNahBYucst%lQ_ntd-&Y3FS`@Nn;<|4z&fT`a; zR4xnI_x0Ybe;g(Zhc(#W|I?fosrgL4*&$)a9FCW6sxMAiIT)XhH4C_Tq2g!^Ys;^% zd$Tt+ENeEmtL2S$3^_Y5{$_H+`RWke&^3FWwD{a-|K94bB=Ve7#)Ql_HA$UpLhd3w z7KfSzJnDaj{{Qjap3$o|_Iyy8>DF1gm+BX41eiMTeVDUh=l-}&{0gCcCel{Zrs}Pm zSv@~7RHS)b^R|aik4`uDDzaGV>aBC|=`8*K44YZLJEX+hE~-{LyxQc%jI%6D-%Mx- zYmVEg7kKmT&k|n!1=8>M|0~`9DP#YCWuDUR=`7*Q^Ag{C-!I$Mz53lhwgZWEmcumpH3!d%1P&9C z+w(u1OOttB9dBgTta5en^zXCZ-%VJN|NrfG)kFUmuYa|?erezKLi?XjE=kF8vW0|a zCTxBARPo}sZ^s(?Kh8dTY_ojt;q?+*cK_;{t8;t)s=Z&OF0Is$zh5pUH@W&|U){&| z|5VppV>(uGZ||n8^{k55R1d{;DPEblmVf)U%U;5Z*t&1{@9S@K-hE%+C22|Vh1|lA z7rg)Q25y@q!Ipf*X8r$f^B?^@{`1e`4fjO1e7-5*cI?^Sd*dJ<+R@|l77F+ zWVM`~@)5b5klFh)eM}y@PFpLtS7qzQH97CSw|;6`p>u?C)SwoM1*Re zU+cf$>4)8+qMo|%#!4X?kq0+zet5I&ke1H!Szc2=!eki5F)^WL97rYirw{pfA~yw|PX+2_8wYks|4V$(2H#p%G(#fws!um8Q7 zx90V~SLLCH%LV3tsruMGKWnaO-}YUW+8-X2T;DM7;Dq%i59Gzd4*RM-T61buaOf2U zgV{Gl#r*iq-Wz;r4gLEs?yh>L`0>t`_%nr!<>vQ1GiJW#UM+WL<#Wf@Xyeo7(emB9 zIt3-pEOL>XY-Re6;K{d?AGA+h<-fmblOp$#3JHJxgX#|?x0;5rOMm-R{P)G` zb6L$=<@+=E=U|vL1;p8rtbaw3THN6 zE8pdRyKZ*Crn`gJKQ-L@{%o0re);>=jhZ~Iu9 zV!lk2IRB6B_w~}dt9P%85cu;+OyAc)a>a#TyVK@uY5nJL{_Wzm`Ic+l^*Neu#{UX? zckf^EhnLqA@>*k9e{KGJGuvd1`u(fXVg@WdHp_1xo&162Oy}>K2N&-h?_S*+u({~5 z`La85HjR!duiw8q%g7}dZ1&mU*Pml?wXD4Ib-zS88cwXxQ+7@|TCn2kTcJsZ7Ecmm z>Su5>kotVG{MfhU2jhQdmq^T44sgBD{v(8IRlB=g6{8l@!Sa~zdvxBq>u=d?+aj!1 zu{n44qYpO&&#^^VsGej=+q9fV%l6ZoQjKc1oBEwQvL9}YHdlL7r}~`)BV`f#9t3Q3x7=g>$X<^vbV$FSva}#-o4denys{kJsF%)u+q z=DxjX=U;wMfA{a%x`I(}EN(r@Vhi8$b)(quBInarW~S5~5AJ;tvUYj8d{+IEmg<#JOFzwQ zKRA7R>C+xr-TC*o$=hD<+a|EbVejITsu_y^*vb>$ggj;~PF%eCM|gP4;=R1WR`%Nu zz3a67!5(~Qf7b(lp^e+miOc6YGA1}bJ-BS^7p;5ukDQ$*62v&6N8^T&uI=o+K$pdv zm(5UmqtGTk^=(mwSjYC4y96fa-aWsiCExmB%6uJ_yAD1zTUs?XWeT46G+O#EwSsqA z$ik-|WN#fx=6+ZvJ4fScgJyoM&&Fc{FCQhdoT*y8@O`dA2ur30=bHBDwl{@|m2VR+ z+ucrHzBDILu{Nob>9azI=Hbs?1_?TsulK8c_AUGKfOB)8y7jKtGdF$o?EHSfm(k>a z?0oNK@;nc1!{VRK&3j{hxtsaLox(XRoB5fqf0jLNeWS$8en;l5Idust)7{_h}EN))RphQ!HGm3hS|0X z>(-s)kNB}}m0w^_MwD}gSgk|s_h;v_eb-An|Ghf>+9hEIfr0~1=JC39^>{OWm$-6B z`Q&*|g_{OF_ZB~Yc5_~FWy{Z{!rV9cv~v{St$BQ?J^KfX^Hx>I+YJrHvvjQIpIZD@ ziDQA~tzY@S4x4UZdRwyo*6oC(4O*8qLcZQ>VhYf!pQ3zu=XF#6vd^vVuO4VmE)rOs z%9^-_Q|^!>AD)FrY`Ay-$mcCHRdb(n|LyqEAac-FdV{Ld_G$COeoNnB>YmPY zqhv3qT;GJY+s4mUcRNorW!Sfg(QonTB(I$=6}R4&Nneosv0vwNO}yt5&EM%udE&~; z8y2SSemyUB^IfiNow&u5QfB`Dk-Fid-SnrIpM^)9WZr3KAHaL_(u%`@GP#eiWW!FOXgK7Cm5NxCLiuuCU$V+1GPzyWjl7%Y|z@{c{tc`Syg`Ws)f)_ zt}tt{RxC4UG}EZwv)o^A!|kVk0y6vNKAS1;`s+#(-@4oLUdZRoG?;ShHN%1e*$JOs zwcL$qss6+8wu?zEM(%x>_v*)!xtG4lyw1O^L~*U8C5wyCtMg_;V)GBOl$me(7-`mF z?N?fNpjYVg=}jNC)^0bxGUuWMPn+ufiBpA(C*@w>+^ic=_wJz8U4P$iqECalIhGb> zriSV6NW8J6$m@D(-uYEKpTyN%&JhQh+F3h^%?6OWY;PIaYGI?T|%Y5}$EtWmHFa5ga zs$W^Fjdt=g#2YtF?PJca=}Tg`&v+|!<=!7B_E_^jcKPL=S{)U*T>A5+us61AmKdGg z!u`nLaLWJmIafNPZ*sA)R{ycNb34JvV|C5_bhA*eX=mM(qoaDu%@dZsJFH%zX#6#u zovVr|o9pm_xSBUHa?a*wJ1xI$lzD5Qd@Z9Oo~64^h(GbwtuM`5=VyG_VbN7R*(UnY zJ0(l|6VInF+`mhPCGflWu}5#e{;>bc{&LD0o>bLLq0?QDCN9gFbV23K(T4Z$D|1+u zPka)|yeU|#O*$w{Z&yR*fp2VL=ew=G{2hHBEgB%i~89g;S38T{%(^ zz4pYW_J)v^g-i*nIwK!{x^cwSCh@=nyRBWkJKroRlU=N5pM2tQkHFfw@@7jIXXZTn z;&4{iH6hQ+obO19R9oTw_ml6dnJoGDu+MJmg1NGjYHx_G`{x#(E+%W3v0}lh(=#0e z#p`ZAdzV|AC8wuub2B~o*TZeI;>*_g7rWF{FiTF+@MnIvLStw9qj!rkOdjl9eJ-LU zRG;g4%6zkoRRNKPPJjB|UXg5RVyr&-uYa*DkAd_|qjP*&MJ#P?jSgQz_FJt>PP%3C z`*5P6S?|v@Js#V1@p~tx+}nR?vdJW2i3^j_A(?-Y}`;kwe)chU_} z6T}~|w3*pO_np7BEGhfdmn6l5t!mTF{=N9XQ3OQ#iX4iKtyxp7~ zZ$9aphW@Slt8%zsz4fT7R!C$wFHTu%^W~GvWn*X#SgEQPINFP%-Uew}%`nKx6eOXF;nI5-SXM99$#2f%8RJ{-V5B2Sm$64o`Gs`%ynh zl+k8srdjUs57N9nKi1t#Y6)b#_fBu?>fj8cY4>MFceyYBkmzhyzxf$=Ui@`srJKHO z6V_XAj)!Q&=JMxV+NJGv zz315%r@K-q4|p&A(o2m}%$diob!eX#i?Kw(;nfY>%x*Gx3h)>`{>ithr9hRrLD5{! z&TO&W_KLD&ZEGhwZchIMrr9k<(zA z-UHtqu6hESS+r8Gr-#kUF82O;v@k2cRK-85^j5CembEio7uT=#_LG(J(oCND;BWi( z8QKTtO})2T`0;JIGbeYxdbDE-$126!BCkFzUiSF|hm_s#-9g7LC+OSsa)eKRx{){rPOQS@HevJah|=eM!vlE0jC+)@+uz9^7)`Sv@%RW%hP&9AHUczhO|x$@f)mhZw|=bwFeCU)e&{CU^& z^*(*fJX5#iW^-QF_2+ATFc!T3-Il&`+5H0tm|i|>%uj8rD7(n+`|3V}*PDO58$^w- zwUpO?=5KqWpy2S}`^||Sp617wf4zO$r;PcEyHvo>2Mi})95kK0{kq;cK<{KjgcwdLvH$_M5GrAc!(Ebp9IP+`8N-QY-V+r!&t z-hZ6x3t7#5l+${X8w}>?xEOIbrzzi9Vr2RHUhL0FJ}WP4pE=;1o+@kWk~w+vt+TE+ zW}%)}Rvc?9pQ^H$+j19s(#BurYx??pCti-3cgfN=VrBOCCu>jrxaQm-c-qrzs-@xM zjlLwyvnT1{^J#rfyZ0Kj88U2I z^F7Hj;nw2GKYtc#{bo(rp||$Ril@@D?>|;(%I0f$?|0)mvBm$%61C--6_rt?$0aVz zFSu z?(BX3HUE%Fvi;w`qScQNXDqpx;214DGwKqbWam*wS;d2i0@o6i?l7?h$!}cnr%Za^ z;%S9xyqPM&(_d;#ZS|4Ex{7o7^@=960|&pr3#L7T?netaU_Lk23#2Gs58{8HZXB#kFGm*`_dEvBC=GO%~9i%nZT+86k(?4md za80Cd>Tiy(eU}^5k3?`=&eRZ*KBOMHxqHTKE$)`xS{tMz|HpmePrLh@msfXpa;cl2 zC$CsOcfS6ncNT|}h4td9_-#VV3F&IT*lp8t&?h+i#=J^PhM;37rSrmX=M(M&#ymkdFWZZh|Poh zsS49N?KcNz%{qKNMSRlCB==OCj^oP(zaLO#I5Xoo7mK}+VP$zi^mF&h3fKQ?3?7f4 ze!rf0SG3o%MN!#ffr-t>?Nt+lDmm)xPaI#iW%p^p>$~^tlR7q0&V9|nn4-rs%$99t zNbi(Qf73f@*XIY<%4RTM%J!KSTXiO?$lFcg(--x`89J(-e6ypcoZ4hBlQ5|x`-a#( zslc;grzO8+f9l)0Ym!C}t5_S)tTHXQGER|}pXcFebKa?e7$vptk*Gn`RccNe*M$kAb8(<(?J=YW6Pe!G%5)FncaQl))L@ zIQg~nP8$u@cRCSMFQn+(`FAn1dB;qPnQQoZuBQ>}vXhfJ928hGD`rJiw;Yw+kY}0A zf8tS(FYBF$T`S@(I#q4%3;s#IP+xzx(R83KbJAO9|sQ3yzOQJB3aVne~s)1q5uSgv$?Y$aE=*iq_^x25<) zP7%g~CNXQ@Pp@mYWV)%w(0#u8apaBsUv}sBCtsX+_l=^5!1g&O{FK!DdmqN`jr8(9 zth3{I3fKD3_eDXQmE6EAvpCCWE-rQYTZ^EsIJK*f7v8ZXnz zH}fC(O;$6Xnb^p7>E|Mrt4q&EOiXL-J+|Y4-6Hu-AuqS4GqCk5b1$`89H3+w%xu6h zFZ}t#RGY8W4#$-w%@+%-N&c^9cC2U1<<41WHRnZKSfV|tr9#zIMAO_Wd~3smo04bW zt@E(lb;;j~vDfK~%bj%QtiQYO)gAr!*<=gPnu=iGEfv>pBv|Zu&woj$_4&ux^>3@( zc2DPTKb7ss>UcU5p;U7|<- zF#Iqn`*ygnxmd6IQp)6Y3%Bn&`q%fK?9)jb*+ZlJ3r)9(GCz34!niw1O83%JmipP1 z%aaS_r#ia6;%EDM&!{@(4j=o1OPzD(F@|1juDg^WS-8NNGxmCiWR9UK2isj%Wf~6<8ug1+JI-Zpl{8CV znN@yks?6jDj+S3*r1R!wtYfY^vh7d71TQ6)d}hDcyLY6WSL$moJgIo?#)FG4b{X>i zbvuqvQQ4II&hDulzw^&S!Z-Qow$yHqMQXPY3q#ePwN++DleR=FUz!*q9`>WO zb`{@;tdu=6cOH7l>9|in8ZFHe`2eu=%i~c;PB{zf-lm z-@i}lWI7f9!gGqrtS#-kDjxLrsCu4h?mxmFG-2CpZtsVY3=6I%3+F8EZxZ-+&@J%g zo-Z=9cXPaccSLK8_SzC@n=UOWrI?Vn>$*}h9~QTli+{PWEK7L77MJ8j8>j61ZzJQj zL-%}Df^kKFgzHk3oZEf8+a62UJYiX*Jn=)@i?EbguiG4}>I+v@Y*0IYx#ZQG#>c-( z&uT%h4b-B;{pp)xdo@erOEmYYtCGXItrT3#l)~+)D z`f&zVgJsONQ}1Gr?|y$dWWlzh4V<5LImYnlo>cvN_L+SF-@@bt`{o(^IQ4n*>(f3r zH#puy?o-#sFkmbTKWriYRs&kYCFYmqI+V={dZec)K4;BP+K-YR7n}0->I2OaR6A`Bw!|+ z`RV3O1suY5P-ion zLiUUtL-n+bqBzbuNh0p5+x-kaW`4Y4xA=Nqv42qLUDH_)n9pi(?NSc?f9|qrandAL zk9p>YGYho)neX%c{W`7piPSs~wjzvA6YEavLnoNH literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png b/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png new file mode 100644 index 0000000000000000000000000000000000000000..953666c32edf9456cab30bb118d3748fadc4ee4c GIT binary patch literal 13200 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png b/kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png new file mode 100644 index 0000000000000000000000000000000000000000..90182bea625d91b65a8e7385d9206425887f7b9f GIT binary patch literal 16056 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png b/kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0d8baa23afeece22c5b9bfcc867306c8c3d202 GIT binary patch literal 14008 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV0^&A#K6FyTv9cgfkA=6)5S5QVvg;cn^jLd zHqB{tNN`V^q!V`DLwwiO>ep`iOS?bUUV3q+Bz)o-pEuDj%=!B)f=cHmsR?xN-Z^u( z`;z~k_y6y|oU3SkYEy~c)8%Jo-FaR)aenrux3l?OXIagk<~nhC=A-Q;KC!3NyB2XM zrp)Ai=y5q|mYR6c^G&(&H9>hNWu|RD!F_+*+Y+A0iE~~~Tk1M#N$9;4z0d3Je9w*D zc6uv!_NmW5ZtZ(NZ+p!8>nbguZ7TbptN&2(JZEh2{MM_YmHCG+KF>UvQ9J4P>#xUN z_dT}wI`Qt)oBP%spS43r_p_Dlrj+X}M#rjtZ7Hg|z3qr4+o_gHmGjSJUrNqemCSS4 zs>OJNT;z$*t4>Tl)c-gjMAbXsy6NJ0F}d?sY~$CR{&k~Y#rM+Tr>WNpz_+%_w<|f`q!h&XMZ(r^>z00-~NXC_l9+n z-5WpOPu1U46*;X?;?M23bA6L89Y6C)y{GYR!pSe1+s!Lat6WdMX5HW1STSwd@=d;L zCe>}vN%Y_HP%l-@`Ni!;$-dn-&zX4+uYG*+d+j@~X_KaZk_fv!T`GD~OY_;=-_QKE zU1PKFwUvEuaumzjBO5>azuqajZ`JCqm%EJPE04(ZDRDjz+@urw^t?b&S)Bcvw5iK? zAOG}e(dzZ5ZIbJc3;yUny~*s!p4;sL>Xp-65BuBOzuI$^?~{U${%N6q&t=rk*njdo zZ*Q1ywob$QS;O4ilgE6f1HX{F zY5AS^7FhnSl>7R1%NGg9rr2kSUwdA!>7LcNVbz-CSt&0c&fZqo9)G@7J*oa*(atZA z4_BtmF}$g=f#KfVcRuH*><{;wSMf}9zkk;e)xPCrvT;{l{XE0D`FkSw=S}O18n&ct zKKD7n&S!!4`o8{8Ja#(W=G@QqTUY;d3BA6CbN{WwMN6#B_O?Zy?n-aJt18I;)7Pq+4Mo{P6qdC@4fYQRnO*L-=`D3to3>C-wxa4@Nb)DPCe@JVOQ=!p0NI{ zDw*Gc_O;~P-zLlakoWk`^Pex7%=q%=j?{;?yAMkaTQKndE8G3?jgH70vDN1o3JPxi zwpnkXuubrWMPgXwlzpdOPe0B7EhX8|k5@eSxZC6s&V^<%w^pw@6SK(ntn~dd-F;2U z9|FYx*qp7IHFbjFCb`Tm<2l-|A6+`~P(_YA@x{)DBl)j)tgp6^xm}aFeuj!$ozBT! z>zpu@Hp6z_wocdC%Ql|6?NiWHxua>j$_%y&4i6FC zZPI}SGH&w@m1P|0yc6JEEAcMziIF;QPdO9Q>%VpBvR@U~+&W$Kl)rfYL!Jocgs|tP z%{%Y!|FynTkyCGy==TE&KXeP0DcWA|kN1Axtz%!4W)OA7_2DYp$iAH8uHDzTt9fRd zpN*54JwMUkSbEU~)x&8w50=K={-$JMpZe+^&$W&JD_^!wYqil{AE8!hS=_PPny0z# zcFJd~l*&Z`1-Ws38|3pWp9of&t~fm3_2P$%%AB7~riM(AnuVNl^~afi|mtGWGw`g`l|3AZ~gi!H5v8TYemkB@h)M8&%z_P-}&I{9ZDp2*J6 zBgX5X@S8K+ZHC3C=81_qdd%nibmsVe@zI;(Id$rS89U!gF7(y+`0-o#fyTK%F+x7K zH;0s76tu6bdHH&cRtJOou8kiy-E3Yj+v?qVEi+W5>-4`H-*#o*dZl$ae)(gYWAh|B z=RS)t7M?tP_Y}r=T!-J}J&dppkXnDhl5yGJ3L}F@CJl!+X+Fq*xy7G_t?WYkl&?3~ zWnNft2D_{^TK!R~kU9Kg<~;j6;bqlAd660aHmh(iJGAQ)+nQ?%H;#Lp3~pJ$eoe^0 zJjS;RHThdZ8 zV!MSl+uWPHYug?nv4|a4}_ zB%@D)R**j#Gkv{F#oaLo9TMWJySzpe*Zk&ts%>?!=H|CO`pxb{ji|F zLQ14}xGGmtCR3iV-ix_!a*n(D{}FKa?g-xDzAb@w$Eh;80^yTbKO~KCScsNVOpCnuAAIVv_it z5V3C8x$O4^4VV)>m8{d(FWdX6m&x$jx104Jp6`;G{m^jsx*4~xoM~BaT3IfUbW+cy z;b4l>Ri_CP&u{)yu-NIqori5KPGQrhZ@$33Uyo|1Z_Q++fS8N6BV|(>BK6TqLsZ%%PoJ)(jSD3DUdQ6gJE? zV3un>plWz@naUrrznYu6p5Ff^`t9QV>SV@yYG{px8^F=(2&@zFyMiM=n4bq^T$aVQ^4+TCw&5+&2L zqau%M!<-H|L%z766UnV=KHi@$HgN=9=XpCvUO4Y;dERw-p7W`9FYu?%p8der$K-0? z0ZaR*^IIPo?D6eTx|0@qhp+X>=1w`m1j+RSx1I)?r{3{OtmtVxLP+q72V*#4_44MXlJOqivfEU2on zWA2CB#gf-|Wu<(0aBF6wMnR_Hzcmd_+B_8xUhNyi60YuZACVe9pEzkUSpHG^43M3IWl5O@vXe73$4l@uoWJj_d&#N z?%O>r4;a=}{@iE0)nUcGORvvM+a12Lc=y`hQ3r}Ht;y1wdB=pa`QyrU`#zTS26Eqa z@oETknSX5K50l0%npTV2i`YN?`kS-bPbNLO*;=LIa*G0QiqMZ4{LW4@J_RfkP|jP` z*Dug}O?dyDg>nzfR+sF37@Aa7!*gD&^Xsx|PNf=uXZNn|pNa;ejS+W6j;ibr(-i3?)Em|+B==Xu^qLf71w&cZe zSL_-Ke|VSQJalP`?lb%M%z{5G?@l&$ly4N76#lu*c&?=NVn*wU>O8CCn*ysd_d91@ zs1*NNa#!%xU!%{7o?1_ZL=suAYo4CNzBu>ic7yh*PeSD=jp7Ku}iwaZS_+F@`{aL)}v3-SGA*Zn%~L|*6UTd5UwhijLD zHiyBXLsK=Y5*1TYyFwZK%9cIULf29els11hC&PJYCE!u92isv3}{?KbmR6j zuHgH2_1|eGuLKn#l|Nda|NoZ%|1oC&r8jGKYuW2~3aL2W&MrQeaq{i@{;g|RTy9={NsBW~ljL+@`-a z#pi&=-e2$>74Fr;C;!{v;5!@yw~YYMgBi2Or18@0YVkpO!AM zbbE@f{f(nWZ|vH11%C!CERUIJC&#~!^I=;pht_0g4OQomfJv?fE^WW7s%vxW8$4`+ z1T$QFWx1kutAqu|XmPAIdl~XUr}*XU!uJywt(M!XZT?~j$CM}51)gueyuQud`1e)M z6`j{D_m9pwkhs!HjO(c=WB#jfgQB=Jr{xa>H--H=JyX_j{-+w7Z=COgUsz1p=f5lZ zu#Xjk*6=D-?Sdpe3LjjYe()+sh=DZ-dWe*J}o=lq1&kRMZdA`ZogmIk&lfcUNdpJAKde| z;&Wx#o^9`Qs;+N+kZ@|((nRU4>n7+gt=h+y;#94x|F!#?K(tcF-u-_Xo2;g%$URRE zYFnC}e__qW`JwL*Bz#YvQN<|f*Adn@=gi+T>lH&6aQ8d(3!B{0eCP5fC~248ua7SS zBy>*i;W=dgw!o>Q;L@9x1x{DKeh83vnk%EoT{mamNfpkMt1Ap{Xj*2?l&-MQ5s0?= zwt3ey$0_w<&yBtsdFN_Z&pfr{dV{VoUm%N6huBR4Zn-DP5|`~(et6swzntMU$AzCu z!}l`Y>i%?VYHyJ4qf<_rIc%aG6;_vbh+MDRRbTh-oK9)y*1QU~X-yB?Y|hT@(NE)) z%)1@K^sz8*_i58zE(R~k3@-~RaP;`GsAs>{yLD%a&-?fGA3qk(GI0N=mv9qLb6|J$I+Yre)c?GsT$`x z*-n0cg;XGavfsnxRL*6xk3UT@k7{~tZGLvewRscHJEUwA_@4RNmBo3R@9WG3Z9<0+ z%wXtuw={XmTJ5SMpkSOD^z3KypUW=X9O_ermo=OVNP70>yNsCOy65j&J3IDX`~Tu! zUianG)iqN0qpz}7?>jGXcjB3ILA4jkm8~A%+5S`Xf*aoxmY|wdep7qnL*2c;@!S`9 zzdo#WLc-6mefO_SPnA}Dsu@)3v_{l7w5G1^&F#pDJ(G5vVY=7!b3@g_GoR}I9Tj1%myw`xG<)OEiDEpqK^JUXd|F~YTO5}-TP}r{D*KJQNSaf!O zsnz-H-QxegUaa4^+bgg6`sAw}>r~!0t7nOR zEYh=<3;ulc`NOYYR$se=SA`357B$V(aJjyeh27w=pRn+)cS2iP{;yaXUgDb)tz^A> z+N8kHQ;w&5orE@M*PhTkdLVnQkU?6H&#nK`q4j(A{{MTtekxaH)EO3kt?s7tZxTg! zaNCCF2Dv^et9)wRaq9Hi+mpppJ9MNEWG~;kf9v)cb?r8$l_&qd`W?*Ou=4)<{<~dE zSKW);$L+VJZ?`^2*d>QWn{Hb=IUiqoo#}0KRK^Oe#}ePq=Y%|4XUCA~)bMVZmEs5C zwD^@O$NvW(x-}`Iro_I?+~<7AMC0S$mHJAJq34$Jb?p#(!7sQcz~iv+wrK``fBu&D zQfr@Lzwy}fYtPf?$)1WbSa!d^zRPTx=C^Ct*4AhL(?~3Re&%xC)wkcD&)4W!GqF;e zcS+^>59KelcJL`p47|6?yzI&2kI%o%VMv}KmDYTO>Ch&wy_1Aj7PY!QJrWYk@Z)C7 zvW(DX>pN;nyZ-(8$-b;q-Y!|t)3PsE>uhpmQQwrvXY8jpsdaqU%KmXqjknJ|Gkv>c zy+mAGTGj8t%;>x^HTA$A7hjIjtBLU!gEe{k;7h$-dW@J)89J%<)=*Po19y*T0&+m|?{eiTLm5_c%V; zR-winVd}dpz4`Uh9U@zTy%(*2y}_=4Q-|F-O?LLKV++K!n|2rVpIdYGQEmTo_4Qht z!@hcT9&grAT-nPKxHTyCXw1oHm+Ys-|No=(N%U_~dxzidOM*A@dGuzSy#6=)|K80r zrr&0L_w4__U-!59O+BrvlY23BxqO(YuU_o&a)rI2asAH^gymkoIOW{w4PIB5F1ahV zH2j?En&WNvS28M8TiCr~2`k>ZS)?j;NH<%I<5WbEV$< z#{T>I!}R@TDcKu=ikY>7eUCL-SgU(@jg*U)&)cx!U(J7Ktt~!ZS?}ncx?Q*9xYGQq z;hnX=f8V};qsY!G*SU7>yZHE3_6={m#3dd1Cw(}=9Xd(y;C}h~b=$0irg{qSWq7Q7 z<gNZMG z^8IEA{>-(fM}6X_3;S0ku?K1HWLRf*z3uF-`dYrf!NPgb>t$Rc=FSpcweFpgiD7f4 z?1Hop!irN_gUr&U+!v^ST-Nn^QIDqRi&JZ>6@?Uno*!q{F)_I4$U9h&IK)UvNhs|du_lqh_)qHr)^Hb%2 zUD1Pl+ABUkv+Xq~+mX!el~|hl`|F=M&lQtWH_T~R+7KETl6_?3_R!;}l&Y@oGC1pX z(IN4huZ~=H@BKeNzqM~tJ~Ac2)+sVnZs#+BDX)A5=gbV{(@K7O&Pe|pXWyb48(~4q z(v1<(vWv+-!awZItKWg%;?+woF*$d=Qw!s;_GRg``SjC`z2ej|uUVDzwHnx&XK)sWeJ+XI$6Vz&)#BUN zr{B^h`Z@gn{dhgkLB9&mZK;u;lN*m|uu3Znd^-K~UETkN$F23|qI>uLogh8WJzVt= zqlvkdtgvm_X_xjdMLS(XWf%4?m7d3J!(hGd&khTxxuNsao-K)4dX{lcsOhcef_G~k z20q%u^5DV!R}bx`xt?WU_*iUj->x6CXXlk1gV`)*`oD9&K6`uZZcVFyNfze=MxHm( z0kY~Y;)i!^Gha5tFV9!JNvYQ>BNaqm#|v)mKs)||=WcRQ%ly7^`0 z{{PQpPYAS|S#gFLm>)g;RpVee?ajrxSw{lB zo0g`1|GK*-ILSs!waun*VL*|o;=1|V6^iP?##*zD^cgnjWN~pfl}i@z^t_MR9$Hf1 z|7w-(bq9`hDhsyj#Bybe_}-7ZAGx$nB4XyYb@_9(^tg8aRmq<(ctE;jQI~C9gUbFu zdE}aBh-a`&A?6)0qVtMSnK`jn1i^`g)^m zYu3-HrIkA*KGxU%n|gej4P(N#HH+tDMi<3voo{c|WS{YT^VdqPo1yVbR3EPOJ$%g3 zEu<*on`ur~#*_GDVV5%>Di<4Vj6PtJ^{J{_IqQ_kf&OcX#B>vdHJj?-%JZc?=+j zGh2V!zW%R#*@Csv9&T%RwePJ+S1em18Tjyji@?EJ9qH97 zH`X7IkMnDAao@h7;KR8^7k+WQ;@5avw(8fm<*7#d*W53X z9n1d3m$X^*h6WjFpIP}QdGq!Vhq#CqDWtGpt98h?|SVe7Hn|JtNgKPJrEZJr?fx1w%g8Naf|#K{qh7gniA9^d3+ z_lomr=V_x=-=7zRFIu=FSUIq!((T$Zty@CpuNZc$JmNNc#`^x9=TqnE@C)2{F2up- zU36l?-Pfo4?eG2n_wSp#ibdG@Vz>QQxm_#fZ>xLpJ0kz8mMoK{rHEDJtMuFRE~^LM zX!zkGJMV~pdQZ6^7BRQpHGZ( znyQD4jZQNNoa*>}*e-bqX(HnR5pyvK*zZ|eTuX>EE$W0&v4OMCo|@9Djr{nyxP+NEVJoe?pTD84L?z^g_?>Fe} z7ImCjE3!VSH}qY#+?vBjBsvA|S4=RFso3|QEjjL9++}0dZ`X>qJ$rTK)vIX&{{QYi z{_&S3^&V3eAO8tesWT=F4yluiPVe|_WGEz;Jja3S(3>FBX#Z;auW`ITrK)FY=6LN* zSan2u#o8Gu`=Z!WgW^x+T4_bFFvfH-Jr2L9x%F85mfIYqD^|NTN-p-gIJMeis!f=u zi+cBz{0Ir27yo(cg%}vbia~1uIOm2<{9tpuFk#wP)otmT!U^hb3P)!DVVrqX?!4P7 zhT^54ME4&wO=YVn44t~Ov@)}+*v5CsXOFnd2__pqvt3$oqoeczQ~SYLAu(#~?R!`6 ztc*B(Y3p?P{P$-ZUzg0Q{of)TX1aPh&tHz{&UXGJ;mIH4{9}UKGZPOiZd?9aB81)Z z=-lOrVUtuX@8`Yex%KPe)Pg`U?bGYRkA})l2%4;At^MtF$suKKrLG%m#tB|GjCG#{O|YoEM(l-v*JT~sOdfr`OnuA@8;y3O1_%)<-MP|>?zpJ{@Eplnse??Ga20)7op_I3E0V zy*SC>t?OH}*;Va*i`FDvY)%mxw&%QR}dvDx#70vu; zV7@;2gO|Vu*_|G{!q#?O%al97-SX}6&xHO?#p};?U{<(f}*UO&vU zFE;h4SYLjjC%$dYU)H6kY_>F5+vRkbXx99@{wuuf+9Yq+=9>pE7*78E*;(i0(^X3k z>)-k;6nS~e`|01f&Zh7D{m@RwvpSbSYudj0Z&42>W-e%&H~;(bcG*`vJ8G8yDcY@E z%k<)J^vC;_nSrVLoV#CV{FtiM7g1-j`Pa+0O1lFBOJtrqR%TVsITz7+S~eThnmtgCs%9~!CsOzoOT)Q9074zC8)Cm-YuW=J9YM&ygA3dWG6P=7FsgfD)Q1F zov5YJ7vj9mR~pt<==UVvb8lW&5`KSwA4~2^Rkbaep;14}W`<3zz7%|Q!SOp=wjRp7 zXXyS~_5PH*^68d(E6((EYuy*i6`g;&$oAx_@>R=z#moQC+O(Sc=-K~!stg%R=Lkjm z9p|W1nQmCQEN7WE$36EOrE#e-^Jn+fcI*tbYMGv)(*5Rg-?nQOw=UT4_cvetZnx~8 z`ZWu*uUd#ypK`IfSh8Gzx9-xk@O{ByTYvfK79Ox^fBt8wu$Y=ehh~9f;JeGWb`%LN zIsW&ZTk1^qscKU-+vU#fct3H?iq?0x5^p-Z+FbAQt|c$HJtVJ%Vdr`GjURshn5g8v z_iKC@ua;nTc>aTO`{lt5*A0Ew3+t?wl0AO@xBf?Njn=tAJLA^1zw!-O$-AvSbpGU$ zbeoM6SKTg-bKrH!EBJK#FxS+G6-5swnN0HxTYu=?4-E;uNl*I<1Du2JX>3@1U-$Y; z{;RXf3sqlddrVn#u*p(*9(KL7i9E35e_wNVpYs0Z|6KCty{~IScLwY|YLxTz(X+3!RgJ&g?v}c| z-&KTR^NW=`BkiY6Uvlu4%J<5kofl6=J#^LIJ|jr1usAQi#4WV_=BGPFNdl*MPeeWs zl}m3|FYb`5yW^&!{S(D_h zHTm9}dFt=Q`lZ*dmcPyWY<7D7n&Wep79U*w{H|9i&f>2A-1 z&slbQE`MIz;dyxd^Y%%>KPxL=s;F#Aj+mcy#Cq8#U5AY)!tNf~9{&27{kK$Ufx124 zpMERayZ6P8KTj!IQyRRR4d^@<<;ki)rDF(G!{Ew_1kaxWwUd!>%?E*INxD@#7DJv!9?!>|07z* zHmvP7dlumSR&I?c`zQA4LDicKZ6>-a%kHXil4@hW{gBtk$X?4J&+nT-x8t5`>yJGa zeCIuJ`YZXh-?r@$xEA8wJnxJ&+m{Ek-M9G#Y?h<$0>ax2XVQQnz*#GOokcj?|NJ#*Ss>uiH}x=ZPAv)T=H+wR<6 zFi&*G>^}QQ&-1qzcE)_Y;4Hm---#RbN^JW({pAepXDPA!_&2pr<2aVA=j~>e}8K}oaf8-M0u6W5Bp{;k6yNOopg)tJI4>M z{Kth2vxGd#zXfInbRWFBZ@DWu1&Vdnigqvx%vD9-`FjGX64RX zwkGq|89$?Ydh2f_h1_^Bi6brW$6Y}Nvx<}7J53Ybx6IGz-|%YJivylB-R7-Y=(JZe za#M?IruEcLzkOFy^sV?ycB?7SC;-=mrp6))9ZTqYPH|RKCNS# z&dtm+uU~S>GU%-0uFg?s{Mv4Mbj}~oJ3H>>bykJFE8FkB=2Pm-#=J#uM3sHE-*Aw1 zzPm`J?&H6In;XyFo|!4LyJzaBT^S)3wv+Y*^v3pk- z!d=-co(Uf=uPBw%?T(b4yZ?h}mG>Nv>naELn>7he2`JJI{eMY$Yo7SOqmw@9X~|#x zz4^}mJ+U(mFS;zV&wWDrx>u(+T#gr$maXIX1b70|x1vV!mC@As#RLUa$So%cOz z@jNy-?t$U4KBJ~z7rqC`WVnZlKGsuOl|hC}MVJ0V-B(H4caDJ6#cAp-f}Cc>J61%hJtk=%h>(a)}Mdvw|dEqho!UU z9!r;veJeF}wPKUCe5v*4X*ruF&$uu>r|#7YiMkb&-qc+aKfdSr8Fl8*TxE-ouarm& z|GVR1_NJC)cUWt-g%vIjE^>T6(|c)f$k7KMU)Owi?-$s9WBRSVF}uW^P5C>VUY4$9 z=U#f|g;0{E_f8kpQ^Bpbt}NK!v0YAf^6BPZj2D8Ji|5HZExsaj-%?O4|JuZ?N9#?6 zw3j__c-~ZZGGv- z9~ILi-%0%X8R+YK=GbX=;q2Fz;T6mLcklhcC%JvuVH?e={hvNRKDBCP(xQ2cy&sOo zKTB3I`nAU|oN3Q1mm*YLXwkd%kJjuu^)s>ZRguAunftaL+qG`W zUOg47&I?+0Ek~EFo0n6|xX|R=-eBc)v66-7GnW=@m2%8{VwG;T{KlHEmNHT6ZOfd6 zol3VK-E@EdJDvMh@2{#YpyQVb(|2|cE@V@M!n6KmRc>cx8D8#tpEAm!dtn_ zs?&r+woRHV7I`;RoWpz1PR`k-E`Hbegi7>gEV%T4YW`aJV|)u1CUdq`8}-lDd>-%%W+duyhKai2Hded^JMfZe%H!t;-+G@XonvCty0EmP2#@$kE_ z+paM)g{-Z6g1(zFxaHoC(h4!sxVI$f@2g5yqt{Z_nfDmXUgh|&x-30www0KlNyvuc z#EO;2qskXBrY)7;H*Hyt{@Yaft5I1$f4cNu*_EC&{Zhzl(>M2C7OdmjefXo}3+L%m zK4xzVOL`x5{Mwnq$&HH4-&1E8m-@ZjWxMmpwr5%a`GSu^?dIR;75aEy`Qe0amIwP@ z9AhZGBjckvae3tXb>0V_Wj-_Zx@{QZQU{Ng)D&hSaDb=$-iduB!R z#>>~tvQ*^eo!_-NT4SBP)wSQN|2KX4SaId)lqu`&<2tXMzGi${(?;_5+qXiq!=LaQ zBrZL$BvITnbNRU`&oe`xUA1_VHYcJj{U+D$9lTRFt9Q@J=)b!zw0h2NvuO2$zU8vl zzPgH4R$#>iqf0#%=qKv=rJDwddZ;TYn-gm&HVW*BhPCH0O}N=9_lKJ}ni1mJM*5eOnz-&wrsJpSNfOg9Eq2DyxU#~-)-Ek)$y)0@Yv&`ra8ra9IrA` z)$=SIg%);|Uh_NLwJOc)lj-8AE@BCd4MFdXe_MaF`6j5K#a+KELF#&*P^fXG>e;nI zZ^hRCxe+QcF>gEbm#}5&S0j9P=1rRa@sz;s5O;+GI^Vxm<{Y1u7g@&4VZ;$S^SHN4 z>EtUV--_42K4K;qJ8`|y+P5kbS18X}xvqq>SK@b#Td=~k)xP}uRb{&LKfYVG z_m0h3A^ukhyvyhA-ypsI%{{RsgJO%)FN-e8%HGSpEcoVv>zikWKgD+S9dA`tb1I2% z&wnJl`qhHcvcvcH*~{^N$&M~LAaFUAQSpM8(eu!@N%M}gPM2s~cx>gXU3*MkPO|xR zzH(;ax-&eUCmDV^bIrBuubll%uxrh>xaD)E=Dn~yW_vR~R$X>wQ|s65izX!Bo|Cz~ zD`AP#AIp_SAp(brLYodpHJL2X`_ktbIe+;H1v`hH@QFG0NxNrP*$b(189jZo_FwbpG@6PPE|kucWvJ)Uyfc0uH83H zX8*d%F->?ubHOX`&9f6foqD~A|L&I5Z|N=PwRZH?YIJPy=+CtjkUza|gSzLm4GY(7 zz57{nCA0MQsyk2grfVxt(|vcp{KE>K#TNUuY#Y?9WfGRBExqwpK8*eT!3`Iuun68= zm~nmIyP!*@A;}+|SaRyp_zK(Cq{_azFjuPG{_|pXj^ULT7oeSEAhS5_ft zTlDoOzoI%HuF|>6vfy^@M|K{+>9?((wtcj2u$#u&^Zv($u(f%0n^R9-_R>5bD84DT zJ7z~Nx0zsT^U5E~vR(D2ZPwiFW)m?jy}bS9K8xw=R^F9nE0bxP`0vxLMPd7Y_4oh# zZvTE)_-ftt54g(wDysXEcctAfcAD2ACs6j0-P+`JL7sIQ`~Q2YyRL3nwz#V$%k=J? z+ETMs8xoGSRD@+ll{Q5vX)C)3^pyU%aPz6^#-mElGD<5Ae#q%x5Im&${Xz32rj@bN zR=*YxD3~5JeXZVu<$Ni(Zkk)x?K*x%i@#aG`2A_u=f4_)y#rPhyRvv|NU!m|E_P&H zFYCtW3;y9^Px(~YqCPclKfPPN?P6Zsm5H{pJHl&qo87`+*{-O*`XJ0_?()M-Prv`! zwJ+r3BDdHbCc-wpX?a?uFW1EsE;!P6!}s>a*Pp_^b)PUeziVaWUg1|UjUIxbq2HSN zG=(>=C=NdE6}SF<*`%uYdEQaW?;jU`)5bV$_r~l6-)hc(>-xFk(h{z+wCzRn6yt8X zI|wMXoLy%xHMP*DHYYl)Dp{^Xck$EH)0IQ-#DDA5zq0gG~|qoV%>jS6Jh(i@hpoo3C&_`AF!IYgbmjC{@3dAtYNcv+tzd#IVF8 z$7N=k^l-Jc9QNIHvv&UD$LjZr5_J1kJ@yvdri{`Wx?{gM^TvB8I z{!5m^6qU-0NlP1?eR@_2w>I9=Zu%m{J16DR<@*ZLZ|t{;(k=XdMR1wQnsc92J+>QM zyJ^r_vzPT~{|;Xlzi%9yIFh8;+#F=jHzn`tmC^GS;u>*a~cB!V_T-PbAYF_ zvqAvGKMV{Nb808<^*$URa@0R~sgh`WnZ~OL3%i;Mk__1zI`T2)?e={tMOkH(T zm_6jIk8GHHQBXaO8L_F>S`m^Gh#lR$RMoTN-@#XvMVh`}0i~i1@JmaCu~L znYX*5xgzcICCm51?U9i|9p^jMd3Gs$RKA`%{l3L?8L^7A8z<79bsj#Fw6goDURtWN z>O8eRtyOM6ozA7UeilpL8kPRG`ja>t_pMV#*E4$+I$d=Xc?FGLtysXtZFtKx$S386 z&BKTCMSn7jPCi-HFfp0Ybj1W2`ycXu=B#R z{TTim7c4FPvsKODw`bMj#jgDg2Xh}h+O_y(^?|2+0+p9kor_fLbr(jk+&lkb_9urI zVlU#0pI@^({*rmZ(#WNG4b9F8Yg}%=mV5v1^}O5rZQuU<%dkVC=+O0qwr30se6g7! z5hW46K32*3xq68y`AMmI6}bfrAYfx(QIMFNom!%hl$xHIXRGvn_kJaX%oJOta8q9c z-vZ~}1OnC3`zAn+mIn+=ATHl0=1y+?>2(s|s5su(?)w#a19; zeI*63l9Fs&r3l{u1?T*tR0R_~6Fmc6*NV(CBPBa71)HLjG^-#NH>eRsDQUJ!86_nJ zR{Hwo<>h+i#(Mch>H3D2mX`VkM*2oZxJ9L6DxATL9Kokz0VGvLrJN5m+d`0m*>9gY1xs+yc0{D5_z82P+1Lk(En+ zaw*7po-VdZAp5OS@{==DtiVhY%ap|ARErc{V8_}VmzWu?rs^gdnONwi7@3-z zB&QggSr{528R1`)nVy-Kn1k#pkWnd_DORSbi54m5iAlPaNg&sl8Jp=Q8KtD^8d;d8 z8JHQH7#o>ET$7S)<(6NRn^MtTMak${}UlC=Dy zTw5jI#AF5kV1!IaW^QV5Ng^mX4b9CgjVw&e&5SH8Eln*Tjs_bTmReMtnV$zT)X+fB z*aEB_6fai(MVYC2C5fPfYO7=j7O%)HuyQU+O)SYT3dzsUu~h;Yp-6Dmf!DFFiHIRtcJ3 zVOlb=q=m#Z3!~&@OC#M>Q)4q-le82QT}y*B6Wyd_1EW-PQ*(Aam zLtR9oFoGrus2^?gK?Nf$R&De#;vJ#@sU)@IQhGp6RH*eaDP+1t(9 zUMNAB+=_^kIE1w}lq%L=qgODt@#K+s_ zsfx+2wdTr(dM{>gn!stRXt?c)_{6DvGeCM5tn6-VeyZ#2d`GP9`}*|{mZVRcf7GP( z;UwLjW5F;{av`hG2tw U$NG6eVW2*^r>mdKI;Vst08inKLI3~& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..f57aa76ceec24f8165f6411e688db05838743501 GIT binary patch literal 5478 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 Xm#c-`q5&^zL8Dimu6{1-oD!M<#x&TD literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_paused.png b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_paused.png new file mode 100644 index 0000000000000000000000000000000000000000..690c4d1ff7c74cd9df75bd230d7f039e77b413e4 GIT binary patch literal 4714 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_1.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_1.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..a6bfa1a0c3dbfa6ebbf93eb80d6943f4635aa5b2 GIT binary patch literal 1604 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV07SMV_;y|%JoNyfq{+N)5S5QV$Rz;{y8F{ zGVCATiwSTpTzJs*Zo_WfQ+zzB6YNi$?VJAQ%RldJGk#yX z?B@ODpYQFFJTNgZWsmFcpUb|9pP2RBT=4JtnlkIVdY@cwY+wyt)}TIwPfN^le42@@U`t-`OQUo)+YQBM^jFeO;k@x z;hpu@_rXryDD`Pic~ZQ089qPw>S=dlyYQ{LX-X^QR3`PLu^O<8b#pE?d+>{oE zn^z>$suFG;WRGX9`}X^9gowa}%Xim?rq)^B{^SsU>7vBB7vFUqLV3(5s~&9lW;xO0 z%7td-_HUJPAxfdzPrH_s$-U5JhfCZh z-Q?TKaesT7+@7;G@d~dGcK*m~W}nuZ z@Q{(=hGa>`N1GLnS=RLo3|&2D4YqL!Wdgm47jo0@?mJMdWLf#+>#NEH?J&6;aupSZ{ukv|JmnFwj0+I%O%yQLZx@i_adoDB zK#C6YrvHzw{^rhI$oc9|<4sMQm3`t(3j^}@6!b?;4GCDceD=RZvGNzbmCj(djo%Yf z$={&l^TB3?9V`42MB#Z~pCGDYro_X2y5vtGPeFNBSl|a|~?e zTYW}_KV#*oKaI~Df7=A4SX^no6Bu%?WmE9+6=zuZzlbr+W3QC+n5On&j>oxo*?Lub z5>7MUUiquyVB`v$c~>^FulM3M{B(TrCEFQSx3H$Yo|scvQ2irY#@ctj{f4KFk;x0% zKC`p&GjwsX4e?R@5fnf&7{3`qDciuIMpJzVL zyo7$(m=|PFl)7v)cQ&?sNVOF@|G5 zny6ZPa^)vo(F5$Am#1UuxH!Sja!~ehw@8_ z<>~(a=M-wY;qxA2c8T{t0@n*x_^I4KdjGpkLA_Vx{1vvlgJ1nRa=zjCM!UeX_vZFa zyUy;zA0({1>ucxNHwWVmEMs@)uYXec;9rH@l!pfo?0o#Ra=||N&ag|YwqcL|dQ@lf za{D~6oOp!)?fPe}N5~miOGxv7S$W=kS>7Fo`uh2a zuC|{=zMR)jvE31RTyDlb`I8AuZ)-Dm&Yki4gO2Tnzj-PP;@0#3WB>8yV=156{X_-^ O1_n=8KbLh*2~7a3rSFaa literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_empty.png b/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_empty.png rename to kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty.png diff --git a/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t2.png b/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t2.png new file mode 100644 index 0000000000000000000000000000000000000000..3d64d1165bb4871009532f118d33f9b9f5df0a5a GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`8{16Lo9l)PT1|m94O*? zy;t9*M~v&3WS&D$8|Ojxtf@{%l@xCLti1J;^yNyF8XekwE zUWh6#u5FKI`p$UuwzNisp2o@fk_-qL-@+todN(WY&{brM{Y+BKA;{Or;Wgn&GdXKM<*rA_R j<{PFP{AhN)ru|vBg!wr;JfAQyFfe$!`njxgN@xNAGTe`( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t3.png b/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t3.png new file mode 100644 index 0000000000000000000000000000000000000000..f2738e5c901874b4f0461c68d380105e807edac8 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`8{16Lo9l)PCV#!I6%PF zKWS;l4h^A92jNwh5+)>wpXW%@C{g{fwn<=VU9-|6?TZet7Ileo2Tj~|q)G4ZwS zuS?9Pvxj+oy!A3*&UH)f{+*rkx5Q|h*aS}rirB`>vHT%tcwxBo*AzArn_!;92R7xN zo9(+uc_P$7Z|M`~sl~FgR jtv$8uOxZuxT4w7nabN$3c3LqoFfe$!`njxgN@xNAErgC9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ac41254ad3ff0eb031d10cac18db530381fa9b GIT binary patch literal 1141 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU|7Jx#=yY9YWYTlfq})w)5S3)qw(#``~Jb{ z636$mSN%{FS+b3_>Q*q<6!}yI(;YdSvnOj=h?k^&b}}rSDQ+C6^D*hw+qj77VR@vw|rhZ zZ_oMJHuFF4yDwg`@=Mi!xm)+F9nSC54wSm{PtLus+#=`csl@lUCVDOk6gnfH#$n2o zwL3XuMa;3i_Ro#(dvUWjTa^_HFfpmTRXSEbqpjZRkcQU6!g#A0&np=YY|Y=xanHl> zeBVUh3p@BjQdukJ9lvpulOwpHK=#b5LQ7$ZUy`rv4lpw8iCdpzFdYB``Cjj ztKRIYIPi7LN}Gy%L6sXUD=s{`GZt z^_w~5Ui9-^*fw!{sGN=eN}C_{l?&uGwCAyZWw&0jOP6z{%H9jvj~ZXzFv#6Jb7G1q z2Pc!$WWyGcJO)Je*bEBic3?)3+>d{%wX>QB{>olJ&&iq)C zy)#rbA#QTQiX*ow0zQ6TzU1b`&P$T~kD>&F^Z1{ww+lSiZ05|;>1ORzD$~NfUGV3} zg_}M*9X9a3D$3O3rmXV4vLjJp)?)3{zs>W?dlQtIls11C+{=D*e@Wc`2G7nPf7h^I zwE5lKRF|~yb5qs+4L`5c6}8Ojm)GoL51nqm_~^vEkk^p~$N5qwX?P{rJYKMC_I`)O zv2FjG#dH)`)UZuktaJ0W=>#t!gFAbh7Wg+5yjxZDf5GPa9J}|i&FW~_ZU0kI?pM&w ze+jMi23CD9OlB9?FSy}9<@TrjUf;R3_~XRZcC+Wck3M;E(b-3hN&g#Gems0d#A%V! z5#{^)Z6YSuH@wnNJAb#S;OD|3xi#PTTjHn3z5LBOm0jPXo>@U++iOnEH@g@Z7#KWV L{an^LB{Ts5mJT3c literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_2.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_2.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..8c815ec20bb7c0bacfa05430ff3b66e8fc38222d GIT binary patch literal 1642 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV07SMV_;y|%JoNyfq~7?)5S5QV$Rz;(K#Za zGHf66HymLKTD|4g+X)k|&J|m}W~qUyZkVpl!Cn^=wi@G$H%_QAaUN6e<+oeKueK;f zVNuh^gBAR_DjHsk7P>}jaRjck$lc1lH^4b_fynLs{I_M(%ATKDdONmk`{%t|t)IV{ zx$OD$;@OOwj8|>C`sVs-scV5>KW$y|U-tQybEkN1u3lf$e9N*SquhR%pZs%%1qVD6 z6OG+9q>imUcv@q&d86^&z_*(%&jhX7q#P!(rNq}#jceV5?+cTEeB1oK;N6$XbNiSc zh{sE8DdFXJ6kuSm-+#TE`}lw3J7%BrA8M#>wQ=@qi%C1H&dwTmL)Mx2Tv%Kl=B_q zs$Z3pE^6j7CFR!MYV*!XK2!NSLxO@m0;XOKKD#bq>g9j@9kUr2dg7%I|G1#h=GR~N z!97X-mvXwy)})V@cCU$sJmd< zvns9}#=HB3OhPvlt6~g!HXbj|G2CYU{Ikja)3Sf=tA8HyEj#-yS9|%YTS`3q ze91)*HR}GnP+{}yv-qx1p+Egi<2q~WS^6@T7f#7+^*_%XyXj1GINuxp$?Ofr!k-Q{ zujx1D_t9avQ!ycdal%x&BX<0Tr8&^r~GTtDdTwHA!S0mRvH@T4i6~mQ7@;6Ve;#j0| zIoQ5th8zE!BiERh3-jy0+3`JLl{ItTbMB8nl$SGfe{5XUa%oH50xczh*Oxy2ZSB^U z_Px#@u{}WIyMq9WjOB$cPPgf1vX7>eZTS+O|L9}>f7LTH-7RhxX@=WWJXv0w`GKJz zuj#oX+oV>x0|#pq-!<<3dFaij121b9@-gUK7j*Gd`+4N|&36ZTQp^@EdVT6+%JZMi zCKU#$j1SHyuR@=axwH1M z^IqXU@W*D-N3lN>^=cpf_;qml^XJKzuKsdlcK`LYd7rI%-k)EM7nv1qvII_A`78YU zYxa5UmecoqS2)OYU@f~9_oLRi6%R6M3f4Z|e#K^og|ZyO1{23ADO_83-;Y0G%D<;V z?!adThfVCiIwtw}%avBjd4_IV`poeW--_psY(>oHlo=aV!pQzZyGP z8w&q2%y{;hyL9b&HT(Swy4SM1&Sf{W2$-iU$B-lJ;<@bkzVdpxlhX1}Vm@7CZew*= zS1}=kF+SQ!Rdl8^eCgo$G$dJ@nOs{w=CkRlJP$R$Ta;Af}RUyP-p$XV&*K z!qemov^&m=%gwNv{_CGpl&yhEK&bO~`)>-Y=DG_{Ej#ohS^VVfq_kv~z)3H!uD@fy z|3T%1;+f}uy1czP_vJkQ8flNub&FG3UGrNqDvw&QI68cvSzoa2sZv|NztlhHnW8@q zEx4@~8nQlW8oS({DJ6=ho3GoS`~R0!e;zvzzs_;?@;{XlO$rYJqW!bvGTyrzy}Tq@ zX@BYTGF4$voRz&h{r5BbDxo=b4{dr*Chy!?5f>R+#&Pjkm^Qyo{y}jzR`XA{lsVF5 zyDPbW{cQymk7qOaZ@hQEG&|wfzAZOgr#=7h#FarXbrDY@_7K51F`j)8%J N!PC{xWt~$(69C-M2+RNg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_1.png b/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_1.png rename to kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..271d22fe1805b89bba9aaff59cb6472ae7d60cfe GIT binary patch literal 1694 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_t_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_t_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_1.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_1.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_t_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_t_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_t_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_t_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_1.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_1.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_2.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_2.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png diff --git a/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta new file mode 100644 index 000000000..be167b255 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 2, "frames": [{"index": 0, "time":30}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_1.png b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_1.png rename to kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png diff --git a/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta new file mode 100644 index 000000000..be167b255 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 2, "frames": [{"index": 0, "time":30}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..498d4f5ebbe72fbdf117fe37434c70395265753f GIT binary patch literal 1698 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 orqZ { event.addAdvanced(['tfg:refrigerant_pellet'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) }) + event.addAdvanced(['tfg:terrafirmaguard_pa6'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) + }) event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")); diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1af670f68..6436c7d05 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -79,7 +79,9 @@ const registerGTCEURecipes = (event) => { //#endregion - // #region Move MV superconductor to mid-late MV instead of post-vac freezer + // #region Superconductor + + // Move MV superconductor to mid-late MV instead of post-vac freezer event.remove({ id: 'gtceu:shaped/mv_chemical_bath' }) event.shaped('gtceu:mv_chemical_bath', [ @@ -111,6 +113,28 @@ const registerGTCEURecipes = (event) => { .duration(400) .EUt(GTValues.VA[GTValues.MV]) + // Move EV to after Uranium Reactor + + event.remove({ id: 'gtceu:mixer/uranium_triplatinum' }) + event.recipes.gtceu.mixer('tfg:uranium_triplatinum') + .itemInputs(Item.of('gtceu:uranium_dust', 1), Item.of('gtceu:platinum_dust', 3)) + .inputFluids(Fluid.of('gtceu:radon', 10)) + .itemOutputs(Item.of('gtceu:uranium_triplatinum_dust', 4)) + .duration(20*10) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(4) + + // Move Superconductor to EV and make them cheap + + event.remove({ id: 'gtceu:assembler/laser_cable' }) + event.recipes.gtceu.assembler('tfg:laser_cable') + .itemInputs(Item.of('gtceu:laminated_glass', 1), Item.of('2x #forge:foils/ostrum_iodide', 2)) + .itemOutputs(Item.of('gtceu:normal_laser_pipe', 16)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.EV]) + .cleanroom(CleanroomType.CLEANROOM) + // #endregion //#region Voiding covers @@ -425,4 +449,5 @@ const registerGTCEURecipes = (event) => { event.shapeless('gtceu:magnetic_iron_ingot', ['#forge:ingots/iron', '8x minecraft:redstone']) event.shapeless('gtceu:magnetic_iron_plate', ['#forge:plates/iron', '8x minecraft:redstone']) event.shapeless('gtceu:magnetic_iron_bolt', ['#forge:bolts/iron', '2x minecraft:redstone']) + } diff --git a/kubejs/server_scripts/gtceu_terminal/recipes.js b/kubejs/server_scripts/gtceu_terminal/recipes.js new file mode 100644 index 000000000..80f8b792a --- /dev/null +++ b/kubejs/server_scripts/gtceu_terminal/recipes.js @@ -0,0 +1,50 @@ +function registerGTCEUTerminal(event) { + + + // Gregtech CEu Terminals Integration + + //event.remove({ id : 'gtceuterminal:dismantler' }) + event.shaped('1x gtceuterminal:dismantler', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:mv_sensor', + B: 'gtceu:mv_emitter', + C: '#gtceu:circuits/mv', + D: 'gtceu:computer_monitor_cover', + E: 'gtceu:mv_voltage_coil', + F: '#forge:plates/aluminium' + }).id(`tfg:shaped/dismantler`) + + event.remove({ id : 'gtceuterminal:multi_structure_manager' }) + event.shaped('1x gtceuterminal:multi_structure_manager', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:hv_sensor', + B: 'gtceu:hv_emitter', + C: '#gtceu:circuits/hv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/hv', + F: '#forge:plates/stainless_steel' + }).id(`tfg:shaped/multi_structure_manager`) + + event.remove({ id : 'gtceuterminal:schematic_interface' }) + /* Broken for now as it can duplicate resources in the I/O Ports + event.shaped('1x gtceuterminal:schematic_interface', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:iv_sensor', + B: 'gtceu:iv_emitter', + C: '#gtceu:circuits/iv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/iv', + F: '#forge:plates/tungsten_steel' + }).id(`tfg:shaped/schematic_interface`) + */ + + } \ 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 f29efde72..7ce704580 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -255,6 +255,7 @@ ServerEvents.recipes(event => { registerGrapplingHookRecipes(event); registerGreateRecipes(event) registerGTCEURecipes(event); + registerGTCEUTerminal(event) registerHandGliderRecipes(event) registerHotOrNotRecipes(event) registerImmersiveAircraftRecipes(event) diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index b240e469f..199fa44a9 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -131,7 +131,7 @@ function registerTFGCasingRecipes(event) { // Ostrum Linear Acclerator event.recipes.gtceu.assembler('tfg:casings/machine_casing_mars') .itemInputs('gtceu:clean_machine_casing', '4x #forge:double_wires/kanthal') - .inputFluids(Fluid.of('gtceu:polybenzimidazole', 288)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) .itemOutputs('tfg:casings/machine_casing_mars') .circuit(6) .duration(2.5 * 20) @@ -145,6 +145,34 @@ function registerTFGCasingRecipes(event) { .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) + // Heat Battery deafission:battery_heat_port_ev + + event.recipes.gtceu.assembler('tfg:battery_heat_port_ev') + .itemInputs(Item.of('gtceu:iv_machine_hull', 1), Item.of('gtceu:rtm_alloy_coil_block'), Item.of('gtceu:silicon_plate', 6)) + .inputFluids(Fluid.of('gtceu:mercury', 4000)) + .itemOutputs('deafission:battery_heat_port_ev') + //.circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + // Small Modular Turbine + + event.recipes.gtceu.assembler('tfg:machine_casing_desh_ptfe') + .itemInputs('4x #forge:dense_plates/desh', '2x #forge:dense_plates/lead', Item.of('gtceu:hsla_steel_frame')) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) + .itemOutputs('tfg:casings/machine_casing_desh_ptfe') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.assembler('tfg:uv_smr_fluid_import_hatch') + .itemInputs('4x #forge:dense_plates/desh', '2x #forge:dense_plates/lead', Item.of('gtceu:iv_input_hatch', 1)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) + .itemOutputs('tfg:uv_smr_fluid_import_hatch') + //.circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.EV]) + // Vacuum Intake event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [ 'USU', diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 850945e8d..44a47b9e5 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -74,4 +74,21 @@ function registerTFGCoilRecipes(event) { .addMaterialInfo(true, true) // #endregion + + // #region RTM Coil + + event.remove({ id : 'gtceu:assembler/coil_rtm_alloy' }) + event.recipes.gtceu.assembler('tfg:coil_rtm_alloy') + .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '#forge:insulation_t2/sheet') + .inputFluids('tfg:nichromium_iodomethylate 244') + .itemOutputs('gtceu:rtm_alloy_coil_block') + .duration(20 * 25) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.mixer('tfg:nichromium_iodomethylate') + .inputFluids(Fluid.of('gtceu:nichrome', 144), Fluid.of('tfg:iodomethane', 100)) + .outputFluids('tfg:nichromium_iodomethylate 244') + .duration(20 * 8) + .EUt(GTValues.VA[GTValues.HV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js index 3b40a47da..b5a1d9298 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -120,13 +120,26 @@ function registerTFGMultiblockRecipes(event) { 'PTP' ], { S: 'tfg:casings/machine_casing_vacuum_engine_intake', - Z: 'gtceu:iv_machine_hull', - W: '#gtceu:circuits/iv', + Z: 'gtceu:ev_machine_hull', + W: '#gtceu:circuits/ev', U: '#forge:double_plates/stellite_100', - T: '#forge:single_cables/platinum', - P: 'gtceu:iv_electric_pump' + T: '#forge:single_cables/aluminium', + P: 'gtceu:ev_electric_pump' }).addMaterialInfo().id('tfg:shaped/ostrum_linear_accelerator') + event.recipes.gtceu.shaped('tfg:heat_battery_mk1', [ + 'USU', + 'WZW', + 'PTP' + ], { + S: 'tfg:casings/heat_pipe_casing', + Z: 'gtceu:ev_machine_hull', + W: '#gtceu:circuits/ev', + U: '#forge:dense_plates/silicon', + T: '#forge:single_cables/aluminium', + P: 'gtceu:hv_field_generator' + }).addMaterialInfo().id('tfg:shaped/heat_battery_mk1') + event.recipes.gtceu.assembler('tfg:ostrum_harvester') .itemInputs( '1x gtceu:ev_machine_hull', @@ -175,6 +188,28 @@ function registerTFGMultiblockRecipes(event) { Z: 'gtceu:ev_machine_hull' }).addMaterialInfo().id('tfg:shaped/fission_reactor_mk1') + event.recipes.gtceu.shaped('deafission:fission_reactor_smr1', [ + 'TUT', + 'WZW', + 'TUT' + ], { + T: 'gtceu:atomic_casing', + W: '#gtceu:circuits/iv', + U: 'gtceu:ev_field_generator', + Z: 'gtceu:iv_machine_hull' + }).addMaterialInfo().id('tfg:shaped/fission_reactor_smr1') + + event.recipes.gtceu.shaped('tfg:smr_generator', [ + 'TUT', + 'WZW', + 'TUT' + ], { + T: 'tfg:casings/machine_casing_desh_ptfe', + W: '#gtceu:circuits/iv', + U: 'gtceu:ev_field_generator', + Z: 'gtceu:iv_machine_hull' + }).addMaterialInfo().id('tfg:shaped/smr_generator') + event.recipes.gtceu.shaped('gtceu:nuclear_fuel_factory', [ 'TUT', 'WZW', @@ -227,8 +262,8 @@ function registerTFGMultiblockRecipes(event) { event.remove({output: 'gtceu:active_transformer'}) event.recipes.gtceu.assembler('tfg:active_power_transformer') - .itemInputs('1x gtceu:iv_transformer_1a', '1x #gtceu:circuits/iv', '8x gtceu:uranium_triplatinum_single_wire', - '2x gtceu:hpic_chip') + .itemInputs('1x gtceu:ev_transformer_1a', '1x #gtceu:circuits/ev', '8x gtceu:uranium_triplatinum_single_wire', + '2x gtceu:mpic_chip') .inputFluids(Fluid.of('gtceu:ostrum_iodide', 288)) .itemOutputs('tfg:active_power_transformer') .duration(300) diff --git a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js index 7aa0cdffd..bf4ff9dbc 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js +++ b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js @@ -2,8 +2,8 @@ function registerTFGMarsOstrumRecipes(event) { - var $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability"); - var $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient"); + const $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability"); + const $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient"); const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') // Ostrum Harvester @@ -18,7 +18,7 @@ function registerTFGMarsOstrumRecipes(event) { .EUt(GTValues.VA[GTValues.LV]); // Ostrum Linear Accelerator Recipes - +/* event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation') .inputFluids('gtceu:residual_radioactive_concoction 100') .itemInputs('32x #forge:dusts/ostrum') @@ -62,13 +62,13 @@ function registerTFGMarsOstrumRecipes(event) { .dimension('ad_astra:mars') .duration(20 * 5) .EUt(GTValues.VA[GTValues.IV]); - +*/ // Ostrum Linear Accelerator Recipes // .input($HeatRecipeCapability.CAP, new $HeatIngredient(X, Y)) where X is Minimal Temperature to run and where Y is HU consummed per craft - /* + event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation') - .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1000)) .itemInputs('32x #forge:dusts/ostrum') .chancedFluidOutputLogic($ChanceLogic.XOR) .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) @@ -77,46 +77,49 @@ function registerTFGMarsOstrumRecipes(event) { .dimension('ad_astra:mars') .duration(20 * 5) .EUt(GTValues.VA[GTValues.EV]); + + //#region Light Ostrum Vapor event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1') .perTick(true) - .inputFluids('gtceu:residual_radioactive_concoction 1') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) .perTick(false) .inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000)) .inputFluids(Fluid.of('gtceu:radon', 10)) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10) - .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10) - //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 5) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 2) + .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 2) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 2) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 5) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(10, 100)) .dimension('ad_astra:mars') - .duration(20 * 20) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.EV]) .circuit(1); event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2') .perTick(true) - .inputFluids('gtceu:residual_radioactive_concoction 1') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) .inputFluids(Fluid.of('tfg:semiheavy_water', 1)) .perTick(false) .inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000)) .inputFluids(Fluid.of('gtceu:radon', 10)) .inputFluids(Fluid.of('gtceu:krypton', 10)) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10) - .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 3) + .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 3) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 3) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 3) .itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 1, 10) - //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(10, 100)) .dimension('ad_astra:mars') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.IV]) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.EV]) .circuit(2); event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3') .perTick(true) - .inputFluids('gtceu:residual_radioactive_concoction 1') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) .inputFluids(Fluid.of('tfg:semiheavy_water', 1)) .perTick(false) .inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000)) @@ -124,17 +127,108 @@ function registerTFGMarsOstrumRecipes(event) { .inputFluids(Fluid.of('gtceu:krypton', 10)) .inputFluids(Fluid.of('gtceu:tritiated_water', 10)) .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10) - .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 10, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 5) + .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 5) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 5) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 5) .itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 10, 20) - .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(10, 100)) .dimension('ad_astra:mars') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.IV]) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.EV]) .circuit(3); - */ + //#endregion + //#region Ostrum Vapor + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:polyalkylene_lubricant') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:ostrum_vapor', 1000)) + .inputFluids(Fluid.of('gtceu:ethylene', 1000)) + .inputFluids(Fluid.of('gtceu:lubricant', 1000)) + .outputFluids(Fluid.of('tfg:polyalkylene_lubricant', 1000)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 1500)) + .dimension('ad_astra:mars') + .duration(20 * 150) + .EUt(GTValues.VA[GTValues.IV]) + //.circuit(3); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:caesium_137') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:ostrum_vapor', 1000)) + .inputFluids(Fluid.of('gtceu:radon', 1000)) + .itemInputs(Item.of('gtceu:caesium_dust', 64)) + .itemOutputs(Item.of('#forge:dusts/caesium_137')) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 1500)) + .dimension('ad_astra:mars') + .duration(20 * 150) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:terrafirmaguard_pa6') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:ostrum_vapor', 1000)) + .itemInputs(Item.of('tfg:polycaprolactam_fabric', 64)) + .itemInputs(Item.of('tfg:refrigerant_pellet', 8)) + .itemInputs(Item.of('gtceu:iodine_dust', 1)) + .itemOutputs(Item.of('tfg:terrafirmaguard_pa6', 32)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 100)) + .dimension('ad_astra:mars') + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.IV]) + + //#endregion + + //#region Dense Ostrum Vapor + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:radioactive_effluent') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .itemInputs(Item.of('#forge:dusts/caesium_137', 1)) + .itemInputs(Item.of('gtceu:cobalt_dust', 8)) + .outputFluids(Fluid.of('tfg:radioactive_effluent', 512)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(500, 1600)) + .dimension('ad_astra:mars') + .duration(20 * 240) + .EUt(GTValues.VA[GTValues.LuV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:tbu_232_rod_ola') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .inputFluids(Fluid.of('gtceu:radioactive_waste', 128000)) + .inputFluids(Fluid.of('gtceu:tritiated_water', 41472)) + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs(Item.of('tfg:empty_rod_t2', 1)) + .itemOutputs(Item.of('tfg:tbu_232_rod', 1)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .dimension('ad_astra:mars') + .duration(20 * 640) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_to_light') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .outputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor', 1000)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 100)) + .dimension('ad_astra:mars') + .duration(20 * 240) + .EUt(GTValues.VA[GTValues.IV]) + .circuit(4) + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js index 46cf556da..5bee23fd5 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js @@ -33,9 +33,11 @@ function registerTFGNuclearComponentsRecipes(event) { component("HEAT", "tfg:aes_insulation_frame", 1); component("HEAT", "tfg:moderate_core_frame", 10); component("HEAT", "tfg:impure_moderate_core_frame", 5); -/* - componentThermal('THERMAL', 'minecraft:sand', 1000, 25); - componentThermal('THERMAL', 'tfg:impure_moderate_core_frame', 2000, 50); - componentThermal('THERMAL', 'minecraft:bedrock', 9001, 1e5); -*/ + //component("HEAT", "minecraft:bedrock", 1000); + + //componentThermal('THERMAL', '#forge:sand', 1000, 1); + componentThermal('THERMAL', 'tfg:impure_moderate_core_frame', 2000, 10); + componentThermal('THERMAL', 'tfg:moderate_core_frame', 4000, 10); + //componentThermal('THERMAL', 'minecraft:bedrock', 9001, 10); + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index fca0005e1..28e2af5be 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -30,47 +30,132 @@ function registerTFGNuclearRecipes(event) { //#region Nuclear Pellet - event.recipes.gtceu.nuclear_fuel_factory('tfg:thorium_pellet') - .itemInputs('16x #forge:rods/thorium_230', '32x #forge:rods/thorium_232', - '32x #forge:rods/thorium_232', '32x #forge:rods/thorium_232', '32x #forge:rods/thorium_232', - 'tfg:empty_rod') - .itemOutputs('tfg:thorium_rod') - .duration(20*200) - .EUt(GTValues.VA[GTValues.HV]) - .dimension('ad_astra:mars') + const nuclearFuelRecipes = [ + { + id: 'tfg:thorium_pellet', + itemInputs: [ + '16x #forge:rods/thorium_230', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + 'tfg:empty_rod' + ], + itemOutputs: 'tfg:thorium_rod', + duration: 20 * 200, + eut: GTValues.VA[GTValues.HV] + }, - event.recipes.gtceu.nuclear_fuel_factory('tfg:uranium_pellet') - .inputFluids(Fluid.of('gtceu:radioactive_waste', 10000)) - .itemInputs('16x #forge:rods/uranium_235', '32x #forge:rods/uranium', '32x #forge:rods/uranium', - '32x #forge:rods/uranium', '32x #forge:rods/uranium', 'tfg:empty_rod') - .itemOutputs('tfg:uranium_rod') - .duration(20*600) - .EUt(GTValues.VA[GTValues.HV]) - .dimension('ad_astra:mars') + { + id: 'tfg:uranium_pellet', + itemInputs: [ + '16x #forge:rods/uranium_235', + '32x #forge:rods/uranium', + '32x #forge:rods/uranium', + '32x #forge:rods/uranium', + '32x #forge:rods/uranium', + 'tfg:empty_rod' + ], + inputFluids: Fluid.of('gtceu:radioactive_waste', 10000), + itemOutputs: 'tfg:uranium_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.HV] + }, - event.recipes.gtceu.nuclear_fuel_factory('tfg:plutonium_pellet') - .itemInputs('32x #forge:rods/plutonium', '32x #forge:rods/plutonium', '32x #forge:rods/plutonium', - '32x #forge:rods/plutonium', 'tfg:empty_rod') - .inputFluids(Fluid.of('gtceu:radon', 100)) - .itemOutputs('tfg:plutonium_rod') - .duration(20*600) - .EUt(GTValues.VA[GTValues.EV]) - .dimension('ad_astra:mars') -/* - event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod') - .inputFluids(Fluid.of('gtceu:nuclear_waste', 32000)) - .itemInputs('2x #forge:rods/thorium_232', 'tfg:empty_rod') - .itemOutputs('tfg:tbu_232_rod') - .duration(20*300) - .EUt(GTValues.V[GTValues.IV]) + { + id: 'tfg:plutonium_pellet', + itemInputs: [ + '32x #forge:rods/plutonium', + '32x #forge:rods/plutonium', + '32x #forge:rods/plutonium', + '32x #forge:rods/plutonium', + 'tfg:empty_rod' + ], + inputFluids: Fluid.of('gtceu:radon', 100), + itemOutputs: 'tfg:plutonium_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.EV] + }, + + { + id: 'tfg:americium_pellet', + itemInputs: [ + '32x #forge:rods/americium_241', + '32x #forge:rods/americium_241', + 'tfg:empty_rod_t2' + ], + inputFluids: Fluid.of('gtceu:radon', 100), + itemOutputs: 'tfg:americium_241_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.IV] + }, + + { + id: 'tfg:neptunium_pellet', + itemInputs: [ + '32x #forge:rods/neptunium_237', + '32x #forge:rods/neptunium_237', + 'tfg:empty_rod_t2' + ], + inputFluids: Fluid.of('gtceu:radon', 100), + itemOutputs: 'tfg:neptunium_237_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.IV] + }, + + { + id: 'tfg:tbu_232_rod_recycle', + itemInputs: [ + '16x #forge:rods/long/thorium_230', + '16x #forge:rods/long/thorium_230', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + 'tfg:empty_rod_t2' + ], + inputFluids: Fluid.of('tfg:tbu_waste', 8000), + itemOutputs: 'tfg:tbu_232_rod', + duration: 20 * 300, + eut: GTValues.VA[GTValues.IV] + } + ] + + nuclearFuelRecipes.forEach(r => { + let recipe = event.recipes.gtceu.nuclear_fuel_factory(r.id) + .itemInputs(r.itemInputs) + .itemOutputs(r.itemOutputs) + .duration(r.duration) + .EUt(r.eut) + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(recipe, true) + + if (r.inputFluids) { + recipe.inputFluids(r.inputFluids) + } + }) + + + event.recipes.gtceu.assembler('tfg:empty_rod') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/maraging_steel_300') + .itemOutputs('tfg:empty_rod') + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('tfg:empty_rod_t2') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/beryllium') + .itemOutputs('tfg:empty_rod_t2') + .duration(20*15) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true) +/* HIDE UNTIL VENUS IV - COMMENT OUT + event.recipes.gtceu.assembler('tfg:empty_rod_t3') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/zirconium') + .itemOutputs('tfg:empty_rod_t3') + .duration(20*15) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) */ - event.recipes.gtceu.assembler('tfg:empty_rod') - .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '3x gtceu:lead_huge_fluid_pipe') - .itemOutputs('tfg:empty_rod') - .duration(20*15) - .EUt(GTValues.VA[GTValues.HV]) - .addMaterialInfo(true) - //#endregion //#region Processing Fuels @@ -181,24 +266,24 @@ function registerTFGNuclearRecipes(event) { event.recipes.gtceu.heat_exchanger('plutonium_steam') .perTick(true) .inputFluids(Fluid.of('minecraft:water', 10)) - .inputFluids(Fluid.of('gtceu:irradiated_steam', 1600)) - .outputFluids(Fluid.of('gtceu:dense_steam', 1600)) + .inputFluids(Fluid.of('gtceu:irradiated_steam', 3200)) + .outputFluids(Fluid.of('gtceu:dense_steam', 6400)) .perTick(false) .duration(20*5) .EUt(1) .dimension('ad_astra:mars') // Heat Exchanger for Energy - +/* event.recipes.gtceu.heat_exchanger('flibe_cooling') - .inputFluids(Fluid.of('gtceu:hot_flibe', 10)) + .inputFluids(Fluid.of('tfg:hot_flibe', 10)) .inputFluids(Fluid.of('gtceu:distilled_water', 10)) .chancedFluidInput(Fluid.of('gtceu:hastelloy_c_276', 10), 5000, 0) - .chancedFluidOutput(Fluid.of('gtceu:flibe', 10), 9500, 0) + .chancedFluidOutput(Fluid.of('tfg:flibe', 10), 9500, 0) .outputFluids(Fluid.of('gtceu:dense_steam', 10)) .duration(20*10) .EUt(1) - +*/ //#endregion //#region Fission Reactor @@ -206,15 +291,15 @@ function registerTFGNuclearRecipes(event) { // Thorium Fission event.recipes.deafission.fission_reactor_fuel('tfg:thorium') - .itemInputs(Item.of('tfg:thorium_rod')) - .outputFluids(Fluid.of('gtceu:radioactive_waste', 2500)) - .itemOutputs(Item.of('tfg:empty_rod')) - .dimension('ad_astra:mars') - .hideDuration(true) - .dimension('ad_astra:mars') + .itemInputs(Item.of('tfg:thorium_rod')) + .itemOutputs(Item.of('tfg:depleted_thorium_rod')) + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(5000 / 0.4 / 0.7) + .dimension('ad_astra:mars'); event.recipes.deafission.fission_reactor_coolant('tfg:thorium_coolant') - .notConsumable(Item.of('tfg:thorium_rod')) + .itemInputs(Item.of('tfg:thorium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 2)) .outputFluids(Fluid.of('gtceu:dense_steam', 480)) @@ -226,14 +311,15 @@ function registerTFGNuclearRecipes(event) { // Uranium Fission event.recipes.deafission.fission_reactor_fuel('tfg:uranium') - .itemInputs(Item.of('tfg:uranium_rod')) - .outputFluids(Fluid.of('gtceu:uranium_waste', 50000)) - .itemOutputs(Item.of('tfg:empty_rod')) - .hideDuration(true) - .dimension('ad_astra:mars') + .itemInputs(Item.of('tfg:uranium_rod')) + .itemOutputs(Item.of('tfg:depleted_uranium_rod')) + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(20000 / 0.4 / 2.2) + .dimension('ad_astra:mars'); event.recipes.deafission.fission_reactor_coolant('tfg:uranium_coolant') - .notConsumable(Item.of('tfg:uranium_rod')) + .itemInputs(Item.of('tfg:uranium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 20)) .outputFluids(Fluid.of('gtceu:radioactive_steam', 1600)) @@ -245,42 +331,257 @@ function registerTFGNuclearRecipes(event) { // Plutonium Fission event.recipes.deafission.fission_reactor_fuel('tfg:plutonium') - .itemInputs(Item.of('tfg:plutonium_rod')) - .outputFluids(Fluid.of('gtceu:tritiated_water', 5184)) - .itemOutputs(Item.of('tfg:empty_rod')) - .hideDuration(true) - .dimension('ad_astra:mars') + .itemInputs(Item.of('tfg:plutonium_rod')) + .itemOutputs(Item.of('tfg:depleted_plutonium_rod')) + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(30000 / 0.4 / 3) + .dimension('ad_astra:mars'); event.recipes.deafission.fission_reactor_coolant('tfg:plutonium_coolant') - .notConsumable(Item.of('tfg:plutonium_rod')) + .itemInputs(Item.of('tfg:plutonium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 25)) - .outputFluids(Fluid.of('gtceu:irradiated_steam', 6400)) + .outputFluids(Fluid.of('gtceu:irradiated_steam', 3200)) .perTick(false) .addData("coolant_heat_per_tick", 1) .duration(1) .dimension('ad_astra:mars') // TBU Fission -/* event.recipes.deafission.fission_reactor_fuel('kubejs:fuelcell_custom_x1') .itemInputs('tfg:tbu_232_rod') - .itemOutputs('minecraft:dirt') + .itemOutputs('tfg:depleted_tbu_232_rod') // Mandatory by GT; no real impact. Use this as a convention: // durability / const / heatValue .duration(10000 / 0.4 / 2) .dimension('ad_astra:mars'); - +/* event.recipes.deafission.fission_reactor_coolant('tfg:tbu_coolant') .itemInputs(Ingredient.of([ 'tfg:tbu_232_rod'])) .inputFluids(Fluid.of('tfg:heavy_water', 100)) .outputFluids(Fluid.of('gtceu:dense_steam', 100)) .addData("coolant_heat_per_tick", 12.34) - .duration(1000); -*/ + .duration(1000);*/ + + event.recipes.deafission.fission_reactor_coolant('tfg:tbu_coolant') + .itemInputs(Ingredient.of([ + 'tfg:tbu_232_rod'])) + .perTick(true) + .inputFluids(Fluid.of('tfg:heavy_water', 20)) + .outputFluids(Fluid.of('gtceu:dense_steam', 1200)) + .perTick(false) + .addData("coolant_heat_per_tick", 1) + .duration(1) + .dimension('ad_astra:mars') + + // Neptunium-237 Rod Fission + event.recipes.deafission.fission_reactor_fuel('tfg:neptunium_237') + .itemInputs('tfg:neptunium_237_rod') + .itemOutputs('tfg:depleted_neptunium_237_rod') + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(100000 / 0.4 / 2); + + event.recipes.deafission.fission_reactor_coolant('tfg:boron_enriched_coolant') + .itemInputs( + Ingredient.of(['tfg:neptunium_237_rod', 'tfg:americium_241_rod', 'tfg:californium_252_rod'])) + .inputFluids(Fluid.of('tfg:boron_enriched_coolant', 10*64)) + .outputFluids(Fluid.of('tfg:hot_boron_enriched_coolant', 10*64)) + .addData("coolant_heat_per_tick", 1) + .duration(1); + + // Americium-241 Rod Fission + event.recipes.deafission.fission_reactor_fuel('tfg:americium_241') + .itemInputs('tfg:americium_241_rod') + .itemOutputs('tfg:depleted_americium_241_rod') + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(1000000 / 0.4 / 0.5); + + event.recipes.deafission.fission_reactor_coolant_smr('tfg:americium_241_coolant') + .itemInputs(Ingredient.of([ + 'tfg:americium_241_rod'])) + .inputFluids(Fluid.of('tfg:ticl4_doped_supercritical_co2', 80)) + .outputFluids(Fluid.of('tfg:spent_ticl4_doped_supercritical_co2', 80)) + .addData("coolant_heat_per_tick", 1) + .duration(1); + + // Neptunium-237 Rod Fission + event.recipes.deafission.fission_reactor_fuel('tfg:californium_252_rod') + .itemInputs('tfg:californium_252_rod') + .itemOutputs('tfg:depleted_californium_252_rod') + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(500000 / 0.4 / 4); + + event.recipes.deafission.fission_reactor_coolant('tfg:flibe_coolant') + .itemInputs( + Ingredient.of(['tfg:californium_252_rod'])) + .inputFluids(Fluid.of('tfg:flibe', 10*64)) + .outputFluids(Fluid.of('tfg:hot_flibe', 10*64)) + .addData("coolant_heat_per_tick", 1) + .duration(1); + //#endregion + //#region Fission Rod Processing + + let a; + + a = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_thorium_rod') + .inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.lt("avgHeat", 800)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 2500)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "799") + TFGRecipeSchemaBindings.isOxygenated(a, true) + + a = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_thorium_rod_average') + .inputItemNbtPredicate('tfg:depleted_thorium_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 800), + NBTPredicates.lt("avgHeat", 3000) + ])) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 1000)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "800") + .addDataString("avgHeat2", "2999") + TFGRecipeSchemaBindings.isOxygenated(a, true) + + a = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_thorium_rod_bad') + .inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 3000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 100)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "3000") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(a, true) + + // Uranium + let b; + + b = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_uranium_rod') + .inputItemNbtPredicate(Item.of('tfg:depleted_uranium_rod'), NBTPredicates.lt("avgHeat", 2000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:uranium_waste', 50000)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "1999") + TFGRecipeSchemaBindings.isOxygenated(b, true) + + b = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_uranium_rod_average') + .inputItemNbtPredicate('tfg:depleted_uranium_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 2000), + NBTPredicates.lt("avgHeat", 3000) + ])) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:uranium_waste', 10000)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "2000") + .addDataString("avgHeat2", "2999") + TFGRecipeSchemaBindings.isOxygenated(b, true) + + b = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_uranium_rod_bad') + .inputItemNbtPredicate(Item.of('tfg:depleted_uranium_rod'), NBTPredicates.gte("avgHeat", 3000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:uranium_waste', 500)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "3000") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(b, true); + + // Plutonium + let c; + + c = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_plutonium_rod') + .inputItemNbtPredicate(Item.of('tfg:depleted_plutonium_rod'), NBTPredicates.lt("avgHeat", 1000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 5184)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "999") + TFGRecipeSchemaBindings.isOxygenated(c, true); + + c = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_plutonium_rod_average') + .inputItemNbtPredicate('tfg:depleted_plutonium_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 1000), + NBTPredicates.lt("avgHeat", 3000) + ])) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 576)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "1000") + .addDataString("avgHeat2", "2999") + TFGRecipeSchemaBindings.isOxygenated(c, true) + + c = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_plutonium_rod_bad') + .inputItemNbtPredicate(Item.of('tfg:depleted_plutonium_rod'), NBTPredicates.gte("avgHeat", 3000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 144)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "3000") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(c, true); + + // Americium - Neptunium - Californium + + let g = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_americium_241_rod') + //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) + .itemInputs(Item.of('tfg:americium_241_rod')) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + //.addDataString("avgHeat1", "5000") + //.addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(g, true); + + let h = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_neptunium_237_rod') + //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) + .itemInputs(Item.of('tfg:neptunium_237_rod')) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + //.addDataString("avgHeat1", "5000") + //.addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(h, true); + + let i = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_californium_252_rod') + //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) + .itemInputs(Item.of('tfg:californium_252_rod')) + .itemOutputs(Item.of('tfg:empty_rod_t3')) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + //.addDataString("avgHeat1", "5000") + //.addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(i, true); + //#region Fission Recipes for cooling event.recipes.deafission.fission_reactor_processing('tfg:dry_ice') @@ -291,6 +592,12 @@ function registerTFGNuclearRecipes(event) { event.recipes.deafission.fission_reactor_processing('tfg:refrigerant_pellet') .itemInputs('tfg:refrigerant_pellet') + .blastFurnaceTemp(100) + .addData("heat_per_tick", 5) + .duration(20*10) + + event.recipes.deafission.fission_reactor_processing('tfg:terrafirmaguard_pa6') + .itemInputs('tfg:terrafirmaguard_pa6') .blastFurnaceTemp(100) .addData("heat_per_tick", 40) .duration(20*30) @@ -420,17 +727,30 @@ function registerTFGNuclearRecipes(event) { //#endregion - //#region Power Generation + //#region Power Gen event.recipes.gtceu.nuclear_turbine('dense_steam') .inputFluids(Fluid.of('gtceu:dense_steam', 160)) + .outputFluids(Fluid.of('tfg:warm_water', 40)) .EUt(-(32)) .duration(20*1.5) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.smr_generator('tfg:boron_smr') + .inputFluids(Fluid.of('tfg:spent_ticl4_doped_supercritical_co2', 50)) + .outputFluids(Fluid.of('tfg:ticl4_doped_supercritical_co2', 50)) + .EUt(-(32)) + .duration(20) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') //#endregion //#region Cooling Tower - + event.recipes.gtceu.assembler('tfg:ostrum_carbon_casing') .itemInputs('2x #forge:plates/ostrum', '2x #forge:plates/titanium_carbide', '#forge:dense_plates/hsla_steel', '#forge:frames/black_steel') .itemOutputs('2x tfg:casings/machine_casing_ostrum_carbon') @@ -438,7 +758,6 @@ function registerTFGNuclearRecipes(event) { .duration(20 * (2.5)) .EUt(GTValues.VH[GTValues.LV]) .addMaterialInfo(true) - /* event.recipes.gtceu.mixer('tfg:thermally_conductive_fluid') .itemInputs('7x #forge:dusts/gallium', '2x #forge:dusts/tin', '#forge:dusts/zinc') @@ -452,11 +771,9 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('tfg:thermally_conductive_fluid', 1000)) .itemOutputs('tfg:casings/heat_pipe_casing') .circuit(6) - .EUt(GTValues.VA[GTValues.IV] * 2) + .EUt(GTValues.VA[GTValues.IV]) .duration(20*4) - */ - /* event.shaped('tfg:cooling_tower', [ 'ABA', 'CDC', @@ -468,61 +785,338 @@ function registerTFGNuclearRecipes(event) { D: 'gtceu:iv_machine_hull', E: 'gtceu:iv_fluid_regulator' }).id('tfg:shaped/cooling_tower') - */ + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_1') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 1000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 1000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(1) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_2') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 5000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 5000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(2) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_3') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 10000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 10000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(3) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_4') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 50000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 50000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(4) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_5') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 100000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 100000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(5) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') //#endregion - /* + + //#region Heat Battery + + event.recipes.deafission.hb_import('tfg:boron_coolant') + .inputFluids(Fluid.of('tfg:hot_boron_enriched_coolant', 3600)) + .outputFluids(Fluid.of('tfg:boron_enriched_coolant', 3600)) + .blastFurnaceTemp(2000) + .addData("hb_energy", 30) +/* + event.recipes.deafission.hb_export('tfg:boron_coolant_to_dense_steam') + .inputFluids(Fluid.of('gtceu:distilled_water', 7200)) + .outputFluids(Fluid.of('gtceu:dense_steam', 28800)) + .blastFurnaceTemp(1000) + .addData("hb_energy", 10) + .circuit(1) +*/ + event.recipes.deafission.hb_export('tfg:boron_coolant_to_dense_steam') + .inputFluids(Fluid.of('gtceu:distilled_water', 28800)) + .outputFluids(Fluid.of('gtceu:dense_steam', 115200)) + .blastFurnaceTemp(1000) + .addData("hb_energy", 40) + //.circuit(2) + event.recipes.deafission.hb_import('tfg:dense_steam') - .inputFluids(Fluid.of('gtceu:dense_steam', 100)) - .outputFluids(Fluid.of('minecraft:water', 10)) - .blastFurnaceTemp(4000) - .addData("hb_energy", 100) - */ + .inputFluids(Fluid.of('gtceu:dense_steam', 20)) + .outputFluids(Fluid.of('minecraft:water', 20)) + .blastFurnaceTemp(1000) + .addData("hb_energy", 20) + + //#endregion + + //#region Processing Depleted TBU + + let j = event.recipes.gtceu.nuclear_fuel_factory('tfg:americium_300_t1') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 0), + NBTPredicates.lte("avgHeat", 100) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('12x gtceu:tiny_americium_241_dust'), 2500, 0) + .chancedOutput(Item.of('16x gtceu:tiny_americium_241_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "100") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(j, true); + + let k = event.recipes.gtceu.nuclear_fuel_factory('tfg:americium_300_t2') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 101), + NBTPredicates.lte("avgHeat", 200) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('4x gtceu:tiny_americium_241_dust'), 2500, 0) + .chancedOutput(Item.of('8x gtceu:tiny_americium_241_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "101") + .addDataString("avgHeat2", "200") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(k, true); + + let l = event.recipes.gtceu.nuclear_fuel_factory('tfg:americium_30_t3') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 201), + NBTPredicates.lte("avgHeat", 300) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('1x gtceu:tiny_americium_241_dust'), 2500, 0) + .chancedOutput(Item.of('2x gtceu:tiny_americium_241_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "201") + .addDataString("avgHeat2", "300") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(l, true); + + let m = event.recipes.gtceu.nuclear_fuel_factory('tfg:neptunium_t1') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 301), + NBTPredicates.lte("avgHeat", 400) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('1x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .chancedOutput(Item.of('2x gtceu:tiny_neptunium_237_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "301") + .addDataString("avgHeat2", "400") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(m, true); + + let n = event.recipes.gtceu.nuclear_fuel_factory('tfg:neptunium_t2') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 401), + NBTPredicates.lte("avgHeat", 500) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('4x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .chancedOutput(Item.of('8x gtceu:tiny_neptunium_237_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "401") + .addDataString("avgHeat2", "500") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(n, true); + + let o = event.recipes.gtceu.nuclear_fuel_factory('tfg:neptunium_t3') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 501), + NBTPredicates.lte("avgHeat", 599) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('12x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .chancedOutput(Item.of('16x gtceu:tiny_neptunium_237_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "501") + .addDataString("avgHeat2", "599") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(o, true); + + let p = event.recipes.gtceu.nuclear_fuel_factory('tfg:californium_t1') + .inputFluids(Fluid.of('tfg:high_grade_isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 800), + NBTPredicates.lte("avgHeat", 899) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('gtceu:tiny_californium_252_dust'), 2500, 0) + .chancedOutput(Item.of('2x gtceu:tiny_californium_252_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_high_grade_isotopic_solvent', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "800") + .addDataString("avgHeat2", "899") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(p, true); + + let q = event.recipes.gtceu.nuclear_fuel_factory('tfg:californium_t2') + .inputFluids(Fluid.of('tfg:high_grade_isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 900), + NBTPredicates.lte("avgHeat", 999) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('4x gtceu:tiny_californium_252_dust'), 2500, 0) + .chancedOutput(Item.of('8x gtceu:tiny_californium_252_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_high_grade_isotopic_solvent', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "900") + .addDataString("avgHeat2", "999") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(q, true); + + let r = event.recipes.gtceu.nuclear_fuel_factory('tfg:californium_t3') + .inputFluids(Fluid.of('tfg:high_grade_isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 1000), + NBTPredicates.lte("avgHeat", 1100) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('12x gtceu:tiny_californium_252_dust'), 2500, 0) + .chancedOutput(Item.of('16x gtceu:tiny_californium_252_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_high_grade_isotopic_solvent', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "1000") + .addDataString("avgHeat2", "1100") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(r, true); + + let s = event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_overheated') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate(Item.of('tfg:depleted_tbu_232_rod'), NBTPredicates.gte("avgHeat", 1101)) + .chancedOutput(Item.of('1x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 4000)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "1101") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(s, true); + //#region FLiBe Line - SCRAP FROM MARS TO VENUS - - /* - +/* event.recipes.gtceu.evaporation_tower('raw_rich_brine_earth') .inputFluids(Fluid.of('tfc:spring_water', 20000)) - .outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .outputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .duration(20*50) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.evaporation_tower('raw_rich_brine_mars') .inputFluids(Fluid.of('tfg:heavy_ammoniacal_water', 20000)) - .outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .outputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .duration(20*50) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('hydrogen_iodide_to_hot_iodine_brine') .inputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000)) - .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .inputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000)) - .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000)) + .outputFluids(Fluid.of('tfg:hot_iodine_brine', 1000)) .duration(20*24) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.large_chemical_reactor('basic_bromine_exhaust_to_hot_iodine_brine') - .inputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000)) - .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .inputFluids(Fluid.of('tfg:basic_bromine_exhaust', 1000)) + .inputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000)) - .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000)) + .outputFluids(Fluid.of('tfg:hot_iodine_brine', 1000)) .outputFluids(Fluid.of('gtceu:steam', 1000)) .duration(20*30) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.evaporation_tower('brominated_iodine_vapor') - .inputFluids(Fluid.of('gtceu:hot_iodine_brine', 10000)) + .inputFluids(Fluid.of('tfg:hot_iodine_brine', 10000)) .itemOutputs('#forge:dusts/magnesium_chloride') - .outputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000)) + .outputFluids(Fluid.of('tfg:brominated_iodine_vapor', 1000)) .duration(20*50) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('lithium_carbonate') - .inputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000)) + .inputFluids(Fluid.of('tfg:brominated_iodine_vapor', 1000)) .itemInputs('#forge:dusts/sodium_hydroxide') .itemOutputs('#forge:dusts/lithium_carbonate') - .outputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000)) + .outputFluids(Fluid.of('tfg:basic_bromine_exhaust', 1000)) .duration(20*54) .EUt(GTValues.VA[GTValues.HV]) @@ -549,24 +1143,119 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('minecraft:water', 1000)) .itemInputs('#forge:gems/lithium_fluoride') .itemInputs('#forge:gems/tetrafluoroberyllate') - .outputFluids(Fluid.of('gtceu:dirty_flibe', 1000)) + .outputFluids(Fluid.of('tfg:dirty_flibe', 1000)) .blastFurnaceTemp(3600) .duration(20*36) .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.electrolyzer('flibe') - .inputFluids(Fluid.of('gtceu:dirty_flibe', 1000)) - .outputFluids(Fluid.of('gtceu:flibe', 1000)) + .inputFluids(Fluid.of('tfg:dirty_flibe', 1000)) + .outputFluids(Fluid.of('tfg:flibe', 1000)) .itemOutputs('#forge:dusts/chromium') .itemOutputs('gtceu:nickel_dust') .itemOutputs('gtceu:iron_dust') .duration(20*36) .EUt(GTValues.VA[GTValues.IV]) - - */ - +*/ //#endregion + //#region Isotopic Solvent and degradated + + event.recipes.gtceu.chemical_reactor('tfg:copper_trace_catalyst') + .itemInputs('#forge:dusts/copper') + .itemInputs('2x #forge:dusts/salt') + .itemInputs('#forge:dusts/magnesium') + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000)) + .inputFluids(Fluid.of('gtceu:oxygen', 3000)) + .itemOutputs('13x tfg:copper_trace_catalyst_dust') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:trace_catalyst_salt_e') + .itemInputs('13x tfg:copper_trace_catalyst_dust') + .inputFluids(Fluid.of('gtceu:ethanol', 1000)) + .inputFluids(Fluid.of('gtceu:distilled_water', 1000)) + .itemOutputs('25x tfg:trace_catalyst_salt_e_dust') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:organic_stabilizer') + .itemInputs('2x #forge:dusts/ammonium_chloride') + .inputFluids(Fluid.of('gtceu:phenol', 1000)) + .inputFluids(Fluid.of('gtceu:ethanol', 2000)) + .inputFluids(Fluid.of('gtceu:toluene', 3000)) + .itemOutputs('8x tfg:organic_stabilizer_dust') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:sodium_fluoride') + .itemInputs('#forge:dusts/sodium') + .inputFluids(Fluid.of('gtceu:fluorine', 1000)) + .itemOutputs('2x tfg:sodium_fluoride_dust') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:isotopic_solvent') + .itemInputs('25x tfg:trace_catalyst_salt_e_dust') + .itemInputs('8x tfg:organic_stabilizer_dust') + .itemInputs('2x tfg:sodium_fluoride_dust') + .inputFluids(Fluid.of('gtceu:argon', 1000)) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfg:isotopic_solvent', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + // Degraded solvent + + event.recipes.gtceu.centrifuge('tfg:centrifuge_degraded_solvent') + .inputFluids(Fluid.of('tfg:degraded_solvent_stream', 1000)) + .itemOutputs('tfg:inert_dust_fraction_dust') + .outputFluids(Fluid.of('tfg:residual_sludge', 1000)) + .outputFluids(Fluid.of('tfg:gas_fraction', 1000)) + .outputFluids(Fluid.of('tfg:organic_degradation_slurry', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_gas_fraction') + .inputFluids(Fluid.of('tfg:gas_fraction', 1000)) + .outputFluids(Fluid.of('gtceu:argon', 500)) + .outputFluids(Fluid.of('gtceu:radon', 500)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.distillation_tower('tfg:distill_organic_degradation_slurry') + .inputFluids(Fluid.of('tfg:organic_degradation_slurry', 1000)) + .outputFluids(Fluid.of('gtceu:ethanol', 3000)) + .outputFluids(Fluid.of('gtceu:toluene', 3000)) + .outputFluids(Fluid.of('gtceu:dichlorobenzene', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.autoclave('tfg:mixed_radioactive_fluid') + .itemInputs('tfg:inert_dust_fraction_dust') + .inputFluids(Fluid.of('tfg:residual_sludge', 1000)) + .itemOutputs('tfg:recovered_ionic_complex_dust') + .outputFluids(Fluid.of('tfg:mixed_radioactive_fluid', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.electrolyzer('tfg:electrolyze_recovered_ionic_complex') + .itemInputs('tfg:recovered_ionic_complex_dust') + .itemOutputs('2x #forge:dusts/sodium') + .itemOutputs('#forge:dusts/magnesium') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_mixed_radioactive_fluid') + .inputFluids(Fluid.of('tfg:mixed_radioactive_fluid', 1000)) + .outputFluids(Fluid.of('gtceu:sulfuric_copper_solution', 1000)) + .outputFluids(Fluid.of('gtceu:fluorine', 2000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + //#region Epoxidized Isosorbide Linolenate event.recipes.gtceu.distillery('tfg:linolenic_from_seed') @@ -647,7 +1336,46 @@ function registerTFGNuclearRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.IV]) - //#endregion + //#region Boron Coolant + + event.recipes.gtceu.chemical_reactor('tfg:boron_trichloride') + .inputFluids(Fluid.of('gtceu:chlorine', 2000)) + .itemInputs(Item.of('gtceu:boron_dust', 1)) + .outputFluids(Fluid.of('tfg:boron_thrichloride')) + .circuit(2) + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('tfg:enriched_boron_trichloride') + .inputFluids(Fluid.of('tfg:boron_thrichloride', 1000)) + .outputFluids(Fluid.of('tfg:enriched_boron_thrichloride', 10)) + .duration(20*62) + .EUt(GTValues.VHA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_10_hydroxide') + .inputFluids(Fluid.of('tfg:enriched_boron_thrichloride', 1000), Fluid.of('minecraft:water', 6000) ) + .itemOutputs(Item.of('tfg:boron_10_hydroxide_dust')) + .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .circuit(2) + .duration(20*8) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_enriched_coolant') + .inputFluids(Fluid.of('gtceu:nitrogen', 2000)) + .itemInputs(Item.of('tfg:boron_10_hydroxide_dust'), Item.of('tfg:sodium_deuteroxide_dust')) + .outputFluids(Fluid.of('tfg:boron_enriched_coolant', 1500)) + .circuit(2) + .duration(20*14) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_10') + .inputFluids(Fluid.of('tfg:heavy_water', 1000)) + .itemInputs(Item.of('gtceu:sodium_dust')) + .itemOutputs(Item.of('tfg:sodium_deuteroxide_dust', 1)) + .circuit(2) + .duration(20*14) + .EUt(GTValues.VA[GTValues.EV]) + } diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index 97fe73b6c..aacbef8fd 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -8,6 +8,13 @@ const registerTFGItemTagsNuclear = (event) => { event.add('deafission:fuels', 'tfg:plutonium_rod') event.add('tfg:fission_rods', '#deafission:fuels') + let FISSION_ROD_TAG = 'tfg:fission_rods'; + + event.add(FISSION_ROD_TAG, 'tfg:tbu_232_rod'); + event.add(FISSION_ROD_TAG, 'tfg:americium_241_rod'); + event.add(FISSION_ROD_TAG, 'tfg:neptunium_237_rod'); + event.add(FISSION_ROD_TAG, 'tfg:californium_252_rod'); + } const registerTFGBlockTagsNuclear = (event) => { @@ -39,14 +46,28 @@ const registerTFGBlockTagsNuclear = (event) => { event.add(COMPONENTS_HB, 'minecraft:sand'); event.add(COMPONENTS_HB, 'tfg:impure_moderate_core_frame'); - + event.add(COMPONENTS_HB, 'tfg:moderate_core_frame'); event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only //#endregion + } //#endregion //#region Fluids const registerTFGFluidTagsNuclear = (event) => { + // Fluid allowed for the SMR Hatch + + let SMR_FLUIDS = 'tfg:smr_fluids'; + + event.add(SMR_FLUIDS, 'gtceu:lubricant'); + event.add(SMR_FLUIDS, 'tfg:polyalkylene_lubricant'); + event.add(SMR_FLUIDS, 'tfg:spent_ticl4_doped_supercritical_co2'); + event.add(SMR_FLUIDS, 'tfg:ozone'); + event.add(SMR_FLUIDS, 'tfg:cyclohex_diperoxide'); + event.add(SMR_FLUIDS, 'tfg:booster_t3'); + + //#endregion + } diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index a6826317b..e979f098e 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -169,13 +169,13 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 2000), Fluid.of('gtceu:steam', 4000)) .outputFluids(Fluid.of('tfg:reformate_gas', 8000)) .outputFluids(Fluid.of('tfg:cracker_off_gas', 1000)) - .duration(20*30) + .duration(20*16) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_reactor('tfg:reformate_gas') .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 2000), Fluid.of('gtceu:steam', 1000)) .outputFluids(Fluid.of('tfg:reformate_gas', 3000)) - .duration(20*30) + .duration(20*16) .EUt(GTValues.VA[GTValues.MV]) // Recycling @@ -190,11 +190,12 @@ function registerTFGEarlyGasRecipes(event) { // Modify Recipe to balance new line event.remove({ id: 'gtceu:extractor/charcoal_extraction' }) + /* event.recipes.gtceu.extractor('tfg:charcoal_extraction') .itemInputs(Item.of('minecraft:charcoal')) .outputFluids(Fluid.of('gtceu:wood_tar', 100)) .duration(20*6.4) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.MV])*/ //#endregion @@ -235,7 +236,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.gas_turbine('tfg:btx_fuel') // Gas Turbine .inputFluids(Fluid.of('tfg:btx_fuel', 1)) .EUt(-(32)) - .duration(20*2.6) + .duration(20*2.86) .dimension('minecraft:overworld') .dimension('minecraft:the_nether') @@ -246,7 +247,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.chemical_reactor('tfg:electrolyze_syngas') .notConsumable(Item.of('gtceu:copper_dust', 1)) .inputFluids(Fluid.of('tfg:syngas', 1000)) - .outputFluids(Fluid.of('gtceu:methanol', 4000), Fluid.of('minecraft:water', 2000)) + .outputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('minecraft:water', 2000)) .duration(20*12) .EUt(GTValues.VA[GTValues.MV]) @@ -273,7 +274,7 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('gtceu:ammonia', 1000), Fluid.of('gtceu:ethanol', 1000)) .outputFluids(Fluid.of('tfg:tpaoh', 1000)) .duration(20*8) - .EUt(GTValues.VA[GTValues.EV]) + .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_reactor('tfg:zsm_5_gel') .itemInputs(Item.of('#forge:dusts/sodium_aluminium')) @@ -303,6 +304,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('tfg:catalyser_pt_re_zsm')) .inputFluids(Fluid.of('tfg:reformate_gas', 8000)) .inputFluids(Fluid.of('gtceu:propene', 2000)) + .itemOutputs(Item.of('tfg:used_catalyser', 1)) .outputFluids(Fluid.of('tfg:crude_mixed_gas', 10000)) .duration(20*240) .EUt(GTValues.VA[GTValues.LV]) @@ -312,8 +314,7 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('gtceu:benzene', 20000)) .inputFluids(Fluid.of('gtceu:toluene', 6000)) .inputFluids(Fluid.of('gtceu:dimethylbenzene', 12000)) - .itemOutputs(Item.of('tfg:used_catalyser', 1)) - .outputFluids(Fluid.of('tfg:btx_fuel', 48000)) + .outputFluids(Fluid.of('tfg:btx_fuel', 54000)) .duration(20*6) .EUt(GTValues.VA[GTValues.IV]) .circuit(24) @@ -328,7 +329,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.chemical_reactor('tfg:clean_powder') .itemInputs(Item.of('tfg:catalyser_powder_dust', 1)) - .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 2000)) + .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200)) .itemOutputs(Item.of('tfg:clean_powder_dust', 1), Item.of('gtceu:sodium_dust', 1)) .duration(20*14) .EUt(GTValues.VA[GTValues.MV]) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js new file mode 100644 index 000000000..ae4171c2f --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js @@ -0,0 +1,101 @@ +function registerTFGPowerGenBalance(event) { + + //#region Buff fuels + + event.remove({ id: 'gtceu:combustion_generator/cetane_diesel' }) + event.recipes.gtceu.combustion_generator('tfg:cetane_boosted_diesel') + .inputFluids(Fluid.of('gtceu:cetane_boosted_diesel', 1)) + .duration(20*1.6) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + //#endregion + + //#region Nerf/Removed +/* COMMENT OUT UNTIL WE WANT TO ENABLE THE NERF + event.remove({ id: 'gtceu:gas_turbine/benzene' }) + event.recipes.gtceu.gas_turbine('tfg:benzene') + .inputFluids(Fluid.of('gtceu:benzene', 1)) + .duration(20*0.2) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + event.remove({ id: 'gtceu:gas_turbine/nitrobenzene' }) + event.recipes.gtceu.gas_turbine('tfg:nitrobenzene') + .inputFluids(Fluid.of('gtceu:nitrobenzene', 1)) + .duration(20*0.5) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') +*/ + // Remove Light fuel ability as a fuel + + event.remove({ id: 'gtceu:combustion_generator/sulfuric_light_fuel' }) + event.remove({ id: 'gtceu:combustion_generator/light_fuel' }) + + + // Make Diesel available at ULV and balance power gen + + event.remove({ id: 'gtceu:combustion_generator/diesel' }) + event.recipes.gtceu.combustion_generator('tfg:diesel') + .inputFluids(Fluid.of('gtceu:diesel', 1)) + .duration(20*0.6) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + event.remove({ id: 'gtceu:mixer/diesel' }) + event.recipes.gtceu.mixer('tfg:diesel') + .inputFluids(Fluid.of('gtceu:light_fuel', 5000), Fluid.of('gtceu:heavy_fuel', 1000)) + .outputFluids(Fluid.of('gtceu:diesel', 6000)) + .duration(20*1.6) + .EUt(GTValues.VA[GTValues.LV]) + + // Oil to Light Fuel + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:light_fuel', 250), [Fluid.of('gtceu:oil', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/light_fuel_from_oil') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:light_fuel', 50), [Fluid.of('gtceu:oil_light', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/light_fuel_from_light_oil') + + // Raw Oil to Naphtha + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:naphtha', 500), [Fluid.of('gtceu:oil_raw', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/light_fuel_from_raw_oil') + + // Heavy oil to Heavy Fuel + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:heavy_fuel', 750), [Fluid.of('gtceu:oil_heavy', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/heavy_fuel_from_heavy_oil') + + // Switch HOG to require IV Energy Hatch + + event.remove({ id: 'gtceu:large_chemical_reactor/high_octane_gasoline' }) + event.recipes.gtceu.large_chemical_reactor('tfg:high_octane_gasoline') + .inputFluids( + Fluid.of('gtceu:gasoline', 20000), + Fluid.of('gtceu:octane', 2000), + Fluid.of('gtceu:nitrous_oxide', 2000), + Fluid.of('gtceu:toluene', 1000), + Fluid.of('gtceu:ethyl_tertbutyl_ether', 1000)) + .outputFluids(Fluid.of('gtceu:high_octane_gasoline', 32000)) + .duration(20*1.5) + .EUt(GTValues.VA[GTValues.LuV]) + .circuit(24) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index eec9b4a7a..25f4720d9 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -67,6 +67,7 @@ const registerTFGRecipes = (event) => { registerTFGNuclearComponentsRecipes(event) registerTFGSolarRecipes(event) registerTFGCoalRecipes(event) + registerTFGPowerGenBalance(event) registerTFGZirconiumRecipes(event) registerTFGBromineRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index ad5bc65a4..f80d3b1b6 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -177,5 +177,52 @@ function registerTFGMiscellaneousRecipes(event) { .duration(5*20) .EUt(GTValues.VA[GTValues.LV]) .addMaterialInfo(true); + + // Gregtech CEu Terminals Integration + + //event.remove({ id : 'gtceuterminal:dismantler' }) + event.shaped('1x gtceuterminal:dismantler', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:mv_sensor', + B: 'gtceu:mv_emitter', + C: '#gtceu:circuits/mv', + D: 'gtceu:computer_monitor_cover', + E: 'gtceu:mv_voltage_coil', + F: '#forge:plates/aluminium' + }).id(`tfg:shaped/dismantler`) + + event.remove({ id : 'gtceuterminal:multi_structure_manager' }) + event.shaped('1x gtceuterminal:multi_structure_manager', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:hv_sensor', + B: 'gtceu:hv_emitter', + C: '#gtceu:circuits/hv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/hv', + F: '#forge:plates/stainless_steel' + }).id(`tfg:shaped/multi_structure_manager`) + + event.remove({ id : 'gtceuterminal:schematic_interface' }) + /* Broken for now as it can duplicate resources in the I/O Ports + event.shaped('1x gtceuterminal:schematic_interface', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:iv_sensor', + B: 'gtceu:iv_emitter', + C: '#gtceu:circuits/iv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/iv', + F: '#forge:plates/tungsten_steel' + }).id(`tfg:shaped/schematic_interface`) + */ + } diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 20241104f..dfd7a176b 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -207,6 +207,7 @@ const registerGTCEuMachines = (event) => { .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)) .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)) .or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('#', Predicates.air()) @@ -380,7 +381,7 @@ const registerGTCEuMachines = (event) => { .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))) .where('C', Predicates.blocks('gtceu:solid_machine_casing') .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(2)) - .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2).setPreviewCount(2)) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1).setPreviewCount(1))) .where('D', Predicates.blocks('create:metal_girder')) .where('E', Predicates.blocks('gtceu:steam_machine_casing')) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 10ed98e61..025b563f5 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -316,10 +316,16 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.RTMAlloy.addFlags(GENERATE_DENSE, GENERATE_SPRING); GTMaterials.Lead.addFlags(GENERATE_DENSE); + GTMaterials.Beryllium.addFlags(GENERATE_DENSE); + GTMaterials.MaragingSteel300.addFlags(GENERATE_DENSE); + GTMaterials.Quartzite.addFlags(GENERATE_ROD); GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD); + GTMaterials.Cadmium.addFlags(GENERATE_PLATE); + GTMaterials.Cadmium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); + // Hide ore processing tab for plutonium GTMaterials.Plutonium239.addFlags(GENERATE_ROD, GENERATE_LONG_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) @@ -328,7 +334,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Zirconium.setProperty(PropertyKey.DUST, new $DUST_PROPERTY()); GTMaterials.Zirconium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); GTMaterials.Zirconium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4200, 'mid', GTValues.VA[GTValues.EV], 1300, GTValues.VA[GTValues.HV], 14.7*20)); - GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING); + GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, GENERATE_DENSE, NO_ORE_SMELTING); // Tools GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 3cffd2c81..849baf9e7 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -20,15 +20,15 @@ const registerGTCEuRecipeTypes = (event) => { .setMaxIOSize(2, 0, 2, 1) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING) - +/* event.create('nuclear_fuel_factory') .category('nuclear_fuel_factory') .setEUIO('in') - .setMaxIOSize(6, 1, 1, 0) + .setMaxIOSize(6, 1, 1, 1) .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.CUT) - +*/ event.create('heat_exchanger') .category('heat_exchanger') .setEUIO('in') diff --git a/kubejs/startup_scripts/tfg/element.js b/kubejs/startup_scripts/tfg/element.js index b71cadcb5..e7fa697bf 100644 --- a/kubejs/startup_scripts/tfg/element.js +++ b/kubejs/startup_scripts/tfg/element.js @@ -4,10 +4,42 @@ const registerTFGElement = (event) => { event.create("thorium_230") .protons(90) - .neutrons(230) + .neutrons(140) .symbol("Th²³⁰") + event.create("thorium_232") .protons(90) - .neutrons(232) + .neutrons(142) .symbol("Th²³²") + + event.create("boron_10") + .protons(5) + .neutrons(6) + .symbol("B¹⁰") + + event.create("americium_241") + .protons(95) + .neutrons(146) + .symbol("Am²⁴¹") + + event.create("neptunium_237") + .protons(93) + .neutrons(144) + .symbol("Np²³⁷") + + event.create("californium_252") + .protons(98) + .neutrons(154) + .symbol("Ca²⁵²") + + event.create("unknown") + .protons(75) + .neutrons(75) + .symbol("?") + + event.create("caesium_137") + .protons(55) + .neutrons(82) + .symbol("Cs¹³⁷") + } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index 3f9cadb31..87bba4564 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -28,5 +28,10 @@ const registerTFGFluids = (event) => { .noBlock() // Venus + event.create('tfg:supercritical_co2') + .thinTexture(0x3deb96) + .bucketColor(0x08733f) + .temperature(236) + .noBlock() } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index e048876ce..fb53dba15 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -22,6 +22,11 @@ function registerTFGMarsMaterials(event) { event.create('residual_radioactive_concoction') .liquid(new GTFluidBuilder().customStill().temperature(450)) + // New OLA Materials + + event.create('tfg:radioactive_effluent') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + // Atmosphere event.create('tfg:mars_air') @@ -100,7 +105,7 @@ function registerTFGMarsMaterials(event) { .components('2x ostrum', 'iodine') .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) .iconSet(GTMaterialIconSet.getByName('cereal_box')) - .flags(GTMaterialFlags.GENERATE_GEAR) + .flags(GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FOIL) .color(0xc696f2) .secondaryColor(0x9b99ff) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index ad21a71ba..158fb7185 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -241,4 +241,14 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.GENERATE_PLATE) // #endregion + + //#region Material for Coils + + event.create('tfg:nichromium_iodomethylate') + .liquid(new GTFluidBuilder().temperature(1818)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('4x nickel', '1x chromium', '1x carbon', '3x hydrogen', '1x iodine') + .color(0xe7a2fc) + + } diff --git a/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js index 33d19dcb9..50304d7cb 100644 --- a/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js @@ -5,8 +5,18 @@ function registerTFGNuclearItems(event) { // Empty Fission Rod event.create('tfg:empty_rod') - .translationKey('item.tfg.empty_road') - .texture('tfg:item/fuel_rod_empty') + .translationKey('item.tfg.empty_rod') + .texture('tfg:item/fission_rod/fuel_rod_empty') + .tag('tfg:fission_rods') + + event.create('tfg:empty_rod_t2') + .translationKey('item.tfg.empty_rod_t2') + .texture('tfg:item/fission_rod/fuel_rod_empty_t2') + .tag('tfg:fission_rods') + + event.create('tfg:empty_rod_t3') + .translationKey('item.tfg.empty_rod_t3') + .texture('tfg:item/fission_rod/fuel_rod_empty_t3') .tag('tfg:fission_rods') event.create('tfg:refrigerant_pellet') @@ -14,6 +24,11 @@ function registerTFGNuclearItems(event) { .texture('tfg:item/refrigerant_pellet') .tag('tfg:fission_coolant') + event.create('tfg:terrafirmaguard_pa6') + .translationKey('item.tfg.terrafirmaguard_pa6') + .texture('tfg:item/terrafirmaguard_pa6') + .tag('tfg:fission_coolant') + // Moderator Line event.create('tfg:graphite_compound') diff --git a/kubejs/startup_scripts/tfg/nuclear/machine.js b/kubejs/startup_scripts/tfg/nuclear/machine.js new file mode 100644 index 000000000..837ae36ab --- /dev/null +++ b/kubejs/startup_scripts/tfg/nuclear/machine.js @@ -0,0 +1,8 @@ +// priority: 0 +"use strict"; + +GTCEuStartupEvents.registry('gtceu:machine', _ => { + const $FrComponents = Java.loadClass("fi.dea.mc.deafission.core.c2.fr.FrComponents"); + const $ReactorBaseStats = Java.loadClass("fi.dea.mc.deafission.core.ReactorBaseStats"); + $ReactorBaseStats.Smr1 = new $FrComponents(200, 0, 0); +}) \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index c78078fb4..04a1dd43c 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -50,10 +50,16 @@ const registerTFGNuclearMaterials = (event) => { .components('1x water', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - // Coolant + //#region Coolant + + event.create('tfg:warm_water') + .liquid(new GTFluidBuilder().temperature(313)) + .components('2x hydrogen', '1x oxygen') + .color(0x8de3fc) + .secondaryColor(0x81FFF9) event.create('tfg:heavy_water') - .liquid(new GTFluidBuilder().temperature(236)) + .liquid(new GTFluidBuilder().customStill().temperature(236)) .components('2x deuterium', '1x oxygen') .color(0xB5B9FF) .secondaryColor(0x81FFF9) @@ -65,16 +71,24 @@ const registerTFGNuclearMaterials = (event) => { .secondaryColor(0x81FFF9) event.create('tfg:boron_enriched_coolant') - .liquid(new GTFluidBuilder().temperature(213)) + .liquid(new GTFluidBuilder().customStill().temperature(213)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x43D6E4) - .secondaryColor(0x2C9AAF) event.create('tfg:hot_boron_enriched_coolant') - .liquid(new GTFluidBuilder().temperature(2000)) + .liquid(new GTFluidBuilder().customStill().temperature(2000)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xFF715B) - .secondaryColor(0xFF9D6E) + + event.create('tfg:ticl4_doped_supercritical_co2') + .liquid(new GTFluidBuilder().customStill().temperature(500)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x titanium', '4x chlorine', '1x carbon', '2x oxygen') + + event.create('tfg:spent_ticl4_doped_supercritical_co2') + .liquid(new GTFluidBuilder().customStill().temperature(2000)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x titanium', '4x chlorine', '1x carbon', '2x oxygen') + + //#endregion // Fision Waste @@ -84,7 +98,7 @@ const registerTFGNuclearMaterials = (event) => { .color(0xB5B9FF) .secondaryColor(0x81FFF9) - event.create('nuclear_waste') + event.create('tfg:tbu_waste') .liquid(new GTFluidBuilder().customStill().temperature(3850)) .components('1x thorium', '1x uranium', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) @@ -114,7 +128,7 @@ const registerTFGNuclearMaterials = (event) => { .secondaryColor(0xfc5e03) event.create('tritiated_water') - .fluid() + .liquid(new GTFluidBuilder().customStill()) .components('2x tritium', '1x oxygen') .color(0xb2c3e7) @@ -136,39 +150,81 @@ const registerTFGNuclearMaterials = (event) => { // FLiBe Line - event.create('raw_rich_brine') - .liquid(new GTFluidBuilder().customStill().temperature(293)) + event.create('tfg:raw_rich_brine') + .liquid(new GTFluidBuilder().temperature(293)) + .color(0xf2b257) + .secondaryColor(0xcd8dbc) - event.create('hot_iodine_brine') - .liquid(new GTFluidBuilder().customStill().temperature(293)) + event.create('tfg:hot_iodine_brine') + .liquid(new GTFluidBuilder().temperature(293)) .components('1x hydrogen', '1x iodine', '1x magnesium', '1x chlorine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf26c57) + .secondaryColor(0xcd8dbc) - event.create('brominated_iodine_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412)) + event.create('tfg:brominated_iodine_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(412)) .components('1x hydrogen', '1x iodine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf5f1b5) + .secondaryColor(0xcd8dbc) - event.create('basic_bromine_exhaust') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406)) + event.create('tfg:basic_bromine_exhaust') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(406)) .components('1x bromine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf5bbb5) + .secondaryColor(0xcd8dbc) - event.create('flibe') + event.create('tfg:flibe') .liquid(new GTFluidBuilder().customStill().temperature(293)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('1x fluorine', '1x lithium', '1x beryllium') - event.create('dirty_flibe') - .liquid(new GTFluidBuilder().customStill().temperature(293)) + event.create('tfg:dirty_flibe') + .liquid(new GTFluidBuilder().temperature(293)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('1x flibe', '1x unknown') + .color(0xdaffd6) + .secondaryColor(0xcd8dbc) - event.create('hot_flibe') + event.create('tfg:hot_flibe') .liquid(new GTFluidBuilder().customStill().temperature(3293)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('1x flibe') + // Material Fission Earth + + event.create('boron_10') + .dust() + .element(GTElements.get("boron_10")) + .iconSet(GTMaterialIconSet.DULL) + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xf8a8c0) + .secondaryColor(0xcd8dbc) + + event.create('caesium_137') + .dust() + .element(GTElements.get("caesium_137")) + .iconSet(GTMaterialIconSet.METALLIC) + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xB6FF00) + .secondaryColor(0x9FAFB2) + + event.create('tfg:boron_thrichloride') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(380)) + .components('1x boron', '3x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xb3fcb9) + //.secondaryColor(0x9FAFB2) + + event.create('tfg:enriched_boron_thrichloride') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(480)) + .components("boron_10", '3x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x65db6f) + .secondaryColor(0x9FAFB2) + //#endregion //#region Dust @@ -199,6 +255,23 @@ const registerTFGNuclearMaterials = (event) => { .secondaryColor('0xffffff') .iconSet(GTMaterialIconSet.RADIOACTIVE) + event.create('tfg:boron_10_hydroxide') + .dust() + .components('boron_10', '2x oxygen', '1x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x8ee8a6) + .secondaryColor('0xffffff') + .iconSet(GTMaterialIconSet.RADIOACTIVE) + + event.create('tfg:sodium_deuteroxide') + .dust() + .components('1x sodium', '2x deuterium', '1x oxygen') + .formula('NaOD') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfef8f6) + .secondaryColor('0xffffff') + .iconSet(GTMaterialIconSet.NETHERSTAR) + // FLiBe Dusts event.create('lithium_carbonate') @@ -233,7 +306,7 @@ const registerTFGNuclearMaterials = (event) => { .ingot() .element(GTElements.get("thorium_230")) .iconSet(GTMaterialIconSet.RADIOACTIVE) - .flags(GTMaterialFlags.GENERATE_ROD) + .flags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD) .color(0xf8a8c0) .secondaryColor(0xcd8dbc) .radioactiveHazard(1000000) @@ -242,35 +315,35 @@ const registerTFGNuclearMaterials = (event) => { .ingot() .element(GTElements.get("thorium_232")) .iconSet(GTMaterialIconSet.RADIOACTIVE) - .flags(GTMaterialFlags.GENERATE_ROD) + .flags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD) .color(0x694c66) .radioactiveHazard(1000) - event.create('tfg:americium_241') + event.create('americium_241') .ingot() .element(GTElements.get("americium_241")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) - .color(0x0600ff) - .secondaryColor(0x1b1d36) + .color(0x10B193) + .secondaryColor(0x66ff00) .radioactiveHazard(1000000) - event.create('tfg:neptunium_237') + event.create('neptunium_237') .ingot() .element(GTElements.get("neptunium_237")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) .color(0x00df98) - .secondaryColor(0xffffff) + .secondaryColor(0x66ff00) .radioactiveHazard(5000000) - event.create('tfg:californium_252') + event.create('californium_252') .ingot() .element(GTElements.get("californium_252")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) .color(0xffba00) - .secondaryColor(0xdfffff) + .secondaryColor(0x66ff00) .radioactiveHazard(10000000) //#endregion @@ -324,73 +397,73 @@ const registerTFGNuclearMaterials = (event) => { //#region Isotopic Solvent - // Organic Stabilizer + // Organic Stabilizer event.create('tfg:organic_stabilizer') - .dust() - .components('49x carbon', '64x hydrogen', '6x oxygen', '1x nitrogen', '1x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xd8c9b5) - .secondaryColor(0xb8a896) + .dust() + .components('31x carbon', '46x hydrogen', '3x oxygen', '1x nitrogen', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xd8c9b5) + .secondaryColor(0xb8a896) .iconSet(GTMaterialIconSet.BRIGHT) // Trace Catalyst Salt - E event.create('tfg:trace_catalyst_salt_e') - .dust() - .components( - '2x carbon', - '9x hydrogen', - '8x oxygen', - '1x copper', - '1x sodium', - '1x chlorine', - '1x magnesium', - '1x fluorine', - '1x sulfur') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xcad4cf) - .secondaryColor(0x9eb1a9) + .dust() + .components( + '2x carbon', + '9x hydrogen', + '8x oxygen', + '1x copper', + '1x sodium', + '1x chlorine', + '1x magnesium', + '1x fluorine', + '1x sulfur') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xcad4cf) + .secondaryColor(0x9eb1a9) .iconSet(GTMaterialIconSet.EMERALD) // Sodium Fluoride event.create('tfg:sodium_fluoride') - .dust() - .components('1x sodium', '1x fluorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xffffff) - .secondaryColor(0xb7b9bd) + .dust() + .components('1x sodium', '1x fluorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xffffff) + .secondaryColor(0xb7b9bd) .iconSet(GTMaterialIconSet.ROUGH) // Copper Trace Catalyst Dust - event.create('tfg:copper_trace_catalyst_dust') - .dust() - .components('1x copper', '1x sodium', '1x chlorine', '1x magnesium', '1x fluorine', '1x sulfur', '6x oxygen', '1x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x4a2e1a) - .secondaryColor(0x7a5c47) + event.create('tfg:copper_trace_catalyst') + .dust() + .components('1x copper', '1x sodium', '1x chlorine', '1x magnesium', '1x fluorine', '1x sulfur', '6x oxygen', '1x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x4a2e1a) + .secondaryColor(0x7a5c47) .iconSet(GTMaterialIconSet.FINE) // Isotopic Solvent event.create('tfg:isotopic_solvent') - .liquid(new GTFluidBuilder().temperature(320)) - .components( - '51x carbon', - '75x hydrogen', - '15x oxygen', - '1x nitrogen', - '2x chlorine', - '2x sodium', - '2x fluorine', - '1x copper', - '1x magnesium', - '1x sulfur', - '1x argon') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xd4b464) - .secondaryColor(0xa88e55) + .liquid(new GTFluidBuilder().customStill().temperature(320)) + .components( + '33x carbon', + '57x hydrogen', + '12x oxygen', + '1x nitrogen', + '2x chlorine', + '2x sodium', + '2x fluorine', + '1x copper', + '1x magnesium', + '1x sulfur', + '1x argon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xd4b464) + .secondaryColor(0xa88e55) // Degraded Solvent Stream event.create('tfg:degraded_solvent_stream') - .liquid(new GTFluidBuilder().temperature(350)) + .liquid(new GTFluidBuilder().customStill().temperature(350)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x8b4513) .secondaryColor(0xd2b48c) @@ -440,6 +513,19 @@ const registerTFGNuclearMaterials = (event) => { .color(0xff4500) .secondaryColor(0xff6347) + // High Grade + + event.create('tfg:high_grade_isotopic_solvent') + .liquid(new GTFluidBuilder().customStill().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfc7303) + .secondaryColor(0xfcf403) + + event.create('tfg:degraded_high_grade_isotopic_solvent') + .liquid(new GTFluidBuilder().customStill().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfc7303) + .secondaryColor(0xfcf403) }; @@ -485,12 +571,14 @@ StartupEvents.registry("item", (event) => { } }; - fuel("thorium_rod", 5000, 1, 0.7, false); // Max Heat 139 - 1 Fuel - fuel("uranium_rod", 20000, 1, 2.2, false); // Max Heat 435 - 1 Fuel - fuel("plutonium_rod", 30000, 4, 3, false); // Max Heat 595 - 1 Fuel - fuel("tbu_232_rod", 10000, 1, 2); // Max Heat 396 - 1 Fuel + fuel("thorium_rod", 5000, 1, 0.7); // Max Heat 139 - 1 Fuel + fuel("uranium_rod", 20000, 1, 2.2); // Max Heat 435 - 1 Fuel + fuel("plutonium_rod", 30000, 1, 3); // Max Heat 595 - 1 Fuel + + fuel("tbu_232_rod", 5000, 1, 2); // Max Heat 396 - 1 Fuel + + fuel("americium_241_rod", 5000000, 1, 0.5); // Max Heat 99 - 1 Fuel + fuel("neptunium_237_rod", 100000, 1, 2); // Max Heat 396 - 1 Fuel + fuel("californium_252_rod", 500000, 1, 4); // Max Heat 792 - 1 Fuel - fuel("americium_241_rod", 1000000, 1, 0.5); - fuel("neptunium_237_rod", 50000, 1, 2); - fuel("californium_252_rod", 500000, 1, 4); }); From 40ddd4f30ee262ad91cd836e590feace1a6acdd0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:53:05 +0000 Subject: [PATCH 094/157] field guide for new mobs --- config/defaultoptions/keybindings.txt | 6 ++- .../en_us/entries/tfg_tips/space_fauna.json | 51 +++++++++++++++---- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt index de2c93287..f0523281e 100644 --- a/config/defaultoptions/keybindings.txt +++ b/config/defaultoptions/keybindings.txt @@ -120,4 +120,8 @@ key_gtceu.key.armor_mode_switch:key.keyboard.o key_key.ftbchunks.map:key.keyboard.unknown:NONE key_key.ftbchunks.claim_manager:key.keyboard.unknown:NONE key_key.ad_astra.toggle_suit_flight:key.keyboard.h:NONE -key_key.ad_astra.open_radio:key.keyboard.r:NONE \ No newline at end of file +key_key.ad_astra.open_radio:key.keyboard.r:NONE +key_key.wan_ancient_beasts.special_ability:key.keyboard.x:NONE +key_key.saveToolbarActivator:key.keyboard.unknown:NONE +key_key.loadToolbarActivator:key.keyboard.unknown:NONE +key_key.tacz.crawl.desc:key.keyboard.x:NONE \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json index c9ccd1669..c11604b73 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "Extraterrestrial Fauna", - "text": "Space is home to many other kinds of animals than those you'd find on Earth. A few animals are hostile and will attack the player, but most are passive. Only a few of them are $(l:mechanics/animal_husbandry)domesticatable$() like the livestock on Earth.$(br)Animals you find on other worlds can be divided into two categories: $(item)hot$() and $(item)cold$(). Animals can only survive on planets that either have a similar climate to where they came from, or on $(thing)temperate$() planets like Earth." + "text": "Space is home to many other kinds of animals than those you'd find on Earth. A few animals are hostile and will attack the player, but most are passive. Only a few of them are $(l:mechanics/animal_husbandry)domesticatable$().$(br)Animals you find on other worlds can be divided into two categories: $(item)hot$() and $(item)cold$(). Animals can only survive on planets that either have a similar climate to where they came from, or on $(thing)temperate$() planets like Earth." }, { "type": "patchouli:text", @@ -105,14 +105,46 @@ "name": " ", "text": "A glacian ram/ewe." }, + { + "type": "patchouli:text", + "title": "Snatcher", + "text": "$(thing)Snatchers$() are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them $(item)Raw Fish$() to tame them.$(br2)Once tamed, you can carry them on your back and equip them with a wooden chest. Press $(k:key.wan_ancient_beasts.special_ability)$() to throw them, and they will steal the contents of the chest and bring it to you." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:snatcher", + "scale": 0.35, + "name": " ", + "text": "A snatcher." + }, + { + "type": "patchouli:text", + "title": "Charger", + "text": "$(thing)Chargers$() are semipassive animals. You can tame them with $(item)any Mars crop$() to use them as a combat land mount.$(br2)Press $(k:key.wan_ancient_beasts.special_ability)$() for a headbutt attack, or press and hold $(item)Spacebar$() for a charge attack.$(br2)They can also be equipped with $(item)dyeable armor$()." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:charger", + "scale": 0.45, + "name": " ", + "text": "Chargers have a natural rivalry with $(thing)Raiders$(). They will attack each other on sight." + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:surfer", - "scale": 0.35, + "scale": 0.4, "offset": 0.2, "name": "Surfer", "text": "$(thing)Surfers$() are semiaquatic passive animals. You can tame them with $(item)Raw Fish$() to ride them underwater. They can also be eaten." }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:soarer", + "scale": 0.4, + "offset": 1.0, + "name": "Soarer", + "text": "$(thing)Soarers$() are passive animals found above -106°C. You can tame them with $(item)Raw Fish$() to use them as a flying mount. They can also be eaten." + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:eater", @@ -127,14 +159,6 @@ "name": "Cruncher", "text": "$(thing)Crunchers$() are territorial $(item)miniboss$() predators. Feed them meat to stop their regeneration. They can also be eaten." }, - { - "type": "patchouli:entity", - "entity": "wan_ancient_beasts:soarer", - "scale": 0.4, - "offset": 1.0, - "name": "Soarer", - "text": "$(thing)Soarers$() are passive animals found above -106°C. You can tame them with $(item)Raw Fish$() to use them as a flying mount. They can also be eaten." - }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:glider", @@ -173,6 +197,13 @@ "name": "Walker", "text": "The gigantic $(thing)Walkers$() inhabit areas above -97°C. They are passive and can be eaten." }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:raider", + "scale": 0.5, + "name": "Raider", + "text": "$(thing)Raiders$() are hostile animals found above -109°C. They have a natural rivalry with $(thing)Chargers$(). You can make them neutral by feeding them $(item)Raw Meat$()." + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:toxlacanth", From b2fe5d351ad55484d7f57b38b141f19c714d0eb4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:20:59 +0000 Subject: [PATCH 095/157] add them to biomes --- .../tfg/worldgen/biome/mars/amber_edge.json | 20 ++++++++++++++++++- .../tfg/worldgen/biome/mars/amber_hills.json | 20 ++++++++++++++++++- .../tfg/worldgen/biome/mars/amber_plains.json | 20 ++++++++++++++++++- .../biome/mars/martian_dune_edge.json | 12 +++++++++++ .../biome/mars/martian_mountains.json | 18 +++++++++++++++++ .../worldgen/biome/mars/martian_river.json | 20 ++++++++++++++++++- .../worldgen/biome/mars/rusticus_edge.json | 20 ++++++++++++++++++- .../worldgen/biome/mars/rusticus_hills.json | 18 +++++++++++++++++ .../worldgen/biome/mars/rusticus_plains.json | 18 +++++++++++++++++ .../tfg/worldgen/biome/mars/sangnum_edge.json | 20 ++++++++++++++++++- .../worldgen/biome/mars/sangnum_hills.json | 18 +++++++++++++++++ .../worldgen/biome/mars/sangnum_plains.json | 20 ++++++++++++++++++- 12 files changed, 217 insertions(+), 7 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index 6a32c043f..23fc49950 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -132,7 +132,25 @@ "type": "wan_ancient_beasts:eater", "maxCount": 1, "minCount": 1, - "weight": 10 + "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 50 }, { "type": "species:goober", diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index c4197ddb0..930731ac2 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -116,7 +116,7 @@ "type": "wan_ancient_beasts:walker", "maxCount": 3, "minCount": 2, - "weight": 20 + "weight": 30 }, { "type": "wan_ancient_beasts:crusher", @@ -142,6 +142,24 @@ "minCount": 1, "weight": 40 }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, { "type": "species:springling", "maxCount": 4, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index 9db57c216..50eef88ce 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -147,7 +147,25 @@ "type": "wan_ancient_beasts:eater", "maxCount": 2, "minCount": 1, - "weight": 15 + "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json index 455793a48..27f4ac101 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -116,6 +116,18 @@ "maxCount": 2, "minCount": 1, "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 2, + "minCount": 1, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 2, + "minCount": 1, + "weight": 20 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 56f61b571..cd441acb3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -148,6 +148,24 @@ "maxCount": 3, "minCount": 2, "weight": 50 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 20 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index ea6e3cd87..338b76712 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -132,7 +132,7 @@ "type": "wan_ancient_beasts:walker", "maxCount": 3, "minCount": 2, - "weight": 20 + "weight": 30 }, { "type": "tfg:glacian_ram", @@ -145,6 +145,24 @@ "maxCount": 2, "minCount": 1, "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index add6a2c08..413473836 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -132,13 +132,31 @@ "type": "wan_ancient_beasts:eater", "maxCount": 1, "minCount": 1, - "weight": 10 + "weight": 20 }, { "type": "species:goober", "maxCount": 2, "minCount": 2, "weight": 40 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 50 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index e5d56f973..50185326f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -153,6 +153,24 @@ "maxCount": 4, "minCount": 3, "weight": 100 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index 209823d94..02836a8fd 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -148,6 +148,24 @@ "maxCount": 2, "minCount": 1, "weight": 15 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index f14203a29..f7a48d0b0 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -132,13 +132,31 @@ "type": "wan_ancient_beasts:eater", "maxCount": 1, "minCount": 1, - "weight": 5 + "weight": 20 }, { "type": "species:goober", "maxCount": 2, "minCount": 2, "weight": 30 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 50 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index cc71e25bc..9cd5ab19c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -153,6 +153,24 @@ "maxCount": 4, "minCount": 3, "weight": 100 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index cce3e0a2c..2943880d7 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -147,7 +147,25 @@ "type": "wan_ancient_beasts:eater", "maxCount": 2, "minCount": 1, - "weight": 15 + "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], From 365acb1e9eed8ecef69b498a8b1c8f40beffe346 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:21:10 +0000 Subject: [PATCH 096/157] recipes and fauna data --- kubejs/server_scripts/tfc_gurman/recipes.js | 2 +- kubejs/server_scripts/tfg/worldgen/data.fauna.js | 9 +++++++++ kubejs/startup_scripts/wan_ancient_beasts/constants.js | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index 2ad4369e8..a6ee1a527 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -516,7 +516,7 @@ function registerTFCGurmanRecipes(event) { 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmini"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmeni"); event.replaceOutput({ id: "tfc_gurman:crafting/raw_vareniki" }, "tfc_gurman:raw_vareniki", "tfc_gurman:raw_vareniki"); event.replaceOutput({ id: "tfc_gurman:crafting/raw_oladyi" }, "tfc_gurman:raw_oladyi", "2x tfc_gurman:raw_oladyi"); event.replaceOutput({ id: "tfc_gurman:crafting/raw_syrniki" }, "tfc_gurman:raw_syrniki", "2x tfc_gurman:raw_syrniki"); diff --git a/kubejs/server_scripts/tfg/worldgen/data.fauna.js b/kubejs/server_scripts/tfg/worldgen/data.fauna.js index e68ce1c84..5621dd1f6 100644 --- a/kubejs/server_scripts/tfg/worldgen/data.fauna.js +++ b/kubejs/server_scripts/tfg/worldgen/data.fauna.js @@ -19,6 +19,7 @@ function registerTFGFauna(event) { climate => { climate.minTemp(-102) climate.maxTemp(-30) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -49,6 +50,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-109) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -59,6 +61,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-97) + climate.maxForest('edge') climate.fuzzy(true) }, faunaData => { @@ -69,6 +72,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-109) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -89,6 +93,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-109) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -99,6 +104,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-107) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -109,6 +115,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-105) + climate.minForest('edge') climate.fuzzy(true) }, faunaData => { @@ -119,6 +126,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-106) + climate.minForest('edge') climate.fuzzy(true) }, faunaData => { @@ -129,6 +137,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-105) + climate.minForest('edge') climate.fuzzy(true) }, faunaData => { diff --git a/kubejs/startup_scripts/wan_ancient_beasts/constants.js b/kubejs/startup_scripts/wan_ancient_beasts/constants.js index a255a4abc..da44bc411 100644 --- a/kubejs/startup_scripts/wan_ancient_beasts/constants.js +++ b/kubejs/startup_scripts/wan_ancient_beasts/constants.js @@ -60,7 +60,7 @@ global.WAB_DISABLED_ITEMS = [ 'wan_ancient_beasts:moonflower', 'wan_ancient_beasts:equisetum_seeds', 'wan_ancient_beasts:olden_moss_carpet', - 'wan_ancient_beasts:olden_moss', + 'wan_ancient_beasts:olden_moss_block', 'wan_ancient_beasts:amber_ginkgo_seeds', 'wan_ancient_beasts:verdant_ginkgo_seeds', 'wan_ancient_beasts:amber_ginkgo_sapling', From 9e0c303438f5cbc33d0167e7d7b1ce62ddbf614e Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Sun, 1 Feb 2026 18:43:07 +0100 Subject: [PATCH 097/157] Update recipes.dyes.js (#2925) * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 * Revert "Update recipes.dyes.js" This reverts commit b06ed24bf42fafc4233c6c6278fa5199e5542bfd. * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 attempt nr 2 --- kubejs/server_scripts/tfc/recipes.dyes.js | 45 +++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/kubejs/server_scripts/tfc/recipes.dyes.js b/kubejs/server_scripts/tfc/recipes.dyes.js index 8499a98f5..a0d9d435b 100644 --- a/kubejs/server_scripts/tfc/recipes.dyes.js +++ b/kubejs/server_scripts/tfc/recipes.dyes.js @@ -156,4 +156,49 @@ function registerTFCDyeRecipes(event) { }) //#endregion + + //#region Dye mixing + const dyeMixes = [ + // input 1 + [ + 'black', 'white', 'white', + 'white', 'blue', 'blue', + 'purple', 'white', 'red', + 'orange', 'yellow' + ], + // input 2 + [ + 'light_gray', 'gray', 'green', + 'blue', 'green', 'red', + 'pink', 'red', 'yellow', + 'black', 'blue' + ], + // output + [ + 'gray', 'light_gray', 'light_green', + 'light_blue', 'cyan', 'purple', + 'magenta', 'pink', 'orange', + 'brown', 'green' + ] + ] + + for (let i = 0; i < dyeMixes[2].length; i++) { + if (!Fluid.exists(`tfc:${dyeMixes[0][i]}_dye`) || + !Fluid.exists(`tfc:${dyeMixes[1][i]}_dye`) || + !Fluid.exists(`tfc:${dyeMixes[2][i]}_dye`) + ) continue + + event.recipes.gtceu.mixer(`mixer_dye_${dyeMixes[2][i]}`) + .inputFluids( + Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 144), + Fluid.of(`tfc:${dyeMixes[1][i]}_dye`, 144) + ) + .outputFluids( + Fluid.of(`tfc:${dyeMixes[2][i]}_dye`, 288) + ) + .duration(20) + .EUt(8) + } + + //#endregion } \ No newline at end of file From e30b293440a909c80865a81ff17ed56c7d4fe44f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:44:41 +0000 Subject: [PATCH 098/157] fix #2928, update cl --- CHANGELOG.md | 4 ++++ kubejs/startup_scripts/gtceu/constants.js | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8d7d7e6f..aba034dc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie +- Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -41,6 +42,9 @@ - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie - Added assembler recipe for framed cubes (#2889) @Coox1e +- Added a furnace recipe for dead grass to thatch (#2935) @Coox1e +- Added support for Bluemap (#2922) @trisjob +- Added mixer recipes for dye fluids (#2925) @OLOXpl ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index e6d531c48..ad6c1828c 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -453,7 +453,10 @@ global.ADD_CIRCUIT = /** @type {const} */ ([ { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 }, { recipeId: "gtceu:chemical_reactor/saltpeter", circuitNumber: 2 }, - { recipeId: "gtceu:large_chemical_reactor/saltpeter", circuitNumber: 2 } + { recipeId: "gtceu:large_chemical_reactor/saltpeter", circuitNumber: 2 }, + + { recipeId: "gtceu:chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 }, + { recipeId: "gtceu:large_chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 }, ]); //#endregion From fbbb9715d95b07dc12603c5f79129403db2726b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:47:29 +0000 Subject: [PATCH 099/157] langs --- kubejs/assets/gtceu/lang/en_us.json | 7 +- kubejs/assets/tfg/lang/en_us.json | 84 +++++++++++++++---- kubejs/assets/tfg/lang/zh_cn.json | 3 +- .../assets/wan_ancient_beasts/lang/en_us.json | 18 +++- .../assets/wan_ancient_beasts/lang/ja_jp.json | 18 +++- .../assets/wan_ancient_beasts/lang/ru_ru.json | 18 +++- .../assets/wan_ancient_beasts/lang/uk_ua.json | 18 +++- .../assets/wan_ancient_beasts/lang/zh_cn.json | 18 +++- 8 files changed, 163 insertions(+), 21 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c07bbc0e6..08469bd6a 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -126,7 +126,7 @@ "material.gtceu.hydrogen_iodide": "Hydrogen Iodide", "material.gtceu.dense_steam": "High Pressure Steam", "material.gtceu.radioactive_steam": "Radioactive Steam", - "material.gtceu.radioactive_waste": "Radioactive Waste", + "material.gtceu.radioactive_waste": "Thorium Waste", "material.gtceu.irradiated_steam": "Irradiated Steam", "material.gtceu.heavy_water": "Heavy Water", "material.gtceu.uranium_waste": "Uranium Waste", @@ -164,6 +164,11 @@ "material.gtceu.americium": "Americium 243", "material.gtceu.uranium": "Uranium 238", "material.gtceu.plutonium": "Plutonium 239", + "material.gtceu.neptunium_237": "Neptunium 237", + "material.gtceu.caesium_137": "Caesium 137", + "material.gtceu.americium_241": "Americium 241", + "material.gtceu.californium_252": "Californium 252", + "material.gtceu.boron_10": "Boron 10", "material.gtceu.residual_radioactive_concoction": "Residual Radioactive Concoction", "material.gtceu.regolith_vapor": "Regolith Vapor", "material.gtceu.dense_ostrum_vapor": "Dense Ostrum Vapor", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 4b092bc6b..09c7032a8 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -803,6 +803,7 @@ "block.tfg.cooling_tower": "Nuclear Cooling Tower", "block.tfg.smr_generator": "Small Modular Turbine", "block.tfg.casings.machine_casing_desh_ptfe": "Radiation-Safe Desh Casing", + "block.tfg.uv_smr_fluid_import_hatch": "SMT Input Hatch", "block.tfg.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", @@ -810,6 +811,7 @@ "block.tfg.impure_moderate_core": "Impure Moderate Core", "block.tfg.moderate_core_frame": "Moderate Core Frame", "block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "block.tfg.heat_battery_mk1": "Heat Battery", "tfg.block_entity.artisan_table": "Artisan Table", "block.tfg.artisan_table": "Artisan Table", "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", @@ -1138,10 +1140,12 @@ "item.tfg.clean_dna_syringe": "Clean Syringe", "item.tfg.stainless_steel_needle": "Stainless Steel Needle", "item.tfg.empty_rod": "Empty Fissile Fuel Rod", + "item.tfg.empty_rod_t2": "Empty Beryllium Fissile Fuel Rod", + "item.tfg.empty_rod_t3": "Empty Zirconium Fissile Fuel Rod", "item.tfg.thorium_rod": "Thorium Fuel Rod", "item.tfg.uranium_rod": "Uranium Fuel Rod", "item.tfg.plutonium_rod": "Plutonium Fuel Rod", - "item.tfg.tbu_232_rod": "TBU-232 Fuel Rod", + "item.tfg.tbu_232_rod": "T-Rod Fuel", "item.tfg.refrigerant_pellet": "Refrigerant Pellet", "item.tfg.graphite_compound": "Graphite Compound", "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", @@ -1280,6 +1284,7 @@ "material.tfg.silica_gel": "Silica Gel", "material.tfg.soaked_silica_gel": "Acetone Soaked Silica Gel", "material.tfg.heavy_water": "Heavy Water", + "material.tfg.warm_water": "Warm Water", "material.tfg.semiheavy_water": "Semiheavy Water", "material.tfg.nuclear_residue": "Nuclear Residue", "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", @@ -1340,6 +1345,7 @@ "material.tfg.americium_241": "Americium 241", "material.tfg.californium_252": "Californium 252", "material.tfg.neptunium_237": "Neptunium 237", + "material.tfg.tbu_waste": "T Waste", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", @@ -1351,10 +1357,20 @@ "material.tfg.residual_sludge": "Residual Sludge", "material.tfg.sodium_fluoride": "Sodium Fluoride", "material.tfg.trace_catalyst_salt_e": "Trace Catalyst Salt E", - "material.tfg.copper_trace_catalyst_dust": "Copper Trace Catalyst", + "material.tfg.copper_trace_catalyst": "Copper Trace Catalyst", "material.tfg.organic_stabilizer": "Organic Stabilizer", "material.tfg.inert_dust_fraction": "Inert Fraction", "material.tfg.recovered_ionic_complex": "Recovered Ionic Complex", + "material.tfg.boron_10_hydroxide": "Boron-10 Hydroxide", + "material.tfg.sodium_deuteroxide": "Sodium Deuteroxide", + "material.tfg.boron_thrichloride": "Boron Trichloride", + "material.tfg.enriched_boron_thrichloride": "Enriched Boron Trichloride", + "material.tfg.booster_t3": "NYI", + "material.tfg.radioactive_effluent": "Radioactive Effluent", + "material.tfg.high_grade_isotopic_solvent": "High Grade Isotopic Solvent", + "material.tfg.degraded_high_grade_isotopic_solvent": "Degraded High Grade Isotopic Solvent", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Hot TiCl₄ Doped Supercritical CO₂", + "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄ Doped Supercritical CO₂", "material.tfg.glucose": "Glucose", "material.tfg.galactose": "Galactose", "material.tfg.fructose": "Fructose", @@ -1388,6 +1404,7 @@ "material.tfg.phenolic_resin": "Phenolic Resin", "material.tfg.magnesium_hydroxide": "Magnesium Hydroxide", "material.tfg.magnesia_refractory_brick": "Resin-Bonded Magnesia Refractory Brick", + "material.tfg.nichromium_iodomethylate": "Nichromium Iodomethylate", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1800,6 +1817,22 @@ "tfg.gui.cycle_duration": "Cycle duration: ", "tfg.emi.bacon_requirement": "Bacon - The Raw Pork must be smoked first", "tag.item.tfg.dried_fruit": "Dried Fruit", + "tfg.nuclear.average_heat.text": "Heat: From %s to %s", + "tfg.nuclear.skip": "", + "tfg.machine.aux_exchanger.heat.title": "=== Heat Information ===", + "tfg.machine.aux_exchanger.recipe_temperature": "Recipe Temperature: ", + "tfg.machine.aux_exchanger.recipe_temperature.desc": "Temperature required by this recipe", + "tfg.machine.aux_exchanger.battery_temperature": "Battery Temperature: ", + "tfg.machine.aux_exchanger.battery_temperature.desc": "Current temperature of the heat battery", + "tfg.machine.aux_exchanger.hu_consumed": "HU Consumed: ", + "tfg.machine.aux_exchanger.hu_consumed.desc": "Heat units consumed per recipe cycle", + "tfg.machine.aux_exchanger.total_hu": "Total HU Available: ", + "tfg.machine.aux_exchanger.total_hu.desc": "Total heat units stored in the heat battery", + "tfg.machine.aux_exchanger.speed_modifier": "Speed Modifier: ", + "tfg.machine.aux_exchanger.speed_modifier.desc": "Recipe speed based on battery temperature", + "tfg.machine.aux_exchanger.heat_unavailable": "Heat information unavailable", + "tfg.machine.aux_echanger.output.title": "=== Output ===", + "tfg.multiblock.turbine.obstructed": "Your turbine is obstructed, check under and inside the chimney that there is nothing blocking it", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", @@ -2291,11 +2324,11 @@ "quests.extreme_voltage.reactor_components.desc.2": "As discussed earlier, running three &eThorium Rods&r will push your reactor’s heat to around &c420&r, just above the default limit. However, you can safely reach that threshold by improving your &6reactor insulation&r.&r\n\nAdding &e10 Framed Glacial Wool&r or &e20 Framed AES Insulation&r blocks inside the structure will raise your reactor’s Max Heat to &e420&r, allowing you to operate with three Thorium Rods without triggering cooldown mode.&r\n\nKeep in mind, though, that increasing the number of active rods will also accelerate their &adurability loss&r. This means each rod will produce less steam per tick on average, reducing its &aefficiency&r, but on the other hand, it will &bspeed up fission material production&r significantly.\n\nWhether you prefer &aefficiency&r or &bthroughput&r is entirely up to you - that’s the balancing act at the heart of mastering the &6Fission Reactor&r.", "quests.extreme_voltage.heat_exchanger.title": "Heat Exchanger", "quests.extreme_voltage.heat_exchanger.subtitle": "All that heat's gotta go somewhere!", - "quests.extreme_voltage.heat_exchanger.desc.1": "The &6Heat Exchanger&r is a critical component for the next step of your Fission Line - not only for cooling, but also for producing more &eHigh Pressure Steam&r, the steam that powers your Nuclear Turbine.\n\nIt features &bPerfect Overclocking&r and &bSubtick Processing&r. If these terms sound unfamiliar, we strongly recommend reviewing the &dGregTech Energy Chapter&r to fully understand how they affect performance.", + "quests.extreme_voltage.heat_exchanger.desc.1": "The &6Heat Exchanger&r is a critical component for the next step of your Fission Line - not only for cooling, but also for producing more &eHigh Pressure Steam&r, the steam that powers your Nuclear Turbine. We strongly advise you to use one for each reactor as they can have an hard time processing different recipes.\n\nIt features &bPerfect Overclocking&r and &bSubtick Processing&r. If these terms sound unfamiliar, we strongly recommend reviewing the &dGregTech Energy Chapter&r to fully understand how they affect performance.", "quests.extreme_voltage.heat_exchanger.desc.2": "Don’t hold back! Install a &516A EV Energy Hatch&r right from the start so you’ll never have to worry about speed or throughput limitations.\n\nWe also provide you with a &9Machine Controller&r to attach to your Heat Exchanger’s main controller. We’ve noticed that the machine can sometimes disable itself unexpectedly, so be sure to enable &ePrevent Power Failing&r. This will counter the GregTech mechanic that shuts down machines when they momentarily lose power.", "quests.extreme_voltage.refrigerant_pellet.title": "Refrigerant Pellets", "quests.extreme_voltage.refrigerant_pellet.subtitle": "A temporary solution to extreme temperatures", - "quests.extreme_voltage.refrigerant_pellet.desc": "The &dPlutonium Fuel Rod&r runs at extremely high temperatures - so high, in fact, that you’ll need to use &bRefrigerant Pellets&r inside your reactor to prevent it from going into cooldown mode.\n\nThese pellets are quite expensive to produce, but you should still be able to mass-produce them early on, or at least enough to keep your first few plutonium rods operational. You need approximatively &9256&r to run a full Plutonium Rod.\n\nLater on, if you don’t like constantly crafting these consumables, you’ll gain access to &6advanced reactor components&r. With those installed, your reactor will be able to safely reach up to &e600 Max Heat&r, greatly improving efficiency and stability.\n\nInvest in better internal parts early, to spend less time babysitting your power core.", + "quests.extreme_voltage.refrigerant_pellet.desc": "The &dPlutonium Fuel Rod&r runs at extremely high temperatures - so high, in fact, that you’ll need to use &bTerraFirmaGuard PA6&r inside your reactor to prevent it from going into cooldown mode.\n\nThese pellets are quite expensive to produce, but you should still be able to mass-produce them early on, or at least enough to keep your first few plutonium rods operational. You need approximatively &9256&r to run a full Plutonium Rod.\n\nLater on, if you don’t like constantly crafting these consumables, you’ll gain access to &6advanced reactor components&r. With those installed, your reactor will be able to safely reach up to &e600 Max Heat&r, greatly improving efficiency and stability.\n\nInvest in better internal parts early, to spend less time babysitting your power core.", "quests.extreme_voltage.important_info.title": "Before starting", "quests.extreme_voltage.important_info.subtitle": "Not an easy place to start", "quests.extreme_voltage.important_info.desc.1": "Before you start building your base on &cMars&r, here are a few important tips to help you settle in successfully.&r\n\nBefore crafting up an entire base to carry in your pocket, we always recommend having an exploration mission before you start setting down!", @@ -2310,16 +2343,17 @@ "quests.extreme_voltage.thorium_rod.desc.1": "Each &6Fuel Rod&r comes with its own set of properties including &adurability&r (how long it lasts in the reactor), &cheat generation&r (how much heat it produces), and even different &eproducts&r and &bsteam output levels&r. You can view all of this information directly in the &aEMI&r tabs for each rod.&r\n\nBefore diving into how the Fission Reactor functions, here are some key points to understand:&r", "quests.extreme_voltage.thorium_rod.desc.2": "• The &eHeat Percentage&r shown on a fuel rod translates to slightly less than double its value inside the reactor. For example, a &eThorium Rod&r with a &cHeat&r of 70%% will generate just under 140 heat when enough &bHeavy Water&r is pumped into your reactor. This heat increase is &aadditive&r, meaning that 2 Thorium Rods will raise your reactor’s total heat to around 280.&r", "quests.extreme_voltage.thorium_rod.desc.3": "• &aDurability&r decreases at the same base rate for all rods. However, the higher the reactor’s temperature, the faster the rods degrade. Because of this, even if a certain rod type has 4× the durability of another, it doesn’t necessarily mean it will last 4× longer, as &ctemperature directly impacts longevity&r.&r\n\nBalancing the amount of rods within the reactor will be your first challenge with Fission.", + "quests.extreme_voltage.thorium_rod.desc.4": "• &6Average Heat&r is simply the mean temperature of the reactor while the rod was inside it. Depending on this &laverage heat value&r, the depleted rod will yield &bdifferent output products&r.\n\nYou can browse &bEMI&r to preview the possible results and see exactly what each depleted rod produces at specific temperature ranges.", "quests.extreme_voltage.fission_reactor.title": "Fission Reactor", "quests.extreme_voltage.fission_reactor.subtitle": "Oh no, it's on cooldown again", "quests.extreme_voltage.fission_reactor.desc.1": "To start off, if you’re looking for a deeper dive into &6Fission Reactor&r mechanics including formulas, detailed calculations, and system behavior, check out the quest in the &aGregTech Energy&r chapter. It covers everything you’ll need if you want to get into the math behind the heat and efficiency systems.&r\n\nFor now, let’s focus on your very first &6Thorium Reactor&r. Its base &cMax Heat&r is &e400&r. As explained in the previous quest, running two Thorium Rods will push your internal heat to around &e280&r, which is perfectly safe. However, adding a third rod raises the total to about &c420 Heat&r, exceeding the limit and triggering &ccooldown mode&r.", - "quests.extreme_voltage.fission_reactor.desc.2": "Don’t worry, there’s no explosion, but your reactor will shut down and won’t restart until it fully cools back to 0 Heat. This will completely halt both your &aenergy production&r and your &afission product&r generation - a major setback.\n\nManaging how many rods are active will therefore be your first &6challenge&r and the main minigame of Fission.\n\nThere are multiple ways to approach this, and experimentation is part of the fun.\n\nOne way is by attaching a &6Redstone Port&r to your reactor, and using a &aWrench&r on it switches its monitoring mode between &erod count&r and &cheat level&r.\n\nFinally, note that all rods are stored inside the &6Fuel Holder&r. That means limiting the number of active rods isn’t as simple as having 2 rods in the input bus, &cyou’ll need to control what enters the Input Bus&r to fine-tune your reactor’s operation.", + "quests.extreme_voltage.fission_reactor.desc.2": "Don’t worry, there’s no explosion, but your reactor will shut down and won’t restart until it fully cools back to 0 Heat. This will completely halt both your &aenergy production&r and your &afission product&r generation - a major setback.\n\nAlso be aware that each time your reactor enters cooldown mode, every fuel rod inside will receive &c10 000 Heat&r, which can lead to extremely poor outputs or even disastrous losses. Be very cautious, as this is something you absolutely want to avoid.\n\nManaging how many rods are active will therefore be your first &6challenge&r and the main minigame of Fission.\n\nThere are multiple ways to approach this, and experimentation is part of the fun.\n\nOne way is by attaching a &6Redstone Port&r to your reactor, and using a &aWrench&r on it switches its monitoring mode between &erod count&r and &cheat level&r.\n\nFinally, note that all rods are stored inside the &6Fuel Holder&r. That means limiting the number of active rods isn’t as simple as having 2 rods in the input bus, &cyou’ll need to control what enters the Input Bus&r to fine-tune your reactor’s operation.", "quests.extreme_voltage.high_pressure_steam.title": "High Pressure Steam", "quests.extreme_voltage.high_pressure_steam.subtitle": "Better steam, bigger turbine", "quests.extreme_voltage.high_pressure_steam.desc": "&4Important Info&r: If the reactor doesn't have enough space to output High Pressure Steam, it will simply void.\n\nFor balancing (and pipe throughput) reasons, the &6Fission Reactor&r does not produce regular steam. Instead, it generates &bHigh Pressure Steam&r, which can only be used in a &6Nuclear Steam Turbine&r.\n\nAttempting to run it through a standard Steam Turbine will &cnot work&r.", "quests.extreme_voltage.ev_superconductor.title": "EV Superconductors", "quests.extreme_voltage.ev_superconductor.subtitle": "Bigger Amp ability", - "quests.extreme_voltage.ev_superconductor.desc": "Now that you've processed some &eUranium&r, you should check out the &5EV Superconductors&r.\n\nThese superconductors have higher amp capacity, helping you move energy efficiently across your base and ensuring your &6Nuclear Steam Turbines&r output reaches all your machines without loss.", + "quests.extreme_voltage.ev_superconductor.desc": "Now that you've processed some &eRadon&r, you should check out the &5EV Superconductors&r.\n\nThese superconductors have higher amp capacity, helping you move energy efficiently across your base and ensuring your &6Nuclear Steam Turbines&r output reaches all your machines without loss.", "quests.extreme_voltage.uraninite_dust.subtitle": "That's a lot of rods", "quests.extreme_voltage.uraninite_dust.desc": "To craft your &eUranium Fuel Rods&r, you’ll need a substantial amount of &eUraninite&r - around &c240 Dust&r per rod. Start mining it early to keep up with demand later.\n\nThe largest veins can be found on Mars, where some deposits reach &aimpressive sizes&r. Later in your progression, you’ll be able to produce Pitchblende and Uraninite Dust &ainfinitely&r using the &6Ostrum Linear Accelerator&r, but we’ll cover that in more detail in a future quest.", "quests.extreme_voltage.uranium_line.title": "The Uranium Line", @@ -2402,8 +2436,8 @@ "quests.extreme_voltage.radioactive_concoction.title": "Residual Radioactive Concoction", "quests.extreme_voltage.radioactive_concoction.subtitle": "Don't void this one!", "quests.extreme_voltage.radioactive_concoction.desc": "The &dResidual Radioactive Concoction&r is a very important byproduct of the Fission Line. Its main use is to produce infinite ores with the &bOstrum Linear Accelerator&r, but it is also required to unlock the &bGrowth Chamber&r.\n\nIf you want to build Fission Reactors outside of Mars, you will also need a continuous supply of it.", - "quests.extreme_voltage.ostrum_linear.subtitle": "Infinite but next level", - "quests.extreme_voltage.ostrum_linear.desc": "The &bOstrum Linear Accelerator&r allows you to create various materials using different products from the Fission Line. This multiblock supports a large number of &bInput Buses&r and &bInput Hatches&r, and since all of its recipes are quite fast, a single unit should be enough to cover all your needs.\n\nWe strongly recommend crafting some &eSpray Cans&r with different colors to organize your inputs and outputs. For example, if you color an Input Bus and an Input Hatch in &9blue&r, only those two will interact together, preventing recipe conflicts and ensuring smoother automation.", + "quests.extreme_voltage.ostrum_linear.subtitle": "It does a bit of everything", + "quests.extreme_voltage.ostrum_linear.desc": "The &5Ostrum Linear Accelerator&r allows you to create various materials using different products from the &cFission Line&r; this multiblock supports a large number of &aInput Buses&r and &aInput Hatches&r and can also be expanded vertically to increase its capacity.\n\nTo operate the &5Ostrum Linear Accelerator&r, it must be placed next to a &6Heat Battery&r, ensuring that the &cHeat Port&r from the &6Heat Battery&r is in direct contact with the &cHeat Input Hatch&r of the OLA; like the &6Heat Battery&r, it consumes &cHeat Units&r for every recipe and requires a minimum &eTemperature&r for specific recipes, and it is important to note that the higher the temperature compared to the required minimum, the faster the recipe will run.\n\nWe strongly recommend crafting &bSpray Cans&r in different colors to organize your inputs and outputs; for example, if you color an &aInput Bus&r and an &aInput Hatch&r in &9blue&r, only those two will interact with each other, preventing recipe conflicts and ensuring smoother automation.", "quests.extreme_voltage.pss.subtitle": "A glorified battery", "quests.extreme_voltage.pss.desc": "The &ePower Substation&r was moved from &1IV&r to &5EV&r so you can build it directly on Mars, where energy management can be quite challenging with Fission Power. It’s not mandatory, so feel free to skip it if you prefer.\n\nIf you want to learn more about how this multiblock works, check out its detailed entry in the &aEnergy Chapter&r.", "quests.extreme_voltage.liquid_air.title": "Earth Air", @@ -2508,6 +2542,20 @@ "quests.extreme_voltage.btx_loop.subtitle": "Getting back as much as you can", "quests.extreme_voltage.btx_loop.desc.1": "The last part of this chain consists in recycling your Used Catalyzer. The overall process is fairly straightforward, and the main challenge will be maintaining a continuous supply of &aReinforced Epoxy Resin Plates&r and &eGlue&r.\n\nIf you still have your &2tapping system&r in place, it should be more than sufficient to produce all the resin required to craft your Glue. Alternatively, using an &bExtractor&r on logs is also a perfectly viable option. This method is slightly more &cpower-hungry&r, but the choice is entirely up to you depending on your infrastructure.", "quests.extreme_voltage.btx_loop.desc.2": "A small remark regarding &9Diluted Hydrochloric Acid&r: it can be easily produced by reacting &bWater&r with &aChlorine&r. You could store your &dHypochlorous Acid&r, or &7Electrolyze&r it if you wish to recover &fhalf of your Chlorine&r.\n\nAs for &6Sulfuric Acid&r, you should already have access to an &ainfinite source of Sulfur&r through your &ePetrochemical Distillation&r setup. If this is not yet the case, we strongly advise you to address this as soon as possible. Alternatively, the &7Coal Tar&r obtained while producing &bReformate Gas&r can be reconverted into &2Hydrogen Sulfide&r and ultimately refined back into &6Sulfur&r.", + "quests.extreme_voltage.nichromium_iode.title": "Nichromium Iodomethylate", + "quests.extreme_voltage.nichromium_iode.subtitle": "Better heating conductivity", + "quests.extreme_voltage.nichromium_iode.desc": "This alloy will be required to craft your new &6RTM Coils&r; while the costs are not excessive, you will need to find the &cCrimsene&r and &9Warpane&r trees on &4Mars&r, and since you may need a large amount of &6RTM Coils&r and &bIodine&r, do not forget to set up a solid passive income using &asap&r.", + "quests.extreme_voltage.heat_battery.subtitle": "A better Heat Exchanger", + "quests.extreme_voltage.heat_battery.desc": "The &6Heat Battery&r is a multiblock capable of storing &cHeat&r from hot coolants coming directly from your &cFission Reactor&r, which can then be used either to heat other fluids or to be consumed in the &5Ostrum Linear Accelerator&r.\n\nThe mechanic is fairly simple: depending on the fluid being input, the &6Heat Battery&r can reach higher temperatures, and you can check how much temperature a fluid can provide by browsing &bEMI&r under the Heat Battery Import recipes tab; conversely, you can spend your &cHeat Units&r by warming fluids, and like the EBF, some recipes require a minimum temperature, for example, producing &bHigh Pressure Steam&r from &9Distilled Water&r requires the Heat Battery to be at least at &c1000°&r.\n\nFinally, just like the &cFission Reactor&r, you can add specific blocks (tag &7#components_hb&r) to increase both the maximum reachable temperature of your &6Heat Battery&r and how many &cHeat Units&r it can store.", + "quests.extreme_voltage.dense_ostrum_vapor.title": "Dense Ostrum Vapor", + "quests.extreme_voltage.dense_ostrum_vapor.subtitle": "Fission on Earth?", + "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft &cT-Rod Fuel&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", + "quests.extreme_voltage.ostrum_vapor.title": "Ostrum Vapor", + "quests.extreme_voltage.ostrum_vapor.subtitle": "We really need to chill", + "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerrafirmaguard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", + "quests.extreme_voltage.light_ostrum_vapor.title": "Lightweight Ostrum Vapor", + "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Infinite ores?", + "quests.extreme_voltage.light_ostrum_vapor.desc": "With the help of &6Lightweight Ostrum Vapor&r, you can begin producing infinite ores, especially those required for the &cFission Line&r. There are three tiers of infinite ores:\n\n&eCircuit 1&r is not self-sufficient but can still be helpful if you are truly tired of mining.\n\n&eCircuit 2&r is &dThorium&r positive, meaning that simply by running your &cFission Line&r, you will produce more &dThorium&r than you consume.\n\n&eCircuit 3&r is the final and best tier, where you generate more resources than are required to produce the ores themselves; you become net positive in &dThorium&r and &aUraninite&r, allowing you to fully automate the &cFission Line&r on &4Mars&r for infinite resources, &bNano CPU&r, and everything needed to run &eFission Energy&r on &2Earth&r.", "quests.gregtech_energy": "GregTech Energy", "quests.gregtech_energy.subtitle": "So how does all of that work?", "quests.gregtech_energy.start.title": "Let's do some explaining", @@ -2596,14 +2644,17 @@ "quests.gregtech_energy.btx.desc": "Obtaining the &5EV Energy Hatches&r means you can finally get &eBTX Fuel&r (Benzene-Toluene-Xylene) production started. This fuel will last you for a very long time and remains competitive in a &6Large Turbine&r well into the late game. Even if it looks like a massive undertaking at first, rest assured that it will be well worth the effort.\n\nThis production line requires a large number of wood-based products. Sap becomes relevant again due to the need for &eGlue&r — you can either tap your trees passively or extract it directly from logs. You will also need to distill &eWood Tar&r in a &6Distillation Tower&r. Beyond that, make sure you can produce infinite amounts of &eEthanol&r, &eNether Quartz&r, &eSodium&r, &eAmmonia&r, &eLye&r, and &eReinforced Epoxy Resin Sheets&r.\n\nIf you want a more detailed breakdown of the BTX Fuel production chain, refer to the &5EV&r Chapter.", "quests.gregtech_energy.fission_rod.title": "Fission Fuels", "quests.gregtech_energy.fission_rod.subtitle": "Don't get me too hot", - "quests.gregtech_energy.fission_rod.desc.1": "The Earth Fission materials are NYI but may come sooner than later", - "quests.gregtech_energy.fission_rod.desc.2": "", - "quests.gregtech_energy.fission_rod.task": "", + "quests.gregtech_energy.fission_rod.desc.1": "To begin producing power on &2Earth&r, you will need to invest in an impressive setup on &4Mars&r to produce and process &cT-Rod Fuel&r; every time you craft a new &cT-Rod&r, you must use an &5OLA&r recipe, which is quite expensive, but the advantage is that the rods are fully recyclable after being depleted.\n\nAfter obtaining your first &cT-Rod&r, it is very important to decide which isotope you want to target.", + "quests.gregtech_energy.fission_rod.desc.2": "The &aAmericium Rod&r has extremely high durability but very low &cHeat&r, and it is the only rod that can be used in a &eSmall Fission Reactor&r; this incredibly potent rod is very difficult to obtain, as you will need to run your &cFission Reactor&r at an extremely low temperature to maximize americium output—refer to EMI to determine the heat range you should target.\n\nThe &bNeptunium Rod&r is the standard option, offering good power output and good durability; it can produce up to &1360k EU/t&r at &1IV&r but requires a very extensive infrastructure, and with one &cFission Reactor&r, one &6Heat Battery&r, and one &9Cooling Tower&r, you should be able to generate a massive amount of steam in a perfectly looped system.", + "quests.gregtech_energy.fission_rod.desc.3": "Be very cautious, however: if your &cT-Rods&r are operated at too high a temperature, you will lose part of the &8TBU Waste&r and will not be able to fully recycle the rod; always be extremely careful when running a &cT-Rod&r, as losing them is something you absolutely want to avoid.\n\nWhen targeting specific temperatures to increase isotope yield, remember that you can mix multiple rods together, and as always, refer to EMI to see which rods use which coolants.", "quests.gregtech_energy.smr.title": "Small Modular Reactor", "quests.gregtech_energy.smr.subtitle": "Finally Power for these far outposts", - "quests.gregtech_energy.smr.desc.1": "The Small Modular Reactor is NYI but may come sooner than later", - "quests.gregtech_energy.smr.desc.2": "", - "quests.gregtech_energy.smr.task": "", + "quests.gregtech_energy.smr.desc.1": "If you manage to obtain two &aAmericium-241 Rods&r, you can start looking into the &eSmall Fission Reactor&r and the &aSmall Modular Turbine&r; this generator setup is ideal for long-term, sustainable power generation with no required interaction, making it perfect for isolated outposts or as backup power for your base if everything goes wrong.", + "quests.gregtech_energy.smr.desc.2": "In the &eSmall Fission Reactor&r, you must install two &bFuel Holders&r, as this is the minimum required to produce power, and then craft enough &3TiCl2 Doped Supercritical CO2&r, which is the only coolant this reactor can use; the good news is that the system will be perfectly looped.\n\nTo set up the &aSmall Modular Turbine&r, you must use its dedicated &aSMT Input Hatches&r, as no other input hatches will function; the modular aspect comes from the requirement to use a &eLubricant&r to run the generator, either the &bGregTech&r one or the version produced with the &5OLA&r, which doubles efficiency, and you can further enhance output by adding a &dBooster&r—currently &bOzone&r or &61,1-Cyclohexanediyl Dihydroperoxide&r—to increase the amount of &eEU&r produced.", + "quests.gregtech_energy.smr.desc.3": "While this setup may seem intimidating at first, the benefit of having an extremely long-lasting and reliable power source anywhere in the world is significant, making it well suited for isolated harvesters, miners, or even a fully independent base.", + "quests.gregtech_energy.cooling_tower.subtitle": "Finally Fission Power on Earth", + "quests.gregtech_energy.cooling_tower.desc.1": "The most traditional way to generate power using &eFission Energy&r is through a combination of a &6Heat Battery&r and a &9Cooling Tower&r; the amount of &9Distilled Water&r required is so high that you should not expect to skip the tower. The initial setup usually consists of a &cFission Reactor&r running &bNeptunium Rods&r (you may also add some &aAmericium Rods&r) using &eBoron Coolant&r, which is then cooled through the &6Heat Battery&r.", + "quests.gregtech_energy.cooling_tower.desc.2": "The &cHeat Units&r generated this way should be used to produce &bHigh Pressure Steam&r from &9Distilled Water&r; this steam can then be sent to &eNuclear Turbines&r, which will output &aWarm Water&r that is cooled back into &9Distilled Water&r using the &9Cooling Tower&r. Be prepared to allocate a large amount of space for this setup.\n\nAs a helpful tip, remember that the &9Cooling Tower&r requires a circuit to be selected to operate, and the higher the circuit, the higher the flow rate it can handle.", "quests.gregtech_energy.gasoline.title": "Gasoline", "quests.gregtech_energy.gasoline.subtitle": "The middle child", "quests.gregtech_energy.gasoline.desc": "&aGasoline&r is a really strong combustion fuel that you unlock at &6HV&r, but realistically only begin to make when you build your first &6Distillation Towers&r. &7Toluene&r is easily made from &7Wood Tar&r or &7Heavy Fuel&r, while everything else you need is &dRefinery Gas&r, &eNaphtha&r, and a mix of &3Oxygen&r, &bHydrogen&r, and &1Carbon&r.\n\nIt's strong, quite easy to make, and even better, it can be upgraded into &cHigh Octane Gasoline&r.", @@ -2903,6 +2954,8 @@ "quests.high_voltage.pisciculture.subtitle": "A multiblock for pollock.", "quests.high_voltage.pisciculture.desc.1": "The &bPisciculture Fishery&r is not only your one stop shop for infinite fish, but also a supporting multiblock in the &3Aquaponics Loop&r. A circular loop of recipes between the Pisciculture fishery and the &2Electric Greenhouse&r which boosts each others yields and if done properly--Will require no external inputs.", "quests.high_voltage.pisciculture.desc.2": "&5Note:&r The structure can be filled with any liquid with the fluid tag &o&7#tfg:pisciculture_fishery_fluids&r&r. But, be aware that some fluids will freeze in space and that some recipes may not run if the multiblock controller is not in an &noxygenated environment&r.", + "quests.high_voltage.multi_structure_terminal.subtitle": "Simply better", + "quests.high_voltage.multi_structure_terminal.desc": "The &4Multi-Structure Manager&r is an advanced terminal and a direct upgrade from the GregTech one. You can use it the same way to &ebuild a multiblock&r by right-clicking a controller, with the &dadded options&r to choose the tier (size of the multiblock or coils used) and whether to place Input/Output ports.\n\nIt can also scan nearby multiblocks to upgrade their hatches or coils, and if linked to your &bME Network&r, it can directly use your ME Storage to upgrade the ports.", "quests.low_voltage": "&7LV&r - Low Voltage", "quests.low_voltage.subtitle": "Tame electricity and begin your GregTech journey", "quests.low_voltage.lv_machine_hull.title": "Your second machine hull", @@ -3454,6 +3507,9 @@ "quests.medium_voltage.stainless_greate.title": "Stainless Steel-tier Greate", "quests.medium_voltage.stainless_greate.subtitle": "High Stress", "quests.medium_voltage.stainless_greate.desc": "This quest is just here to let you know that Greate has another upgrade at this point.\n\nYou may find the next tier of Crushing Wheels useful, as they can give the full amount of byproducts, just like the HV Macerator, but also process multiple items at the same time!", + "quests.medium_voltage.terminal_dismantler.title": "Dismantler Terminal", + "quests.medium_voltage.terminal_dismantler.subtitle": "When your wrench isn't fast enough", + "quests.medium_voltage.terminal_dismantler.desc": "The &8Dismantler&r is an amazing tool, allowing you to dismantle your multiblocks instantly by simply shift-right-clicking the controller, though be wary that the Multiblock must be fully formed to be completely dismantled.", "quests.metal_age": "Metallurgy Age", "quests.metal_age.subtitle": "Your First Technological Advancements.", "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e96a83971..98d505a81 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1801,6 +1801,7 @@ "tfg.tooltip.hotornot_cold_equipment": "§7提供对所有§b低温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7的气体的防护。§r", "tfg.tooltip.polycaprolactam": "也称为尼龙", + "tfg.tooltip.vessel_warning": "§c加热过满的小缸将销毁所有溢出的金属,并可能毁掉你正在冶炼的合金!§r", "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -3302,7 +3303,7 @@ "quests.medium_voltage.mv_component.desc": "&bMV&r阶段所需组件清单如下。为减轻负担,建议对这些零件进行自动化或&d批量合成&r,尤其是&a马达&r。\n\n熟悉&a发射器&r吗?本阶段的发射器配方需要&d无瑕的绿宝石&r,目前只能通过&3筛选机&r获取。\n\n若用作覆盖版,传送带、泵与机械臂均为&7LV&r版本的实打实升级。", "quests.medium_voltage.electrolyzer.title": "MV电解机", "quests.medium_voltage.electrolyzer.subtitle": "我们成功进入了MV时代,不过...", - "quests.medium_voltage.electrolyzer.desc.1": "&b这个设备看起来应该很熟悉&r——你之前已经见过它了。\n&2我们强烈建议你尽快制作它&r,因为它将解锁大量新的&7铝&r来源。\n\n在此之前,你唯一获取&7铝粉&r的方法是&9电解蓝宝石&r。\n但随着&bMV&r电解机的出现,资源的利用将开启全新领域。", + "quests.medium_voltage.electrolyzer.desc.1": "&b这个设备看起来应该很熟悉&r——你之前已经见过它了。\n&2我们强烈建议你尽快制作它&r,因为它将解锁大量新的&7铝&r来源。\n\n在此之前,你获取&7铝粉&r的方法仅限于&9电解蓝宝石&r和矿石加工的副产物。。\n但随着&bMV&r电解机的出现,资源的利用将开启全新领域。", "quests.medium_voltage.electrolyzer.desc.2": "&6以下是一些需要寻找的关键材料:&r\n&9红宝石&r – 同时提供&7铝&r和&5铬&r。\n&9镁铝榴石&r – 通常与蓝宝石矿脉一起找到。\n&9锂云母&r – 提供大量有价值的副产物选择。\n&9方钠石&r – 附带&3氯&r和&b硅&r。\n&9黄玉&r – 以固体形式产出&3氟&r和&7铝&r。\n\n&2而这仅仅是个开始!&r使用&aEMI&r探索更多选项——我们保证,有很多东西等着你去发现。\n\n&c哦,顺便说一下:&r电解黏土现在被锁定在&6HV&r之后。\n&7我们并不抱歉。&r", "quests.medium_voltage.mv_extruder.title": "高级压模器", "quests.medium_voltage.mv_extruder.subtitle": "你将进行最重大的升级", diff --git a/kubejs/assets/wan_ancient_beasts/lang/en_us.json b/kubejs/assets/wan_ancient_beasts/lang/en_us.json index 494713798..41707b3ba 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/en_us.json +++ b/kubejs/assets/wan_ancient_beasts/lang/en_us.json @@ -5,5 +5,21 @@ "item.wan_ancient_beasts.raw_ancient_meat": "Raw Eater Drumstick", "item.wan_ancient_beasts.cooked_ancient_meat": "Cooked Eater Drumstick", "config.jade.plugin_tfc.surfer": "Surfer", - "config.jade.plugin_tfc.soarer": "Soarer" + "config.jade.plugin_tfc.soarer": "Soarer", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Dyeing" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json b/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json index 0da551aa7..1fe9f4d80 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json +++ b/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json @@ -3,5 +3,21 @@ "block.wan_ancient_beasts.quick_red_sand": "赤鉄質の流砂", "item.wan_ancient_beasts.toxlacanth": "生のトキシーラカンス", "item.wan_ancient_beasts.raw_ancient_meat": "生のイーターの骨付き肉", - "item.wan_ancient_beasts.cooked_ancient_meat": "焼いたイーターの骨付き肉" + "item.wan_ancient_beasts.cooked_ancient_meat": "焼いたイーターの骨付き肉", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Dyeing" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json b/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json index 6da5a0cc8..297d4d858 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json +++ b/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json @@ -3,5 +3,21 @@ "block.wan_ancient_beasts.quick_red_sand": "Гематитовый зыбучий песок", "item.wan_ancient_beasts.toxlacanth": "Сырой токслакант", "item.wan_ancient_beasts.raw_ancient_meat": "Сырая ножка пожирателя", - "item.wan_ancient_beasts.cooked_ancient_meat": "Приготовленная ножка пожирателя" + "item.wan_ancient_beasts.cooked_ancient_meat": "Приготовленная ножка пожирателя", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Окрашивание" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json b/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json index 63240b7d4..00ebadd53 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json +++ b/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json @@ -3,5 +3,21 @@ "block.wan_ancient_beasts.quick_red_sand": "Гематитовий Пливун", "item.wan_ancient_beasts.toxlacanth": "Сирий токсакант", "item.wan_ancient_beasts.raw_ancient_meat": "Сире стегно пожирача", - "item.wan_ancient_beasts.cooked_ancient_meat": "Смажене стегно пожирача" + "item.wan_ancient_beasts.cooked_ancient_meat": "Смажене стегно пожирача", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Окрашивание" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json b/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json index ad0befad8..19078bae3 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json +++ b/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json @@ -5,5 +5,21 @@ "item.wan_ancient_beasts.raw_ancient_meat": "生噬颚兽腿肉", "item.wan_ancient_beasts.cooked_ancient_meat": "熟噬颚兽腿肉", "config.jade.plugin_tfc.surfer": "破浪兽", - "config.jade.plugin_tfc.soarer": "翱翔鸟" + "config.jade.plugin_tfc.soarer": "翱翔鸟", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "染色" } \ No newline at end of file From 41bfc7397c891a7325c2595b15ca274ff5adafd8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:02:34 +0000 Subject: [PATCH 100/157] update veins --- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../earth/vein/normal_graphite.json | 133 ------------------ 8 files changed, 7 insertions(+), 140 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json index f23822ceb..4389eeb16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json @@ -1629,7 +1629,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json index f23822ceb..4389eeb16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json @@ -1629,7 +1629,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json index f23822ceb..4389eeb16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json @@ -1629,7 +1629,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json index fdef0abf8..3f3723398 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json @@ -1949,7 +1949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/80 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/80 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index f21d79ff6..3729f5313 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/80 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — -16$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/80 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — -16$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index 2f51d20f8..95d366a41 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/80 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/80 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Габро, Гнейс, Граніт, Дацит, Діорит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json index dea185666..60a264324 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json @@ -863,7 +863,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/80 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/80 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json index 1b1f7a1a1..7d6fbd458 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json @@ -257,139 +257,6 @@ "weight": 30 } ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:shale_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:claystone_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:limestone_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:conglomerate_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:dolomite_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:chert_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:chalk_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_coal_ore", - "weight": 30 - } - ] } ], "indicator": { From d8bebc627c6065a69b0c532825a018bd18b47859 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:04:33 +0000 Subject: [PATCH 101/157] rename mars food tags --- kubejs/server_scripts/tfg/mars/tags.mars.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 68f49594c..3d554382d 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -28,14 +28,14 @@ function registerTFGMarsItemTags(event) { event.add('forge:eggs', '#tfg:martian_eggs') event.add('firmalife:foods/raw_eggs', '#tfg:martian_eggs') - event.add('tfg:martian_animal_foods', 'betterend:amber_root_product') - event.add('tfg:martian_animal_foods', 'betterend:blossom_berry_product') - event.add('tfg:martian_animal_foods', 'betterend:chorus_mushroom_product') - event.add('tfg:martian_animal_foods', 'betterend:shadow_berry_product') - event.add('tfg:martian_animal_foods', 'betterend:bolux_mushroom_product') - event.add('tfg:martian_animal_foods', 'betterend:cave_pumpkin_chunks') + event.add('tfg:martian_herbivore_foods', 'betterend:amber_root_product') + event.add('tfg:martian_herbivore_foods', 'betterend:blossom_berry_product') + event.add('tfg:martian_herbivore_foods', 'betterend:chorus_mushroom_product') + event.add('tfg:martian_herbivore_foods', 'betterend:shadow_berry_product') + event.add('tfg:martian_herbivore_foods', 'betterend:bolux_mushroom_product') + event.add('tfg:martian_herbivore_foods', 'betterend:cave_pumpkin_chunks') - event.add('tfg:martian_meat_foods', '#firmalife:foods/raw_fish') + event.add('tfg:martian_piscivore_foods', '#firmalife:foods/raw_fish') event.remove('minecraft:wool', 'ad_astra:glacian_fur') From 3b3ae9c4f0b75bb250cf323dff051f85b19b453e Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 1 Feb 2026 13:18:26 -0500 Subject: [PATCH 102/157] Oupsi Oupsi (#2937) Signed-off-by: TomPlop --- .../tfg/recipes.miscellaneous.js | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index f80d3b1b6..ad5bc65a4 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -177,52 +177,5 @@ function registerTFGMiscellaneousRecipes(event) { .duration(5*20) .EUt(GTValues.VA[GTValues.LV]) .addMaterialInfo(true); - - // Gregtech CEu Terminals Integration - - //event.remove({ id : 'gtceuterminal:dismantler' }) - event.shaped('1x gtceuterminal:dismantler', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'gtceu:mv_sensor', - B: 'gtceu:mv_emitter', - C: '#gtceu:circuits/mv', - D: 'gtceu:computer_monitor_cover', - E: 'gtceu:mv_voltage_coil', - F: '#forge:plates/aluminium' - }).id(`tfg:shaped/dismantler`) - - event.remove({ id : 'gtceuterminal:multi_structure_manager' }) - event.shaped('1x gtceuterminal:multi_structure_manager', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'gtceu:hv_sensor', - B: 'gtceu:hv_emitter', - C: '#gtceu:circuits/hv', - D: 'gtceu:terminal', - E: '#gtceu:batteries/hv', - F: '#forge:plates/stainless_steel' - }).id(`tfg:shaped/multi_structure_manager`) - - event.remove({ id : 'gtceuterminal:schematic_interface' }) - /* Broken for now as it can duplicate resources in the I/O Ports - event.shaped('1x gtceuterminal:schematic_interface', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'gtceu:iv_sensor', - B: 'gtceu:iv_emitter', - C: '#gtceu:circuits/iv', - D: 'gtceu:terminal', - E: '#gtceu:batteries/iv', - F: '#forge:plates/tungsten_steel' - }).id(`tfg:shaped/schematic_interface`) - */ - } From 5872199c7a9f219112c00c035c6f64eca4c0c9b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:25:35 +0000 Subject: [PATCH 103/157] emi tabs --- kubejs/assets/emi/category/properties/ae2_condenser.json | 2 +- kubejs/assets/emi/category/properties/ae2_p2p_attunement.json | 2 +- kubejs/assets/emi/category/properties/create_draining.json | 2 +- kubejs/assets/emi/category/properties/create_spout_filling.json | 2 +- .../assets/emi/category/properties/createaddition_rolling.json | 2 +- .../assets/emi/category/properties/deafission_component_hb.json | 1 + .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../category/properties/domum_ornamentum_architects_cutter.json | 2 +- kubejs/assets/emi/category/properties/emi_info.json | 2 +- kubejs/assets/emi/category/properties/emi_tag.json | 2 +- .../emi/category/properties/exposure_photograph_printing.json | 2 +- .../emi/category/properties/exposure_photograph_stacking.json | 2 +- .../emi/category/properties/framedblocks_framing_saw.json | 2 +- .../emi/category/properties/greate_automatic_packing.json | 2 +- .../assets/emi/category/properties/greate_automatic_shaped.json | 2 +- .../emi/category/properties/greate_automatic_shapeless.json | 2 +- kubejs/assets/emi/category/properties/greate_block_cutting.json | 2 +- kubejs/assets/emi/category/properties/greate_crushing.json | 2 +- kubejs/assets/emi/category/properties/greate_fan_washing.json | 2 +- kubejs/assets/emi/category/properties/greate_milling.json | 2 +- kubejs/assets/emi/category/properties/greate_mixing.json | 2 +- kubejs/assets/emi/category/properties/greate_pressing.json | 2 +- kubejs/assets/emi/category/properties/greate_sawing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_air_scrubber.json | 2 +- .../emi/category/properties/gtceu_alloy_blast_smelter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json | 2 +- .../emi/category/properties/gtceu_aqueous_accumulator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_arc_furnace.json | 2 +- .../emi/category/properties/gtceu_arc_furnace_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembler.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembly_line.json | 2 +- kubejs/assets/emi/category/properties/gtceu_autoclave.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bender.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bioreactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_brewery.json | 2 +- kubejs/assets/emi/category/properties/gtceu_canner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chem_dyes.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chemical_bath.json | 2 +- .../assets/emi/category/properties/gtceu_chemical_reactor.json | 2 +- .../assets/emi/category/properties/gtceu_circuit_assembler.json | 2 +- .../emi/category/properties/gtceu_coal_liquefaction_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cracker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cutter.json | 2 +- .../emi/category/properties/gtceu_distillation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_distillery.json | 2 +- .../emi/category/properties/gtceu_electric_blast_furnace.json | 2 +- kubejs/assets/emi/category/properties/gtceu_electrolyzer.json | 2 +- .../category/properties/gtceu_electromagnetic_separator.json | 2 +- .../assets/emi/category/properties/gtceu_evaporation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extractor.json | 2 +- .../emi/category/properties/gtceu_extractor_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extruder.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fermenter.json | 2 +- .../assets/emi/category/properties/gtceu_fission_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fluid_heater.json | 2 +- .../assets/emi/category/properties/gtceu_fluid_solidifier.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forge_hammer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forming_press.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_gas_collector.json | 2 +- .../assets/emi/category/properties/gtceu_gas_pressurizer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_greenhouse.json | 2 +- kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json | 2 +- .../emi/category/properties/gtceu_hydroponics_facility.json | 2 +- .../emi/category/properties/gtceu_implosion_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ingot_molding.json | 2 +- .../emi/category/properties/gtceu_large_chemical_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_laser_engraver.json | 2 +- kubejs/assets/emi/category/properties/gtceu_lathe.json | 2 +- kubejs/assets/emi/category/properties/gtceu_macerator.json | 2 +- .../emi/category/properties/gtceu_macerator_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_mixer.json | 2 +- .../emi/category/properties/gtceu_moon_dust_harvester.json | 2 +- .../emi/category/properties/gtceu_nuclear_fuel_factory.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_bathing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_crushing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_forging.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_washer.json | 2 +- .../assets/emi/category/properties/gtceu_ostrum_harvester.json | 2 +- .../category/properties/gtceu_ostrum_linear_accelerator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_packer.json | 2 +- .../emi/category/properties/gtceu_pisciculture_fishery.json | 2 +- .../assets/emi/category/properties/gtceu_plasma_generator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_polarizer.json | 2 +- .../emi/category/properties/gtceu_programmed_circuit.json | 2 +- kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json | 2 +- .../assets/emi/category/properties/gtceu_research_station.json | 2 +- kubejs/assets/emi/category/properties/gtceu_rock_breaker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_scanner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_sifter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json | 2 +- .../emi/category/properties/gtceu_thermal_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wire_coating.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wiremill.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smelting.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smithing.json | 2 +- .../assets/emi/category/properties/minecraft_stonecutting.json | 2 +- .../assets/emi/category/properties/tacz_attachment_query.json | 2 +- .../emi/category/properties/taczammoquery_ammo_query.json | 2 +- .../category/properties/vintageimprovements_centrifugation.json | 2 +- .../emi/category/properties/vintageimprovements_coiling.json | 2 +- .../emi/category/properties/vintageimprovements_curving.json | 2 +- .../category/properties/vintageimprovements_laser_cutting.json | 2 +- .../emi/category/properties/vintageimprovements_polishing.json | 2 +- .../category/properties/vintageimprovements_pressurizing.json | 2 +- .../category/properties/vintageimprovements_vacuumizing.json | 2 +- .../emi/category/properties/vintageimprovements_vibrating.json | 2 +- 110 files changed, 110 insertions(+), 109 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_component_hb.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 6b95888a8..3c6f19748 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":159}} \ No newline at end of file +{"ae2:condenser":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index 067e17ad4..0adebe4fe 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":171}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index 89073cb93..9d95ee42b 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":174}} \ No newline at end of file +{"create:draining":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 267530a67..990983baa 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":175}} \ No newline at end of file +{"create:spout_filling":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index ff2e73280..8c84042d2 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":82}} \ No newline at end of file +{"createaddition:rolling":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_hb.json b/kubejs/assets/emi/category/properties/deafission_component_hb.json new file mode 100644 index 000000000..3c97bda2e --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_component_hb.json @@ -0,0 +1 @@ +{"deafission:component_hb":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index 3c15a19a7..12f0df49a 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":166}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index c2935cecb..c3e34b0d4 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":170}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index 5854418dc..3db09b20a 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":180}} \ No newline at end of file +{"emi:info":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index eda00a319..8951f2570 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":181}} \ No newline at end of file +{"emi:tag":{"order":182}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index 707d2dbc2..a3cb78b5c 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":164}} \ No newline at end of file +{"exposure:photograph_printing":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index 25cf51b96..2675d757b 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":165}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index 38da3b56b..14d32f01c 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":169}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index 698a21706..b791e2c34 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":178}} \ No newline at end of file +{"greate:automatic_packing":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index b422abba8..28fd48ddc 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":176}} \ No newline at end of file +{"greate:automatic_shaped":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 442c0e107..cb810aba0 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":177}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index 2e41c54b1..b34f02651 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":168}} \ No newline at end of file +{"greate:block_cutting":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 640462ec6..1687d189d 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":120}} \ No newline at end of file +{"greate:crushing":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 7944b77b7..8a33b662f 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":126}} \ No newline at end of file +{"greate:fan_washing":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 954c52b28..904d7b9cc 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":119}} \ No newline at end of file +{"greate:milling":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index 3c5c093c7..39a4fe80c 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":124}} \ No newline at end of file +{"greate:mixing":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 6ec0e927b..660491ff4 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":109}} \ No newline at end of file +{"greate:pressing":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index 9fa83720a..b3637406e 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":96}} \ No newline at end of file +{"greate:sawing":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index 6699a164c..5b3fc2de4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":75}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index ef4356bb7..cc3d08990 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":136}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":137}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index f6e4b0423..f5fb46b95 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":76}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index 92c064469..567ddbcab 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":78}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index 86d984b45..de6efb553 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":79}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index 6186ec92e..ed5d63c9b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":160}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index 8edabc0e4..b4ee6926b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":80}} \ No newline at end of file +{"gtceu:assembler":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index fd55fae87..b62e991ea 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":137}} \ No newline at end of file +{"gtceu:assembly_line":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index a53a009d1..d58a46ca0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":81}} \ No newline at end of file +{"gtceu:autoclave":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index 72563097a..a4dd6da29 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":84}} \ No newline at end of file +{"gtceu:bender":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index 5954ef3db..31b7b2658 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":138}} \ No newline at end of file +{"gtceu:bioreactor":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index 422d93589..832ad3782 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":85}} \ No newline at end of file +{"gtceu:brewery":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index 526901f9c..d1d7856a2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":86}} \ No newline at end of file +{"gtceu:canner":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index d8004471f..23326661f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":88}} \ No newline at end of file +{"gtceu:centrifuge":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index ff35d2403..cb71aa041 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":90}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 77fb65f40..35da3689b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":89}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index 6dea103e0..b43a3b8ad 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":92}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 45bdc0ff5..64bb8f009 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":94}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 13f13109d..08d3d80fd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":139}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index 52e2dbf69..1e028d533 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":95}} \ No newline at end of file +{"gtceu:compressor":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index 886e4779b..8cc086257 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":140}} \ No newline at end of file +{"gtceu:cracker":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index f265e3581..02383736f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":97}} \ No newline at end of file +{"gtceu:cutter":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index dbb857434..1d99295bc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":99}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index abe5bff62..a0f789349 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":98}} \ No newline at end of file +{"gtceu:distillery":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index 20666032f..89f4dc1aa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":141}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index 3d59509ee..af9021d58 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":100}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index 55b6d8105..1633122d8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":101}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 75b000ec2..432b22df2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":142}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index a098ce001..9e2143626 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":103}} \ No newline at end of file +{"gtceu:extractor":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 99ab62d51..af4723a94 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":162}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index f191dc87e..cad13dc1c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":105}} \ No newline at end of file +{"gtceu:extruder":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index d5c266326..f72f39ca2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":106}} \ No newline at end of file +{"gtceu:fermenter":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 6e14a9976..6b2d77d20 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":143}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index ea2cd6df9..6b45f3ae9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":107}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index 4f6b62384..8cb246b5f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":108}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index 05db31d07..c8470f99c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":110}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index 213ce1954..5e78677dc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":112}} \ No newline at end of file +{"gtceu:forming_press":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 3f4912970..0feb3fbad 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":144}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index c7c01db93..92914839a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":113}} \ No newline at end of file +{"gtceu:gas_collector":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index 7231cc1c7..49a2d7d46 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":114}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index efa9331fc..68408b958 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":145}} \ No newline at end of file +{"gtceu:greenhouse":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 462decfd8..573b71507 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":146}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index baafe3f50..3356a2c95 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":147}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 0a8de3528..703c8ce4d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":148}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index d02888088..f4efc2728 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":77}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index 47a56c517..40797e778 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":93}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 4a437912f..116f91b70 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":116}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index c980bccd7..6e35a108d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":118}} \ No newline at end of file +{"gtceu:lathe":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 196bf9eff..4441df932 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":121}} \ No newline at end of file +{"gtceu:macerator":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index d347311b6..59cf7d209 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":161}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index 414afa0ea..68776609e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":123}} \ No newline at end of file +{"gtceu:mixer":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 83720c659..49f445263 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":149}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 345240e54..449ee0844 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":150}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index df113f580..aab36afb1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":91}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index d95deb28b..63e5ada41 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":122}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index e3a94606a..c18dc52b5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":111}} \ No newline at end of file +{"gtceu:ore_forging":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 405a50946..95d8c9ac6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":125}} \ No newline at end of file +{"gtceu:ore_washer":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index 602826a05..0aec181bf 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":151}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index 5ac587256..959d8f07f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":152}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 7b19510f3..286479fa4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":127}} \ No newline at end of file +{"gtceu:packer":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index a0bd0d75a..23e4660fa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":153}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index 902dc1974..dbbbf810b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":73}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index 77f51e722..bbcbcae74 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":128}} \ No newline at end of file +{"gtceu:polarizer":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index 2ddd1eaf6..ff8bdb18c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":179}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index d2931e90f..980dc4022 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":154}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index 7a62851bb..fd0c82d6c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":155}} \ No newline at end of file +{"gtceu:research_station":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index 8fc971e87..509ae0ecd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":129}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index f499fd75f..c950dea46 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":130}} \ No newline at end of file +{"gtceu:scanner":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index 08590a5a8..eafae1c58 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":132}} \ No newline at end of file +{"gtceu:sifter":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index 4beba1a99..be7eea57f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":156}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index 0bc83bd94..43b1beec0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":133}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 5edc94182..4cd1bfbf0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":157}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index a127850c7..e29d232d3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":158}} \ No newline at end of file +{"gtceu:wire_coating":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index d33e56613..2108ef64d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":135}} \ No newline at end of file +{"gtceu:wiremill":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index e0a9398cb..134ba08c3 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":74}} \ No newline at end of file +{"minecraft:smelting":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 3ef51601a..333764a49 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":163}} \ No newline at end of file +{"minecraft:smithing":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index adbf423f4..17ba3a220 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":167}} \ No newline at end of file +{"minecraft:stonecutting":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 5120abdce..567b7a739 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":172}} \ No newline at end of file +{"tacz:attachment_query":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index d1d6603bc..0d9de90af 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":173}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index ee3e03c79..a2fbc0494 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":87}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 9cb992072..6dcfa2369 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":134}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index ecaad064d..38067fe07 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":104}} \ No newline at end of file +{"vintageimprovements:curving":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index aa0b4f013..ce8da854e 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":115}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index fde04d7d1..1c1632b67 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":117}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index 40a51fa64..883d4cb5b 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":83}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index 9d955f31a..d6209b715 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":102}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 05cc197f3..4c10887a4 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":131}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":132}} \ No newline at end of file From c9c60944bb325d3c9dd580b9999a8cc312ffee80 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:25:44 +0000 Subject: [PATCH 104/157] fix quest --- config/ftbquests/quests/chapters/queststfc_tips.snbt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 6628a862d..f160ba9cf 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -2159,7 +2159,10 @@ y: -10.5d } { - dependencies: ["30DD0DDF86C96926", "1F41C35890E2C44F"] + dependencies: [ + "30DD0DDF86C96926" + "1F41C35890E2C44F" + ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.food_automation.desc}"] icon: "tfg:lv_food_oven" From 4db618ff37193bd369ae9b7927ab07ffddd104bb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:02:33 +0000 Subject: [PATCH 105/157] langs --- kubejs/assets/gtceu/lang/en_us.json | 8 ------- kubejs/assets/tfg/lang/en_us.json | 35 +++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 08469bd6a..874fff8fe 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -128,20 +128,12 @@ "material.gtceu.radioactive_steam": "Radioactive Steam", "material.gtceu.radioactive_waste": "Thorium Waste", "material.gtceu.irradiated_steam": "Irradiated Steam", - "material.gtceu.heavy_water": "Heavy Water", "material.gtceu.uranium_waste": "Uranium Waste", "material.gtceu.nuclear_waste": "Nuclear Waste", "material.gtceu.dirty_hexafluorosilicic_acid": "Dirty Hexafluorosilicic Acid", "material.gtceu.martian_sludge": "Martian Sludge", "material.gtceu.dioxygen_difluoride": "Dioxygen Difluoride", "material.gtceu.tritiated_water": "Tritiated Water", - "material.gtceu.raw_rich_brine": "Raw Rich Brine", - "material.gtceu.hot_iodine_brine": "Hot Iodine Brine", - "material.gtceu.brominated_iodine_vapor": "Brominated Iodine Vapor", - "material.gtceu.basic_bromine_exhaust": "Basic Bromine Exhaust", - "material.gtceu.dirty_flibe": "Dirty FLiBe", - "material.gtceu.flibe": "FLiBe", - "material.gtceu.hot_flibe": "Hot FLiBe", "material.gtceu.raw_brine": "Raw Brine", "material.gtceu.hot_brine": "Hot Brine", "material.gtceu.hot_chlorinated_brominated_brine": "Hot Chlorinated Brominated Brine", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 09c7032a8..f84b7a487 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1143,9 +1143,19 @@ "item.tfg.empty_rod_t2": "Empty Beryllium Fissile Fuel Rod", "item.tfg.empty_rod_t3": "Empty Zirconium Fissile Fuel Rod", "item.tfg.thorium_rod": "Thorium Fuel Rod", + "item.tfg.depleted_thorium_rod": "Depleted Thorium Fuel Rod", "item.tfg.uranium_rod": "Uranium Fuel Rod", + "item.tfg.depleted_uranium_rod": "Depleted Uranium Fuel Rod", "item.tfg.plutonium_rod": "Plutonium Fuel Rod", - "item.tfg.tbu_232_rod": "T-Rod Fuel", + "item.tfg.depleted_plutonium_rod": "Depleted Plutonium Fuel Rod", + "item.tfg.tbu_232_rod": "Thorium-Uranium Breeder Fuel Rod", + "item.tfg.depleted_tbu_232_rod": "Depleted Thorium-Uranium Breeder Fuel Rod", + "item.tfg.americium_241_rod": "Americium Fuel Rod", + "item.tfg.depleted_americium_241_rod": "Depleted Americium Fuel Rod", + "item.tfg.neptunium_237_rod": "Neptunium Fuel Rod", + "item.tfg.depleted_neptunium_237_rod": "Depleted Neptunium Fuel Rod", + "item.tfg.californium_252_rod": "Californium Fuel Rod", + "item.tfg.depleted_californium_252_rod": "Depleted Californium Fuel Rod", "item.tfg.refrigerant_pellet": "Refrigerant Pellet", "item.tfg.graphite_compound": "Graphite Compound", "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", @@ -1291,6 +1301,10 @@ "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", "material.tfg.mars_air": "Mars Air", "material.tfg.liquid_mars_air": "Liquid Mars Air", + "material.tfg.raw_rich_brine": "Raw Rich Brine", + "material.tfg.basic_bromine_exhaust": "Basic Bromine Exhaust", + "material.tfg.brominated_iodine_vapor": "Brominated Iodine Vapor", + "material.tfg.hot_iodine_brine": "Hot Iodine Brine", "material.tfg.certus_regolith": "Certus Regolith", "material.tfg.goethe_regolith": "Goethe Regolith", "material.tfg.bright_regolith": "Bright Regolith", @@ -1345,16 +1359,16 @@ "material.tfg.americium_241": "Americium 241", "material.tfg.californium_252": "Californium 252", "material.tfg.neptunium_237": "Neptunium 237", - "material.tfg.tbu_waste": "T Waste", + "material.tfg.tbu_waste": "Thorium Breeder Waste", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", "material.tfg.hot_boron_enriched_coolant": "Hot Boron Enriched Coolant", "material.tfg.polyalkylene_lubricant": "Polyalkylene Lubricant", "material.tfg.organic_degradation_slurry": "Organic Degradation Slurry", - "material.tfg.gas_fraction": "Gas Fraction", + "material.tfg.gas_fraction": "Solvent Gas Fraction", "material.tfg.isotopic_solvent": "Isotopic Solvent", - "material.tfg.residual_sludge": "Residual Sludge", + "material.tfg.residual_sludge": "Residual Solvent Sludge", "material.tfg.sodium_fluoride": "Sodium Fluoride", "material.tfg.trace_catalyst_salt_e": "Trace Catalyst Salt E", "material.tfg.copper_trace_catalyst": "Copper Trace Catalyst", @@ -1369,8 +1383,11 @@ "material.tfg.radioactive_effluent": "Radioactive Effluent", "material.tfg.high_grade_isotopic_solvent": "High Grade Isotopic Solvent", "material.tfg.degraded_high_grade_isotopic_solvent": "Degraded High Grade Isotopic Solvent", - "material.tfg.spent_ticl4_doped_supercritical_co2": "Hot TiCl₄ Doped Supercritical CO₂", - "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄ Doped Supercritical CO₂", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Hot TiCl₄-Doped Supercritical CO₂", + "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄-Doped Supercritical CO₂", + "material.tfg.flibe": "FLiBe", + "material.tfg.dirty_flibe": "Dirty FLiBe", + "material.tfg.hot_flibe": "Hot FLiBe", "material.tfg.glucose": "Glucose", "material.tfg.galactose": "Galactose", "material.tfg.fructose": "Fructose", @@ -2549,7 +2566,7 @@ "quests.extreme_voltage.heat_battery.desc": "The &6Heat Battery&r is a multiblock capable of storing &cHeat&r from hot coolants coming directly from your &cFission Reactor&r, which can then be used either to heat other fluids or to be consumed in the &5Ostrum Linear Accelerator&r.\n\nThe mechanic is fairly simple: depending on the fluid being input, the &6Heat Battery&r can reach higher temperatures, and you can check how much temperature a fluid can provide by browsing &bEMI&r under the Heat Battery Import recipes tab; conversely, you can spend your &cHeat Units&r by warming fluids, and like the EBF, some recipes require a minimum temperature, for example, producing &bHigh Pressure Steam&r from &9Distilled Water&r requires the Heat Battery to be at least at &c1000°&r.\n\nFinally, just like the &cFission Reactor&r, you can add specific blocks (tag &7#components_hb&r) to increase both the maximum reachable temperature of your &6Heat Battery&r and how many &cHeat Units&r it can store.", "quests.extreme_voltage.dense_ostrum_vapor.title": "Dense Ostrum Vapor", "quests.extreme_voltage.dense_ostrum_vapor.subtitle": "Fission on Earth?", - "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft &cT-Rod Fuel&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", + "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft a &cThorium-Uranium Breeder Fuel Rod&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", "quests.extreme_voltage.ostrum_vapor.title": "Ostrum Vapor", "quests.extreme_voltage.ostrum_vapor.subtitle": "We really need to chill", "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerrafirmaguard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", @@ -2644,9 +2661,9 @@ "quests.gregtech_energy.btx.desc": "Obtaining the &5EV Energy Hatches&r means you can finally get &eBTX Fuel&r (Benzene-Toluene-Xylene) production started. This fuel will last you for a very long time and remains competitive in a &6Large Turbine&r well into the late game. Even if it looks like a massive undertaking at first, rest assured that it will be well worth the effort.\n\nThis production line requires a large number of wood-based products. Sap becomes relevant again due to the need for &eGlue&r — you can either tap your trees passively or extract it directly from logs. You will also need to distill &eWood Tar&r in a &6Distillation Tower&r. Beyond that, make sure you can produce infinite amounts of &eEthanol&r, &eNether Quartz&r, &eSodium&r, &eAmmonia&r, &eLye&r, and &eReinforced Epoxy Resin Sheets&r.\n\nIf you want a more detailed breakdown of the BTX Fuel production chain, refer to the &5EV&r Chapter.", "quests.gregtech_energy.fission_rod.title": "Fission Fuels", "quests.gregtech_energy.fission_rod.subtitle": "Don't get me too hot", - "quests.gregtech_energy.fission_rod.desc.1": "To begin producing power on &2Earth&r, you will need to invest in an impressive setup on &4Mars&r to produce and process &cT-Rod Fuel&r; every time you craft a new &cT-Rod&r, you must use an &5OLA&r recipe, which is quite expensive, but the advantage is that the rods are fully recyclable after being depleted.\n\nAfter obtaining your first &cT-Rod&r, it is very important to decide which isotope you want to target.", + "quests.gregtech_energy.fission_rod.desc.1": "To begin producing power on &2Earth&r, you will need to invest in an impressive setup on &4Mars&r to produce and process &cThorium-Uranium Breeder Fuel&r; every time you craft a new &cBreeder Rod&r, you must use an &5OLA&r recipe, which is quite expensive, but the advantage is that the rods are fully recyclable after being depleted.\n\nAfter obtaining your first &cBreeder Rod&r, it is very important to decide which isotope you want to target.", "quests.gregtech_energy.fission_rod.desc.2": "The &aAmericium Rod&r has extremely high durability but very low &cHeat&r, and it is the only rod that can be used in a &eSmall Fission Reactor&r; this incredibly potent rod is very difficult to obtain, as you will need to run your &cFission Reactor&r at an extremely low temperature to maximize americium output—refer to EMI to determine the heat range you should target.\n\nThe &bNeptunium Rod&r is the standard option, offering good power output and good durability; it can produce up to &1360k EU/t&r at &1IV&r but requires a very extensive infrastructure, and with one &cFission Reactor&r, one &6Heat Battery&r, and one &9Cooling Tower&r, you should be able to generate a massive amount of steam in a perfectly looped system.", - "quests.gregtech_energy.fission_rod.desc.3": "Be very cautious, however: if your &cT-Rods&r are operated at too high a temperature, you will lose part of the &8TBU Waste&r and will not be able to fully recycle the rod; always be extremely careful when running a &cT-Rod&r, as losing them is something you absolutely want to avoid.\n\nWhen targeting specific temperatures to increase isotope yield, remember that you can mix multiple rods together, and as always, refer to EMI to see which rods use which coolants.", + "quests.gregtech_energy.fission_rod.desc.3": "Be very cautious, however: if your &cBreeder Rods&r are operated at too high a temperature, you will lose part of the &8TBU Waste&r and will not be able to fully recycle the rod; always be extremely careful when running a &cBreeder Rod&r, as losing them is something you absolutely want to avoid.\n\nWhen targeting specific temperatures to increase isotope yield, remember that you can mix multiple rods together, and as always, refer to EMI to see which rods use which coolants.", "quests.gregtech_energy.smr.title": "Small Modular Reactor", "quests.gregtech_energy.smr.subtitle": "Finally Power for these far outposts", "quests.gregtech_energy.smr.desc.1": "If you manage to obtain two &aAmericium-241 Rods&r, you can start looking into the &eSmall Fission Reactor&r and the &aSmall Modular Turbine&r; this generator setup is ideal for long-term, sustainable power generation with no required interaction, making it perfect for isolated outposts or as backup power for your base if everything goes wrong.", From a74407c10caf100b4aa06fc0eb2d5602d2a2daa4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:02:40 +0000 Subject: [PATCH 106/157] tidy colors and isotopes --- kubejs/client_scripts/tooltips.js | 3 +-- .../tfg/powergen/nuclear/tags.nuclear.js | 4 ++-- .../gtceu/material_modification.js | 5 +++++ .../tfg/nuclear/materials.nuclear.js | 16 ++++++++-------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 9800c0024..bfd0c0cfa 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -70,8 +70,7 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:ostrum_linear_accelerator'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_1')); text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_2')); - text.add(3, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_3')); - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')); diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index aacbef8fd..36090a32f 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -30,7 +30,7 @@ const registerTFGBlockTagsNuclear = (event) => { event.add(COMPONENTS_FR, 'tfg:impure_moderate_core_frame'); // Max Heat 5 //event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5 - event.add(COMPONENTS_FR, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK + //event.add(COMPONENTS_FR, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK // Increase Throttle //event.add(COMPONENTS_FR, 'minecraft:iron_block'); @@ -47,7 +47,7 @@ const registerTFGBlockTagsNuclear = (event) => { event.add(COMPONENTS_HB, 'minecraft:sand'); event.add(COMPONENTS_HB, 'tfg:impure_moderate_core_frame'); event.add(COMPONENTS_HB, 'tfg:moderate_core_frame'); - event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only + //event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only //#endregion diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 025b563f5..c371989c7 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -460,6 +460,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) GTMaterials.Diamond.setMaterialARGB(0x4AEDD9) GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7) + GTMaterials.Boron.setMaterialARGB(0x75BD8D) + GTMaterials.Boron.setMaterialSecondaryARGB(0x013A15) + GTMaterials.Americium.setMaterialARGB(0x284D7B) // Fluids global.MINECRAFT_DYE_NAMES.forEach(colorName => { @@ -477,4 +480,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') GTMaterials.Thorium.setFormula('ThO2') GTMaterials.Americium.setFormula('Am²⁴³') + GTMaterials.Boron.setFormula('B¹¹') + GTMaterials.Caesium.setFormula('Cs¹³³') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 04a1dd43c..0d06ea808 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -200,16 +200,16 @@ const registerTFGNuclearMaterials = (event) => { .element(GTElements.get("boron_10")) .iconSet(GTMaterialIconSet.DULL) .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .color(0xf8a8c0) - .secondaryColor(0xcd8dbc) + .color(0xbffdbf) + .secondaryColor(0x6d7058) event.create('caesium_137') .dust() .element(GTElements.get("caesium_137")) - .iconSet(GTMaterialIconSet.METALLIC) + .iconSet(GTMaterialIconSet.SHINY) .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .color(0xB6FF00) - .secondaryColor(0x9FAFB2) + .color(0xFCB65C) + .secondaryColor(0x55461B) event.create('tfg:boron_thrichloride') .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(380)) @@ -324,8 +324,8 @@ const registerTFGNuclearMaterials = (event) => { .element(GTElements.get("americium_241")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) - .color(0x10B193) - .secondaryColor(0x66ff00) + .color(0x648ABA) + .secondaryColor(0x999900) .radioactiveHazard(1000000) event.create('neptunium_237') @@ -343,7 +343,7 @@ const registerTFGNuclearMaterials = (event) => { .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) .color(0xffba00) - .secondaryColor(0x66ff00) + .secondaryColor(0xA85A12) .radioactiveHazard(10000000) //#endregion From 852d31a2719687430f8548962ebe575f64299583 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:04:37 +0000 Subject: [PATCH 107/157] fix #2839 --- .../quests/chapters/questsstoneage.snbt | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index d18ee6438..8945bdddc 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -1507,32 +1507,6 @@ shape: "heart" subtitle: "{quests.stone_age.meals.subtitle}" tasks: [ - { - id: "7D77C6BFE159FDC9" - item: { - Count: 1 - ForgeCaps: { - "tfc:food": { - creationDate: -2L - foodData: { - dairy: 0.0f - decay: 0.0f - food: 0 - fruit: 0.0f - grain: 0.0f - meat: 0.0f - sat: 0.0f - veg: 0.0f - water: 0.0f - } - ingredients: [ ] - traits: [ ] - } - } - id: "firmalife:food/cooked_pizza" - } - type: "item" - } { id: "597808680916715E" item: { From 79f5afe347837c96c8c6b9c3776be6f0e2e10ebc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:14:16 +0000 Subject: [PATCH 108/157] langs, quest for toolbelt --- config/defaultoptions/keybindings.txt | 7 ++++--- .../quests/chapters/questsmetallurgy.snbt | 17 ++++++++++++++++- kubejs/assets/tfg/lang/en_us.json | 7 +++++-- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/pt_br.json | 2 +- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt index f0523281e..a170c108b 100644 --- a/config/defaultoptions/keybindings.txt +++ b/config/defaultoptions/keybindings.txt @@ -78,7 +78,7 @@ key_key.astikorcarts.desc:key.keyboard.r:NONE key_key.curios.open.desc:key.keyboard.unknown:NONE key_create.keyinfo.toolmenu:key.keyboard.left.alt:NONE key_create.keyinfo.toolbelt:key.keyboard.left.alt:NONE -key_key.toolbelt.open:key.keyboard.unknown:NONE +key_key.toolbelt.open:key.keyboard.x:NONE key_key.toolbelt.slot:key.keyboard.unknown:NONE key_gui.xaero_switch_waypoint_set:key.keyboard.unknown:NONE key_gui.xaero_instant_waypoint:key.keyboard.unknown:NONE @@ -121,7 +121,8 @@ key_key.ftbchunks.map:key.keyboard.unknown:NONE key_key.ftbchunks.claim_manager:key.keyboard.unknown:NONE key_key.ad_astra.toggle_suit_flight:key.keyboard.h:NONE key_key.ad_astra.open_radio:key.keyboard.r:NONE -key_key.wan_ancient_beasts.special_ability:key.keyboard.x:NONE +key_key.wan_ancient_beasts.special_ability:key.keyboard.c:NONE key_key.saveToolbarActivator:key.keyboard.unknown:NONE key_key.loadToolbarActivator:key.keyboard.unknown:NONE -key_key.tacz.crawl.desc:key.keyboard.x:NONE \ No newline at end of file +key_key.tacz.crawl.desc:key.keyboard.c:NONE +key_key.prone:key.keyboard.c:NONE diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 61a20311b..2fefe32ca 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -51,7 +51,7 @@ id: "19CF6D922179DFF9" linked_quest: "11C45DBB20ED7647" shape: "heart" - x: 9.0d + x: 8.5d y: -34.0d } { @@ -1302,6 +1302,21 @@ x: 18.5d y: -24.0d } + { + dependencies: ["174DA15847665CF8"] + description: ["{quests.metal_age.toolbelt.desc}"] + id: "1DEC710C3570D5D0" + shape: "heart" + subtitle: "{quests.metal_age.toolbelt.subtitle}" + tasks: [{ + id: "0233F2A323C9FF6F" + item: "toolbelt:belt" + type: "item" + }] + title: "{quests.metal_age.toolbelt.title}" + x: 9.5d + y: -34.0d + } ] subtitle: ["{quests.metal_age.subtitle}"] title: "{quests.metal_age}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f84b7a487..ee01e4260 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1359,7 +1359,7 @@ "material.tfg.americium_241": "Americium 241", "material.tfg.californium_252": "Californium 252", "material.tfg.neptunium_237": "Neptunium 237", - "material.tfg.tbu_waste": "Thorium Breeder Waste", + "material.tfg.tbu_waste": "Thorium-Uranium Breeder Waste", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", @@ -3556,6 +3556,9 @@ "quests.metal_age.wrought_iron_anvil.title": "T3 Anvil: Wrought Iron", "quests.metal_age.wrought_iron_anvil.subtitle": "Waterwheels, Windmills and more Greate", "quests.metal_age.wrought_iron_anvil.desc": "With the Wrought Iron Anvil you'll be able to work Wrought Iron Ingots into different items such as Sheets, Tool heads, etc.\n\nWrought Iron tools and armor isn't much of an improvement over Bronze, but it has far more durability.\n\nCreating the next anvil is going to be a significant step up in difficulty, so this is a good point to settle down and explore some of the other things this modpack has to offer.", + "quests.metal_age.toolbelt.title": "Toolbelt", + "quests.metal_age.toolbelt.subtitle": "Free up your inventory!", + "quests.metal_age.toolbelt.desc": "Put one of these in your &6Belt Slot&r and you'll free up a whole row of your inventory!\n\nYou can swap tools at any time by pressing the &aSwap Tool&r (default: X) keybind to open a radial menu.", "quests.metal_age.coke_oven.title": "Coke Oven", "quests.metal_age.coke_oven.subtitle": "Finally, No More Charcoal Piles", "quests.metal_age.coke_oven.desc.1": "The Coke Oven is your first GregTech multiblock! It allows you to automatically create Charcoal and other powerful combustibles. The Coke Oven will burn one Log into one Charcoal and 250mb of Creosote, which is an important chemical used in wood treating and as an early fuel.\n\nIf you craft the main Coke Oven block and press the JEI 'Uses' key on it (defaults to \"U\"), you'll find the tab called \"Multiblock Info\", which shows you how to build the Coke Oven in the world.\n\nYou can also just place the Controller block in the world, and interact with it while sneaking to create a Hologram of blocks missing.", @@ -4218,7 +4221,7 @@ "quests.stone_age.soup_time.desc": "By crafting a pot and some bowls out of clay, you'll be able to create soups!\n\nSoups are one of the first and easiest ways to create more complex meals. Unlike eating plain ingredients, these contain much more saturation and let you consume multiple nutrients at once!", "quests.stone_age.meals.title": "Meals", "quests.stone_age.meals.subtitle": "GET IN MAH BELLEH!", - "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals, while pizzas are the only food that can contain every type of nutrient at once.", + "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals.", "quests.stone_age.meals.tasks.1": "Any regular Sandwich", "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", "quests.stone_age.garlic_bread.title": "Garlic Bread...?", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index b489989b6..49830c29e 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -3127,7 +3127,7 @@ "quests.stone_age.soup_time.desc": "By crafting a pot and some bowls out of clay, you'll be able to create soups!\n\nSoups are one of the first and easiest ways to create more complex meals. Unlike eating plain ingredients, these contain much more saturation and let you consume multiple nutrients at once!", "quests.stone_age.meals.title": "Meals", "quests.stone_age.meals.subtitle": "GET IN MAH BELLEH!", - "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals, while pizzas are the only food that can contain every type of nutrient at once.", + "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals.", "quests.stone_age.meals.tasks.1": "Any regular Sandwich", "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", "quests.stone_age.garlic_bread.title": "Garlic Bread...?", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 99ddccf2c..cde311ad7 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -2061,7 +2061,7 @@ "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.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.", "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...?", From 679cd48f38f6608b57f6a3a6062d1ab9bc1a60d8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:16:17 +0000 Subject: [PATCH 109/157] add optional pouch --- .../quests/chapters/questsmetallurgy.snbt | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 2fefe32ca..eca75da26 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -1305,14 +1305,23 @@ { dependencies: ["174DA15847665CF8"] description: ["{quests.metal_age.toolbelt.desc}"] + icon: "toolbelt:belt" id: "1DEC710C3570D5D0" shape: "heart" subtitle: "{quests.metal_age.toolbelt.subtitle}" - tasks: [{ - id: "0233F2A323C9FF6F" - item: "toolbelt:belt" - type: "item" - }] + tasks: [ + { + id: "0233F2A323C9FF6F" + item: "toolbelt:belt" + type: "item" + } + { + id: "09A674FE4BA67280" + item: "toolbelt:pouch" + optional_task: true + type: "item" + } + ] title: "{quests.metal_age.toolbelt.title}" x: 9.5d y: -34.0d From 614472d659151ac36cf0b89817ae59b0c257f51e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:02:41 +0000 Subject: [PATCH 110/157] quest tweaks --- .../quests/chapters/ev__extreme_voltage.snbt | 123 +++++++++--------- .../quests/chapters/gregtech_energy.snbt | 1 + 2 files changed, 63 insertions(+), 61 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index bae9c8d80..429aa4cec 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -6,7 +6,7 @@ icon: "tfg:ev_universal_circuit" id: "6B1AD2350778D945" images: [{ - alpha: 64 + alpha: 32 height: 8.0d image: "gtceu:textures/gui/overlay/atomic_overlay_2.png" rotation: 0.0d @@ -32,20 +32,21 @@ id: "66960076A74E9B79" linked_quest: "0CA5B715B76E4A5B" shape: "diamond" - x: 16.0d - y: 2.5d + x: 13.0d + y: 1.5d } { id: "6058CD9466BE0852" linked_quest: "00202200344F3456" - x: 13.0d - y: 4.0d + x: 12.5d + y: 3.0d } { id: "49FB3507B0FB3000" linked_quest: "155F421FC2F39C3C" + shape: "diamond" x: 11.5d - y: 4.0d + y: 1.5d } { id: "7FDAA0AA0D463A49" @@ -66,7 +67,7 @@ linked_quest: "6ECAD339C91EF194" shape: "heart" x: 17.5d - y: 8.0d + y: 7.5d } { icon: { @@ -78,8 +79,8 @@ } id: "2DD8555DDAA44979" linked_quest: "0ABD326DC2551CBD" - x: 24.5d - y: 9.0d + x: 23.5d + y: 10.5d } ] quests: [ @@ -327,8 +328,8 @@ item: "gtceu:alloy_blast_smelter" type: "item" }] - x: 13.0d - y: 1.0d + x: 14.5d + y: 0.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -445,7 +446,7 @@ ] title: "{quests.extreme_voltage.gcym_alloys.title}" x: 10.0d - y: 1.0d + y: 0.0d } { dependencies: ["7B2EE67E37809269"] @@ -493,7 +494,7 @@ type: "item" }] x: 17.5d - y: 1.0d + y: 0.0d } { dependencies: [ @@ -581,7 +582,7 @@ } ] title: "{quests.extreme_voltage.heavy_water.title}" - x: 10.0d + x: 8.5d y: 5.5d } { @@ -690,7 +691,7 @@ } type: "item" }] - x: 12.5d + x: 13.0d y: 7.0d } { @@ -711,8 +712,8 @@ } ] title: "{quests.extreme_voltage.uranium_line.title}" - x: 12.5d - y: 8.0d + x: 13.0d + y: 9.0d } { dependencies: [ @@ -729,7 +730,7 @@ item: "gtceu:uraninite_dust" type: "item" }] - x: 12.5d + x: 11.5d y: 9.0d } { @@ -792,7 +793,7 @@ }] title: "{quests.extreme_voltage.heat_exchanger.title}" x: 14.5d - y: 5.5d + y: 4.5d } { dependencies: ["4EA8888B12D75BF1"] @@ -821,8 +822,8 @@ } ] title: "{quests.extreme_voltage.ammonium_formate.title}" - x: 12.5d - y: 5.5d + x: 13.0d + y: 4.5d } { dependencies: ["75725B3F6603F1D0"] @@ -845,7 +846,7 @@ ] title: "{quests.extreme_voltage.formamide.title}" x: 16.0d - y: 5.5d + y: 4.5d } { dependencies: [ @@ -878,7 +879,7 @@ ] title: "{quests.extreme_voltage.nuclear_residue_dust.title}" x: 17.5d - y: 5.5d + y: 4.5d } { dependencies: [ @@ -904,7 +905,7 @@ ] title: "{quests.extreme_voltage.martian_sludge.title}" x: 17.5d - y: 3.5d + y: 1.5d } { dependencies: ["4EA8888B12D75BF1"] @@ -933,8 +934,8 @@ } ] title: "{quests.extreme_voltage.hexafluorosilic_acid.title}" - x: 19.0d - y: 3.5d + x: 16.0d + y: 1.5d } { dependencies: ["2B666F65B5F196E6"] @@ -951,7 +952,7 @@ type: "item" }] x: 19.0d - y: 5.5d + y: 4.5d } { dependencies: ["5523F60CE095BD0A"] @@ -964,7 +965,7 @@ type: "item" }] x: 19.0d - y: 7.0d + y: 6.0d } { dependencies: [ @@ -990,7 +991,7 @@ type: "item" }] x: 19.0d - y: 10.5d + y: 9.0d } { dependencies: ["5523F60CE095BD0A"] @@ -1012,8 +1013,8 @@ } ] title: "{quests.extreme_voltage.radioactive_concoction.title}" - x: 22.0d - y: 5.5d + x: 20.5d + y: 4.5d } { dependencies: ["4C0E5C517F0137B9"] @@ -1035,7 +1036,7 @@ } ] title: "{quests.extreme_voltage.tritiated_water.title}" - x: 12.5d + x: 19.0d y: 10.5d } { @@ -1181,7 +1182,7 @@ ] title: "{quests.extreme_voltage.ostrum_harvester.title}" x: 14.5d - y: 2.5d + y: 1.5d } { dependencies: ["017019EB38F7A18C"] @@ -1278,7 +1279,7 @@ ] title: "{quests.extreme_voltage.ev_superconductor.title}" x: 17.5d - y: 7.0d + y: 6.0d } { dependencies: ["017019EB38F7A18C"] @@ -1599,8 +1600,6 @@ description: ["{quests.extreme_voltage.plutonium.desc}"] icon: "gtceu:plutonium_ingot" id: "41D968B30C11934C" - shape: "octagon" - size: 1.5d subtitle: "{quests.extreme_voltage.plutonium.subtitle}" tasks: [ { @@ -1617,7 +1616,7 @@ ] title: "{quests.extreme_voltage.plutonium.title}" x: 19.0d - y: 9.0d + y: 7.5d } { dependencies: ["26AA29016BA23396"] @@ -1625,7 +1624,7 @@ icon: "tfg:ostrum_linear_accelerator" id: "691A36800DC755C1" shape: "octagon" - size: 2.0d + size: 1.5d subtitle: "{quests.extreme_voltage.ostrum_linear.subtitle}" tasks: [ { @@ -1645,7 +1644,7 @@ } ] x: 22.0d - y: 9.0d + y: 6.0d } { dependencies: ["691A36800DC755C1"] @@ -1668,7 +1667,7 @@ ] title: "{quests.extreme_voltage.ostrum_vapor.title}" x: 20.5d - y: 9.0d + y: 6.0d } { dependencies: [ @@ -1695,7 +1694,7 @@ ] title: "{quests.extreme_voltage.light_ostrum_vapor.title}" x: 22.0d - y: 12.0d + y: 7.5d } { dependencies: ["691A36800DC755C1"] @@ -1718,7 +1717,7 @@ ] title: "{quests.extreme_voltage.dense_ostrum_vapor.title}" x: 23.5d - y: 9.0d + y: 6.0d } { dependencies: ["4F647D6A4949EDF7"] @@ -1776,7 +1775,7 @@ } ] x: 22.0d - y: 13.0d + y: 9.0d } { dependencies: ["3A2E442E4D84C891"] @@ -1888,7 +1887,7 @@ ] title: "{quests.extreme_voltage.refrigerant_pellet.title}" x: 20.5d - y: 10.5d + y: 7.5d } { dependencies: ["29E0829816B9DBA0"] @@ -1960,7 +1959,7 @@ type: "item" }] title: "{quests.extreme_voltage.large_miner.title}" - x: 10.0d + x: 9.5d y: -4.5d } { @@ -2024,7 +2023,7 @@ ] title: "{quests.extreme_voltage.ostrum_dust.title}" x: 14.5d - y: 4.0d + y: 3.0d } { dependencies: ["04682CD04FE0A56E"] @@ -2180,20 +2179,21 @@ ] disable_toast: true id: "40CBACE41B71C011" + optional: true shape: "octagon" size: 1.5d - tasks: [ - { - id: "229957FF419324F0" - item: "gtceu:large_combustion_engine" - type: "item" + tasks: [{ + id: "656484D8CCA0018E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:large_combustion_engine)item(gtceu:gas_large_turbine))" + } } - { - id: "49B66E0C0E22403A" - item: "gtceu:gas_large_turbine" - type: "item" - } - ] + title: "{quests.extreme_voltage.large_generators.task}" + type: "item" + }] title: "{quests.extreme_voltage.large_generators.title}" x: 2.0d y: 4.5d @@ -2264,8 +2264,6 @@ dependencies: ["617CF3335584DC8D"] description: ["{quests.extreme_voltage.heat_battery.desc}"] id: "26AA29016BA23396" - shape: "octagon" - size: 1.5d subtitle: "{quests.extreme_voltage.heat_battery.subtitle}" tasks: [{ id: "5C9A37E905A4030F" @@ -2273,10 +2271,13 @@ type: "item" }] x: 22.0d - y: 7.0d + y: 4.5d } { - dependencies: ["155F421FC2F39C3C"] + dependencies: [ + "155F421FC2F39C3C" + "29E0829816B9DBA0" + ] description: ["{quests.extreme_voltage.nichromium_iode.desc}"] icon: "tfg:nichromium_iodomethylate_bucket" id: "5CF70AC24D269279" diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 06f8c624a..1c658bad5 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -1318,6 +1318,7 @@ dependencies: [ "4512E5DE7A84F809" "4C29DDE89AE8D6EE" + "3E0ABDFCC0FC6928" ] dependency_requirement: "one_completed" description: [ From 90d0c8e915a424da5fd9a6a6f27aedb1b2e68595 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:03:03 +0000 Subject: [PATCH 111/157] more rockwool for the RTM coils --- kubejs/server_scripts/tfg/machines/recipes.coils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 44a47b9e5..1bb65e9c6 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -79,7 +79,7 @@ function registerTFGCoilRecipes(event) { event.remove({ id : 'gtceu:assembler/coil_rtm_alloy' }) event.recipes.gtceu.assembler('tfg:coil_rtm_alloy') - .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '#forge:insulation_t2/sheet') + .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '8x #forge:insulation_t2/sheet') .inputFluids('tfg:nichromium_iodomethylate 244') .itemOutputs('gtceu:rtm_alloy_coil_block') .duration(20 * 25) From f3888958a2d722666f8c30c597362d8eea94f4a0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:03:08 +0000 Subject: [PATCH 112/157] pakku --- pakku.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pakku.json b/pakku.json index faf8a0638..e9af41c30 100644 --- a/pakku.json +++ b/pakku.json @@ -1,7 +1,7 @@ { "name": "TerraFirmaGreg-Modern", "version": "DEV", - "release_type": "release", + "release_type": "alpha", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [ From 177fa4169717cc37bfc1e2eb5c4332ca740b565f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:13:06 +0000 Subject: [PATCH 113/157] convert more bucket quests into checkboxes --- .../quests/chapters/ev__extreme_voltage.snbt | 204 ++++++++++++------ 1 file changed, 136 insertions(+), 68 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 429aa4cec..7e486c033 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -19,7 +19,7 @@ { id: "0D951ADFB3AF2E74" linked_quest: "7B2EE67E37809269" - x: 8.5d + x: 5.0d y: -1.0d } { @@ -59,8 +59,8 @@ { id: "7B380A243C2C39FA" linked_quest: "13F2929C1C303A0B" - x: 4.25d - y: -3.5d + x: 5.5d + y: -2.5d } { id: "2151F8AA263F1D6E" @@ -256,13 +256,22 @@ "{@pagebreak}" "{quests.extreme_voltage.epoxy.desc.3}" ] + icon: "gtceu:epoxy_bucket" id: "55FB2776B724FB63" subtitle: "{quests.extreme_voltage.epoxy.subtitle}" - tasks: [{ - id: "096B6E1EA8DBC186" - item: "gtceu:epoxy_bucket" - type: "item" - }] + tasks: [ + { + id: "096B6E1EA8DBC186" + item: "gtceu:epoxy_bucket" + optional_task: true + type: "item" + } + { + id: "33C7361EEFF2E4B5" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.epoxy.title}" x: -7.0d y: 4.5d @@ -270,19 +279,28 @@ { dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.oil_distillation.desc}"] + icon: "gtceu:oil_bucket" id: "2DEC7AF917AAE4EC" - tasks: [{ - id: "559166D928E75B8F" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:oil_bucket)item(gtceu:oil_light_bucket)item(gtceu:oil_medium_bucket)item(gtceu:oil_heavy_bucket))" + tasks: [ + { + id: "559166D928E75B8F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:oil_bucket)item(gtceu:oil_light_bucket)item(gtceu:oil_medium_bucket)item(gtceu:oil_heavy_bucket))" + } } + optional_task: true + title: "{quests.extreme_voltage.oil_distillation.task}" + type: "item" } - title: "{quests.extreme_voltage.oil_distillation.task}" - type: "item" - }] + { + id: "2B5D6C28550F3FD9" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.oil_distillation.title}" x: -7.0d y: -2.5d @@ -296,19 +314,28 @@ "{@pagebreak}" "{quests.extreme_voltage.wood_distillation.desc.3}" ] + icon: "gtceu:wood_tar_bucket" id: "43BBB9074608F9B1" - tasks: [{ - id: "4D90CDAAA91AE033" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:wood_tar_bucket)item(gtceu:wood_vinegar_bucket)item(gtceu:charcoal_byproducts_bucket))" + tasks: [ + { + id: "4D90CDAAA91AE033" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:wood_tar_bucket)item(gtceu:wood_vinegar_bucket)item(gtceu:charcoal_byproducts_bucket))" + } } + optional_task: true + title: "{quests.extreme_voltage.wood_distillation.task}" + type: "item" } - title: "{quests.extreme_voltage.wood_distillation.task}" - type: "item" - }] + { + id: "6EB7DA5D867B279C" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.wood_distillation.title}" x: -5.5d y: -2.5d @@ -336,8 +363,6 @@ dependency_requirement: "all_started" description: ["{quests.extreme_voltage.ev_mixer.desc}"] id: "61D5055F344DDFAD" - shape: "octagon" - size: 1.5d subtitle: "{quests.extreme_voltage.ev_mixer.subtitle}" tasks: [{ id: "7A401E905A41C399" @@ -345,7 +370,7 @@ type: "item" }] title: "{quests.extreme_voltage.ev_mixer.title}" - x: 5.25d + x: 3.75d y: 0.0d } { @@ -384,6 +409,8 @@ ] description: ["{quests.extreme_voltage.rtm_coil.desc}"] id: "7F4E529627AD9148" + shape: "octagon" + size: 1.5d subtitle: "{quests.extreme_voltage.rtm_coil.subtitle}" tasks: [{ id: "00C380A4403239AA" @@ -480,8 +507,8 @@ } ] title: "{quests.extreme_voltage.ruthenium.title}" - x: 8.5d - y: 0.0d + x: 6.0d + y: -1.0d } { dependencies: ["24ECDF70031B39C4"] @@ -519,7 +546,7 @@ } ] title: "{quests.extreme_voltage.tungsten_steel.title}" - x: 5.25d + x: 3.75d y: -2.5d } { @@ -908,7 +935,7 @@ y: 1.5d } { - dependencies: ["4EA8888B12D75BF1"] + dependencies: ["2979AFD231E5B37B"] description: ["{quests.extreme_voltage.hexafluorosilic_acid.desc}"] hide_dependency_lines: true icon: "gtceu:dirty_hexafluorosilicic_acid_bucket" @@ -922,14 +949,8 @@ type: "item" } { - id: "541418FD093548C2" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "item_tag(forge:dusts/ochrum)" - } - } + id: "1963DB3E483659FD" + item: "gtceu:ochrum_dust" type: "item" } ] @@ -1217,6 +1238,7 @@ { dependencies: ["55FB2776B724FB63"] description: ["{quests.extreme_voltage.aes_insulation.desc}"] + icon: "tfg:aes_insulation_roll" id: "3B18DE7395776B41" subtitle: "{quests.extreme_voltage.aes_insulation.subtitle}" tasks: [ @@ -1446,13 +1468,22 @@ { dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.liquid_mars_air.desc}"] + icon: "tfg:liquid_mars_air_bucket" id: "3A46387D683ADC58" subtitle: "{quests.extreme_voltage.liquid_mars_air.subtitle}" - tasks: [{ - id: "60D5C9CC89134D1E" - item: "tfg:liquid_mars_air_bucket" - type: "item" - }] + tasks: [ + { + id: "60D5C9CC89134D1E" + item: "tfg:liquid_mars_air_bucket" + optional_task: true + type: "item" + } + { + id: "7679D78CE272C509" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.liquid_mars_air.title}" x: -9.5d y: 1.0d @@ -1795,13 +1826,22 @@ { dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.liquid_air.desc}"] + icon: "gtceu:liquid_air_bucket" id: "7EAA2149BD77A5E6" subtitle: "{quests.extreme_voltage.liquid_air.subtitle}" - tasks: [{ - id: "4B69CAB4467BBE1E" - item: "gtceu:liquid_air_bucket" - type: "item" - }] + tasks: [ + { + id: "4B69CAB4467BBE1E" + item: "gtceu:liquid_air_bucket" + optional_task: true + type: "item" + } + { + id: "001FF194BBEB98F1" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.liquid_air.title}" x: -9.5d y: 0.0d @@ -1822,6 +1862,7 @@ dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.nuclear_turbine.desc}"] hide_dependency_lines: true + icon: "tfg:nuclear_turbine" id: "1655573AE1C8484B" shape: "octagon" size: 1.5d @@ -2074,12 +2115,21 @@ dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.epichlorohydrin.desc}"] hide_dependency_lines: true + icon: "gtceu:epichlorohydrin_bucket" id: "146E086823CEEF7A" - tasks: [{ - id: "7E1FFA943BAECDB9" - item: "gtceu:epichlorohydrin_bucket" - type: "item" - }] + tasks: [ + { + id: "7E1FFA943BAECDB9" + item: "gtceu:epichlorohydrin_bucket" + optional_task: true + type: "item" + } + { + id: "5FE5EC623F1412C0" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.epichlorohydrin.title}" x: -8.5d y: 3.5d @@ -2094,12 +2144,21 @@ "{quests.extreme_voltage.phenol.desc.3}" ] hide_dependency_lines: true + icon: "gtceu:phenol_bucket" id: "431063775DFA1519" - tasks: [{ - id: "6452431C90671E6D" - item: "gtceu:phenol_bucket" - type: "item" - }] + tasks: [ + { + id: "6452431C90671E6D" + item: "gtceu:phenol_bucket" + optional_task: true + type: "item" + } + { + id: "282831A0E103E0CE" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.phenol.title}" x: -9.0d y: 4.5d @@ -2112,12 +2171,21 @@ "{quests.extreme_voltage.acetone.desc.2}" ] hide_dependency_lines: true + icon: "gtceu:acetone_bucket" id: "461ABF74A9406752" - tasks: [{ - id: "4CE653FC4E438F02" - item: "gtceu:acetone_bucket" - type: "item" - }] + tasks: [ + { + id: "4CE653FC4E438F02" + item: "gtceu:acetone_bucket" + optional_task: true + type: "item" + } + { + id: "2BB3BED0A7927EDC" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.acetone.title}" x: -8.5d y: 5.5d From 27cab596a97a53e5661f8b941b1da26604dda6c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 21:07:46 +0000 Subject: [PATCH 114/157] add double rocket to quests --- .../quests/chapters/ev__extreme_voltage.snbt | 14 +++++++++++--- .../quests/chapters/hv__high_voltage.snbt | 14 +++++++++++--- kubejs/assets/tfg/lang/en_us.json | 5 ++++- kubejs/client_scripts/tooltips.js | 2 +- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 7e486c033..73080192c 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -110,18 +110,26 @@ "3B18DE7395776B41" ] description: ["{quests.extreme_voltage.t2_rocket.desc}"] + icon: { + Count: 1 + id: "ad_astra:tier_2_rocket" + tag: { } + } icon_scale: 2.0d id: "52AB0BDC64293253" shape: "none" size: 2.0d subtitle: "{quests.extreme_voltage.t2_rocket.subtitle}" tasks: [{ - id: "00802CE875F2FB24" + id: "13C10613129C3692" item: { Count: 1 - id: "ad_astra:tier_2_rocket" - tag: { } + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(ad_astra:tier_2_rocket)item(tfg:tier_2_double_rocket))" + } } + title: "{quests.extreme_voltage.t2_rocket.task}" type: "item" }] title: "{quests.extreme_voltage.t2_rocket.title}" diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 949f23310..7fad3ab38 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1010,18 +1010,26 @@ ] dependency_requirement: "one_completed" description: ["{quests.high_voltage.rocket_t1.desc}"] + icon: { + Count: 1 + id: "ad_astra:tier_1_rocket" + tag: { } + } icon_scale: 2.0d id: "3FBDC8552F7D8008" shape: "none" size: 2.0d subtitle: "{quests.high_voltage.rocket_t1.subtitle}" tasks: [{ - id: "76D1CE96C52F9963" + id: "6F40128FAA409B16" item: { Count: 1 - id: "ad_astra:tier_1_rocket" - tag: { } + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(ad_astra:tier_1_rocket)item(tfg:tier_1_double_rocket))" + } } + title: "{quests.high_voltage.rocket_t1.task}" type: "item" }] title: "{quests.high_voltage.rocket_t1.title}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ee01e4260..3121d421f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2320,6 +2320,7 @@ "quests.extreme_voltage.t2_rocket.title": "Rocket 2: Titanium Boogaloo", "quests.extreme_voltage.t2_rocket.subtitle": "This one's purple", "quests.extreme_voltage.t2_rocket.desc": "This new rocket shouldn’t be too difficult to assemble, but you’ll notice a clear jump in material costs compared to your previous model.\n\nThe upgraded &6Rocket Alloys&r now require both &bDistilled Water&r and &bCryogenized Fluix&r for cooling.\n\nMake sure you've fully set up your &eTitanium&r production line, as you're going to need a lot of it going forward! A continuous production line will save you a lot of frustration down the road.", + "quests.extreme_voltage.t2_rocket.task": "Either rocket", "quests.extreme_voltage.mars.title": "I'm on &4Mars&r!", "quests.extreme_voltage.mars.subtitle": "The Red Planet", "quests.extreme_voltage.mars.desc.1": "Before landing on &4Mars&r, there are a few important things to keep in mind.\n\nFirst, like the Moon, &4Mars&r will have some hostile surface mobs as well. If you haven't already figured out how to make your Space Suit stay with you after dying or invested in new EV-tier weaponry, you'll have a rough time.\n\nThe planet is mostly a &edesert world&r, dotted with \"&aislands&r\" where you’ll find &bwater&r, lush fauna, and much safer places to build your first base. Meanwhile, the open desert is extremely dangerous if you don't watch your step, but contains some other crucial resources!", @@ -2546,6 +2547,7 @@ "quests.extreme_voltage.martian_sludge.desc": "Centrifuge the Hexafluorosilic Acid to get your Fluorine back, along with some &6Martian Sludge&r - required for Radon and Nuclear Residue.", "quests.extreme_voltage.large_generators.title": "Extreme Power Generation", "quests.extreme_voltage.large_generators.desc": "The various single-block generators only go up to HV, so from here on, you'll have to use multiblocks to generate more power. Two of the best options at EV are the &dLarge Gas Turbine&r and &dLarge Combustion Engine&r, so head over to the GregTech Energy chapter to learn more about them.", + "quests.extreme_voltage.large_generators.task": "A Large Gas Turbine or Large Combustion Engine", "quests.extreme_voltage.large_centrifuge.subtitle": "Material Carousel", "quests.extreme_voltage.large_centrifuge.desc": "The &6Large Centrifugal Unit&r is a mandatory multiblock for your Fission Line.\n\nIt supports up to &52x EV Energy Hatches&r, allowing it to process &1IV-tier&r recipes using the same mechanic as the EBF, so it should feel familiar.\n\nThis machine can operate in two modes: &bCentrifuge&r and &6Thermal Centrifuge&r. You can easily switch between them directly in the controller interface, but unfortunately can't be controlled with AE2 or other automation.\n\nWith this upgrade, you can finally bring your &aore processing&r to a whole new level of speed.", "quests.extreme_voltage.btx.title": "BTX Fuel", @@ -2891,6 +2893,7 @@ "quests.high_voltage.rocket_t1.title": "Your First Rocket!", "quests.high_voltage.rocket_t1.subtitle": "The first of many", "quests.high_voltage.rocket_t1.desc": "Wow, it's time to build your &6Rocket&r!\n\nAssemble all the parts with &d8 Dense Rocket Alloy&r. To finish the insulation, you'll need &b2304mb&r of &bLiquid Silicon&r (&b16 ingots&r) and &f16 pieces of dust&r.\n\nYou have two choices:\n&e-&r &eBorosilicate Glass Dust&r — crafted in a &6Mixer&r with &dBoron&r and &fGlass Dust&r\n\n&e-&r &5Vitrified Asbestos&r — obtained through a &6Pyrolyse Oven&r\n\nGo with whichever's easiest for you!", + "quests.high_voltage.rocket_t1.task": "Either rocket", "quests.high_voltage.vitrified_pearl.title": "Vitrified Ender Pearl", "quests.high_voltage.vitrified_pearl.subtitle": "An Exotic Ceramic", "quests.high_voltage.vitrified_pearl.desc": "Heat the Ender Pearl in a &ePyrolyse Oven&r along with some appropriate insulation to properly vitrify it into something resembling a &3ceramic&r.\n\nYou won’t need many of these for now — at minimum, just one for your &6Rocket&r and another for your &6HV Circuit Assembler&r.\nBut be warned: from &5EV&r and beyond, the demand will rise quickly.", @@ -3558,7 +3561,7 @@ "quests.metal_age.wrought_iron_anvil.desc": "With the Wrought Iron Anvil you'll be able to work Wrought Iron Ingots into different items such as Sheets, Tool heads, etc.\n\nWrought Iron tools and armor isn't much of an improvement over Bronze, but it has far more durability.\n\nCreating the next anvil is going to be a significant step up in difficulty, so this is a good point to settle down and explore some of the other things this modpack has to offer.", "quests.metal_age.toolbelt.title": "Toolbelt", "quests.metal_age.toolbelt.subtitle": "Free up your inventory!", - "quests.metal_age.toolbelt.desc": "Put one of these in your &6Belt Slot&r and you'll free up a whole row of your inventory!\n\nYou can swap tools at any time by pressing the &aSwap Tool&r (default: X) keybind to open a radial menu.", + "quests.metal_age.toolbelt.desc": "Put one of these in your &6Belt Slot&r and you'll free up a whole row of your inventory!\n\nYou can swap tools at any time by pressing the &aSwap Tool&r (default: X) keybind to open a radial menu.\n\nToolbelts can be upgraded with eight pouches to hold 9 items total.", "quests.metal_age.coke_oven.title": "Coke Oven", "quests.metal_age.coke_oven.subtitle": "Finally, No More Charcoal Piles", "quests.metal_age.coke_oven.desc.1": "The Coke Oven is your first GregTech multiblock! It allows you to automatically create Charcoal and other powerful combustibles. The Coke Oven will burn one Log into one Charcoal and 250mb of Creosote, which is an important chemical used in wood treating and as an early fuel.\n\nIf you craft the main Coke Oven block and press the JEI 'Uses' key on it (defaults to \"U\"), you'll find the tab called \"Multiblock Info\", which shows you how to build the Coke Oven in the world.\n\nYou can also just place the Controller block in the world, and interact with it while sneaking to create a Hologram of blocks missing.", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index bfd0c0cfa..4ac1839b5 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -115,7 +115,7 @@ const registerTooltips = (event) => { text.add(1, Text.translate('gtceu.tooltip.machine.coal_liquefaction_tower_1')); text.add(2, Text.translate('gtceu.tooltip.machine.coal_liquefaction_tower_2')); text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount')); - text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatch')); }) event.addAdvanced(['tfg:hydroponics_facility'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.hydroponics_facility_1')); From 36125f7d5d699885259ccd462b83fb89890bb133 Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:45:44 +0100 Subject: [PATCH 115/157] Dye mixing (#2938) * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 * Revert "Update recipes.dyes.js" This reverts commit b06ed24bf42fafc4233c6c6278fa5199e5542bfd. * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 attempt nr 2 * barrel recipe barrel recipes and fix due to my colour blindness (; --------- Signed-off-by: OLOXpl <125832723+OLOXpl@users.noreply.github.com> --- kubejs/server_scripts/tfc/recipes.dyes.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfc/recipes.dyes.js b/kubejs/server_scripts/tfc/recipes.dyes.js index a0d9d435b..45c3e2030 100644 --- a/kubejs/server_scripts/tfc/recipes.dyes.js +++ b/kubejs/server_scripts/tfc/recipes.dyes.js @@ -168,7 +168,7 @@ function registerTFCDyeRecipes(event) { ], // input 2 [ - 'light_gray', 'gray', 'green', + 'white', 'gray', 'green', 'blue', 'green', 'red', 'pink', 'red', 'yellow', 'black', 'blue' @@ -188,6 +188,7 @@ function registerTFCDyeRecipes(event) { !Fluid.exists(`tfc:${dyeMixes[2][i]}_dye`) ) continue + // GT mixer recipe event.recipes.gtceu.mixer(`mixer_dye_${dyeMixes[2][i]}`) .inputFluids( Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 144), @@ -198,6 +199,18 @@ function registerTFCDyeRecipes(event) { ) .duration(20) .EUt(8) + + // TFC barrel recipes (2x because 2! = 2) + event.recipes.tfc.barrel_instant_fluid( + Fluid.of(`tfc:${dyeMixes[2][i]}_dye`, 2), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 1)), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[1][i]}_dye`, 1)), + ) + event.recipes.tfc.barrel_instant_fluid( + Fluid.of(`tfc:${dyeMixes[2][i]}_dye`, 2), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[1][i]}_dye`, 1)), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 1)), + ) } //#endregion From 9228cd7645a2a70892b6b01db83e965fc2d5633c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 22:02:37 +0000 Subject: [PATCH 116/157] change hss-g coils, update mars quests, langs --- CHANGELOG.md | 6 +- config/ftbquests/quests/chapters/mars.snbt | 69 +++++++++++++++++-- .../en_us/entries/tfg_tips/space_fauna.json | 2 +- kubejs/assets/tfg/lang/en_us.json | 14 +++- .../tfg/machines/recipes.coils.js | 15 ++++ 5 files changed, 96 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aba034dc3..03e468ca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ - Cupronickel coils now also need blue steel foil instead of bronze - Polyethylene now requires an MV chemical reactor - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix +#### EV changes +(tom's changelist goes here) +#### IV changes +- Multi-Layer Insulated Shielding is now required for HSS-G coils. ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie @@ -44,7 +48,7 @@ - Added assembler recipe for framed cubes (#2889) @Coox1e - Added a furnace recipe for dead grass to thatch (#2935) @Coox1e - Added support for Bluemap (#2922) @trisjob -- Added mixer recipes for dye fluids (#2925) @OLOXpl +- Added mixer and barrel recipes for dye fluids (#2925, #2938) @OLOXpl ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/config/ftbquests/quests/chapters/mars.snbt b/config/ftbquests/quests/chapters/mars.snbt index 48f971db3..fea88964f 100644 --- a/config/ftbquests/quests/chapters/mars.snbt +++ b/config/ftbquests/quests/chapters/mars.snbt @@ -153,7 +153,7 @@ type: "item" }] title: "{quests.space_survival.heavy_ammoniacal_water.title}" - x: 15.0d + x: 15.5d y: -4.0d } { @@ -174,7 +174,7 @@ { dependencies: ["5AC5AAB9B3758E30"] description: ["{quests.space_survival.soarer.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 20" + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 21" icon: "wan_ancient_beasts:soarer_egg" id: "2F711C064635EF2D" optional: true @@ -289,7 +289,7 @@ }] title: "{quests.space_survival.mars_crops.title}" x: 13.5d - y: -1.5d + y: -2.0d } { dependencies: ["0967CE7F5DFF5CF6"] @@ -460,7 +460,7 @@ ] title: "{quests.space_survival.bulbkin_pie.title}" x: 13.5d - y: 0.0d + y: -0.5d } { dependencies: ["155F421FC2F39C3C"] @@ -479,7 +479,7 @@ { dependencies: ["5AC5AAB9B3758E30"] description: ["{quests.space_survival.surfer.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 17" + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 20" id: "43EBECA48E341C47" optional: true shape: "heart" @@ -578,6 +578,65 @@ x: 12.0d y: -6.5d } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.charger.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 19" + icon: "wan_ancient_beasts:charger_egg" + id: "148C2DA8FB1D6DB1" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.charger.subtitle}" + tasks: [ + { + icon: "wan_ancient_beasts:charger_egg" + id: "78EBECCA1C40A3BD" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.charger.task}" + to_observe: "wan_ancient_beasts:charger" + type: "observation" + } + { + id: "33ADD26F6AA89CA7" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(wan_ancient_beasts:charger_armors)" + } + } + optional_task: true + title: "Any #wan_ancient_beasts:charger_armors" + type: "item" + } + ] + title: "{quests.space_survival.charger.title}" + x: 9.0d + y: -4.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.snatcher.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 17" + icon: "wan_ancient_beasts:snatcher_egg" + id: "02A7FD58F462320F" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.snatcher.subtitle}" + tasks: [{ + icon: "wan_ancient_beasts:snatcher_egg" + id: "4AC531B94CBA93CE" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.snatchertask}" + to_observe: "wan_ancient_beasts:snatcher" + type: "observation" + }] + title: "{quests.space_survival.snatcher.title}" + x: 9.0d + y: -3.0d + } ] subtitle: ["{quests.mars.subtitle}"] title: "{quests.mars}" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json index c11604b73..ca7950a17 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json @@ -108,7 +108,7 @@ { "type": "patchouli:text", "title": "Snatcher", - "text": "$(thing)Snatchers$() are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them $(item)Raw Fish$() to tame them.$(br2)Once tamed, you can carry them on your back and equip them with a wooden chest. Press $(k:key.wan_ancient_beasts.special_ability)$() to throw them, and they will steal the contents of the chest and bring it to you." + "text": "$(thing)Snatchers$() are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them $(item)Raw Fish$() to tame them.$(br2)Once tamed, you can carry them on your back and equip them with a wooden chest. Press $(k:key.wan_ancient_beasts.special_ability)$() to throw them, and they will steal the contents of a nearby chest and bring it to you." }, { "type": "patchouli:entity", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 3121d421f..b0e3e3b7d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3928,12 +3928,20 @@ "quests.space_survival.bulbkin_pie.desc": "Wraptor Eggs can be extracted for a Sugar substitute, while Sniffer eggs are full of Cream.\n\n&eBulbkin Pie&r is probably the pinnacle of Mars' food, boasting high amounts of four different kinds of nutrition, at the expense of being a bit of a pain to craft.\n\n&eBeer-Battered Dinosaur Nuggets&r combine the huge protein of dinosaur meat with a little grain, and can also be put in your meal bags.\n\n&9Tip:&r It's not really a food, but you can also mix together Bulbkin Chunks and Alphacene Mushroom Blocks to get Glowstone Dust.", "quests.space_survival.soarer.title": "Soarer", "quests.space_survival.soarer.subtitle": "Need a lift?", - "quests.space_survival.soarer.desc": "Airplanes don't work on Mars, and your space suit doesn't have a jetpack, so there's no other way to fly, right?\n\nIf you're able to find an elusive &4Soarer&r, you can tame them with raw fish and equip them with a Saddle to glide through the Martian skies with ease.\n\nThey can't fly forever though, indicated by the wing icons on the top left, and will need to land occasionally. Still, they're a great option for long-distance travel, and won't upset the sandworm either!\n\n&9Note&r: Soarers are unable to survive on particularly hot planets such as &6Venus&r.", + "quests.space_survival.soarer.desc": "Airplanes don't work on Mars, and your space suit doesn't have a jetpack, so there's no other way to fly, right?\n\nIf you're able to find an elusive &4Soarer&r, you can tame them with Raw Fish and equip them with a Saddle to glide through the Martian skies with ease.\n\nThey can't fly forever though, indicated by the wing icons on the top left, and will need to land occasionally. (You can feed them more Raw Fish to speed up their recovery.)\n\nStill, they're a great option for long-distance travel, and won't upset the sandworm either!\n\n&9Note&r: Soarers are unable to survive on particularly hot planets such as &6Venus&r.", "quests.space_survival.soarer.task": "Find a Soarer", "quests.space_survival.surfer.title": "Surfer", "quests.space_survival.surfer.subtitle": "Need a swim?", "quests.space_survival.surfer.desc": "&bSurfers&r can be found in the small bodies of water. You can tame them by sneaking up to them while they're lying on the shore, and feeding them raw fish. Once tamed, you can equip them with a saddle to swim quickly underwater too.\n\nThis doesn't sound particularly useful on Mars, but remember that you can transport entities around through AE2's Spatial Storage Disks, and there will be a certain oceanic icy moon in the future...\n\n&9Note&r: Surfers are unable to survive on particularly hot planets such as &6Venus&r.", "quests.space_survival.surfer.task": "Find a Surfer", + "quests.space_survival.charger.title": "Charger", + "quests.space_survival.charger.subtitle": "Chaaaaaaaaarge!", + "quests.space_survival.charger.desc": "&bChargers&r are large green herbivores that can be found roaming around. You can tame them with any Martian crop, but don't feed them &cBeetroot&r...\n\nOnce tamed, you can equip them with a saddle and Armor for some extra defence, hold down Spacebar to charge forward in a straight line (dealing extra damage and knockback), or press the &eSpecial Ability&r keybind (default &9C&r) for a headbutt attack.\n\nFeeding them more Martian crops will restore their health.\n\n&9Note&r: Surfers are unable to survive on particularly hot planets such as &6Venus&r.", + "quests.space_survival.charger.task": "Find a Charger", + "quests.space_survival.snatcher.title": "Snatcher", + "quests.space_survival.snatcher.subtitle": "Yoink!", + "quests.space_survival.snatcher.desc": "&bSnatchers&r are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them Raw Fish to tame them.\n\nOnce tamed, you can carry them on your back and equip them with a wooden chest for a little extra inventory space. Press the &eSpecial Ability&r keybind (default &9C&r) to throw them, and they will steal the contents of a nearby chest and bring it to you.\n\nFeeding them more Raw Fish will restore their health.\n\n&9Note&r: Surfers are unable to survive on particularly hot planets such as &6Venus&r.", + "quests.space_survival.snatcher.task": "Find a Snatcher", "quests.space_survival.sniffer_or_wraptor.title": "Sniffers and Wraptors", "quests.space_survival.sniffer_or_wraptor.subtitle": "Cow and Chicken", "quests.space_survival.sniffer_or_wraptor.desc": "&2Sniffers&r and &dWraptors&r can be found all over Mars and can be domesticated for meat, eggs, and most importantly, their mineral-rich tufts and feathers.\n\nThey eat any Martian crops, and you can automatically breed and feed them with the Feeding Troughs just like on Earth.", @@ -3945,10 +3953,10 @@ "quests.space_survival.mars_nest.task": "Either Nest", "quests.space_survival.mineral_rich_wool.title": "Mineral-Rich Wool", "quests.space_survival.mineral_rich_wool.subtitle": "Built up from years of dust storms", - "quests.space_survival.mineral_rich_wool.desc": "Once your Sniffers or Wraptors are familiar enough, you can shear them for mineral-rich tufts of fur or feathers.\n\nThese can be melted down in an EBF for an infinite and cheap source of Alkaline Earth Silicate, and are also a required component of &6Bio-AES Reinforced R-Polyurethane Foam.", + "quests.space_survival.mineral_rich_wool.desc": "Once your Sniffers or Wraptors are familiar enough, you can shear them for mineral-rich tufts of fur or feathers. (This can be automated with a Deployer holding Shears.)\n\nThese can be melted down in an EBF for an infinite and cheap source of Alkaline Earth Silicate, and are also a required component of &6Bio-AES Reinforced R-Polyurethane Foam.", "quests.space_survival.aes_insulation.title": "Multi-Layer Insulated Shielding", "quests.space_survival.aes_insulation.subtitle": "Not an ice cream sandwich", - "quests.space_survival.aes_insulation.desc": "This may not be used for much at the moment, but it will be a critical component of your &1IV&r rocket in the future.", + "quests.space_survival.aes_insulation.desc": "This is used for a few components in &1IV&r.", "quests.space_survival.mars_shields.title": "Advanced Shields", "quests.space_survival.mars_shields.subtitle": "Isn't it about time you upgraded your old metal shield?", "quests.space_survival.mars_shields.desc": "The &3Reinforced Shield&r deals damage back to attackers, like the Thorns enchant in normal Minecraft. Its crafting materials can be found from Crunchers and Eaters.\n\nThe &5Corrupted Shield&r randomly teleports attackers, which can be good for keeping them away from you... but it can also teleport them behind you. You can get the teeth from the Cave Endermen under the surface.\n\nThe &4Ricoshield&r absorbs an amount of damage before releasing a shockwave, hurting anything else nearby. You can find the Kinetic Core as a rare drop from the hostile golems in the Martian caves.", diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 1bb65e9c6..e6fd13546 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -91,4 +91,19 @@ function registerTFGCoilRecipes(event) { .outputFluids('tfg:nichromium_iodomethylate 244') .duration(20 * 8) .EUt(GTValues.VA[GTValues.HV]) + + // #endregion + + // #region HSS-G + + event.remove({ id : 'gtceu:assembler/coil_hssg' }) + event.recipes.gtceu.assembler('tfg:coil_hssg') + .itemInputs('8x #forge:double_wires/hssg', '8x #forge:foils/tungsten_carbide', '2x #forge:insulation_t3/sheet') + .inputFluids('gtceu:tungsten 144') + .itemOutputs('gtceu:hssg_coil_block') + .duration(20 * 30) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + + // #endregion } \ No newline at end of file From ecba52b775e96b9d7b6d4417c6b7206c087e4216 Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:44:59 +0100 Subject: [PATCH 117/157] cotta fix (#2940) dupe fix + valid recipe --- kubejs/server_scripts/macaws_for_tfc/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/macaws_for_tfc/recipes.js b/kubejs/server_scripts/macaws_for_tfc/recipes.js index 352f5cca6..2880c456a 100644 --- a/kubejs/server_scripts/macaws_for_tfc/recipes.js +++ b/kubejs/server_scripts/macaws_for_tfc/recipes.js @@ -23,4 +23,11 @@ function registerMacawsForTFCRecipes(event) { C: `tfc:wood/log/${wood}` }).id(`tfg:shaped/${wood}_wired_fence`) }) + + event.remove({input: ['mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab','#tfc:saws']}) + + event.shapeless('minecraft:gray_terracotta', [ + 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab', + 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab' + ]).id('minecraft:gray_terracotta') } From 675c159dfec815d25463f751c6306cf31b9bac94 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 23:29:40 +0000 Subject: [PATCH 118/157] fix #2942 --- kubejs/startup_scripts/gtceu/material_modification.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index c371989c7..a1e687dea 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -266,6 +266,10 @@ const registerGTCEuMaterialModification = (event) => { // Change Beryllium to add Chemical Bath recipe and Thorium byproduct GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); + + // Remove old stone dusts + GTMaterials.GraniticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_felsic'), GTMaterials.Magnetite, GTMaterials.Magnetite); + GTMaterials.BasalticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_mafic'), GTMaterials.Magnetite, GTMaterials.Magnetite); // Other flags GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); From 08065dc12a72cb89595a50821ca346d800cf4e16 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 23:30:01 +0000 Subject: [PATCH 119/157] fix raw oil vacuumizer recipe --- kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js index ae4171c2f..93505a347 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js @@ -69,7 +69,7 @@ function registerTFGPowerGenBalance(event) { // Raw Oil to Naphtha - event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:naphtha', 500), [Fluid.of('gtceu:oil_raw', 1000)]) + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:naphtha', 500), [Fluid.of('gtceu:oil_medium', 1000)]) .secondaryFluidOutput(0) .processingTime(500) .heated() From 6e147dbece76c10cd6fe742d22a83bcaec3104da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 23:30:07 +0000 Subject: [PATCH 120/157] modlist --- config/crash_assistant/modlist.json | 181 +++++++++++++++------------- 1 file changed, 94 insertions(+), 87 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 4ac65046b..35fa42550 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -123,12 +123,12 @@ "curseForgeHash": 409215932, "modrinthHash": "f0b711df59cd589b088e536ca4134c5e6e73fd58" }, - "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar": { - "jarName": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar": { + "jarName": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", "modId": "ambientsounds", - "version": "6.3.3", - "curseForgeHash": 1083459992, - "modrinthHash": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" + "version": "6.3.4", + "curseForgeHash": 2803957593, + "modrinthHash": "e84e7053c4c3a73c7f608c9da516bb5d393aab60" }, "applied_ammo_box-1.0.2.jar": { "jarName": "applied_ammo_box-1.0.2.jar", @@ -165,12 +165,12 @@ "curseForgeHash": 381211649, "modrinthHash": "6eb69343eb21d38f95d1b1d00e6bc777bdb336fa" }, - "baguettelib-1.20.1-Forge-1.1.5.jar": { - "jarName": "baguettelib-1.20.1-Forge-1.1.5.jar", + "baguettelib-1.20.1-Forge-1.1.6.jar": { + "jarName": "baguettelib-1.20.1-Forge-1.1.6.jar", "modId": "baguettelib", - "version": "1.1.5", - "curseForgeHash": 734602455, - "modrinthHash": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f" + "version": "1.1.6", + "curseForgeHash": 2947245849, + "modrinthHash": "8d3c9551bbed4c2f2e8cb2b9a10d31bad4edb52d" }, "balm-forge-1.20.1-7.3.38-all.jar": { "jarName": "balm-forge-1.20.1-7.3.38-all.jar", @@ -396,12 +396,12 @@ "curseForgeHash": 2156032012, "modrinthHash": "b13d912b9247a38d66d11598c121442585a1c1e9" }, - "create_connected-1.1.10-mc1.20.1-all.jar": { - "jarName": "create_connected-1.1.10-mc1.20.1-all.jar", + "create_connected-1.1.12-mc1.20.1-all.jar": { + "jarName": "create_connected-1.1.12-mc1.20.1-all.jar", "modId": "create_connected", - "version": "1.1.10-mc1.20.1", - "curseForgeHash": 198954090, - "modrinthHash": "eea1d04aee638689a99acf66457327b13a4b3f96" + "version": "1.1.12-mc1.20.1", + "curseForgeHash": 658641737, + "modrinthHash": "6a27b27ad502429650fa621009daacc876bd3e28" }, "create_factory_logistics-1.20.1-1.4.7.jar": { "jarName": "create_factory_logistics-1.20.1-1.4.7.jar", @@ -452,13 +452,6 @@ "curseForgeHash": 3915242941, "modrinthHash": "338704cdf6623ad96983e72e81e8a9d97e8b28d8" }, - "createstockbridge-1.20-0.1.5.jar": { - "jarName": "createstockbridge-1.20-0.1.5.jar", - "modId": "createstockbridge", - "version": "0.1.5", - "curseForgeHash": 3147522607, - "modrinthHash": "0fa15f11788e3bc3a812fc597ade17af33888952" - }, "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar": { "jarName": "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar", "modId": "creativecore", @@ -515,12 +508,12 @@ "curseForgeHash": 4053708632, "modrinthHash": "08b58bfbdf20660bdc5a0c4a0b088f7d89f40a38" }, - "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar": { - "jarName": "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", + "domum_ornamentum-1.20.1-1.0.295-universal.jar": { + "jarName": "domum_ornamentum-1.20.1-1.0.295-universal.jar", "modId": "domum_ornamentum", - "version": "1.20.1-1.0.295-snapshot", - "curseForgeHash": 2324950079, - "modrinthHash": "f5fc47a7006445e4f999611d1cc95bda55c70b1f" + "version": "1.20.1-1.0.295", + "curseForgeHash": 2550579719, + "modrinthHash": "29950245b98ec35184d806e3b9ace700e67ac585" }, "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar": { "jarName": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", @@ -627,12 +620,12 @@ "curseForgeHash": 3575355395, "modrinthHash": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" }, - "FastSuite-1.20.1-5.1.1.jar": { - "jarName": "FastSuite-1.20.1-5.1.1.jar", + "FastSuite-1.20.1-5.1.2.jar": { + "jarName": "FastSuite-1.20.1-5.1.2.jar", "modId": "fastsuite", - "version": "5.1.1", - "curseForgeHash": 4161769711, - "modrinthHash": "dfceb81524a9e1be19bf89d0281c05b6edf5326c" + "version": "5.1.2", + "curseForgeHash": 2881858684, + "modrinthHash": "32ea4495b0e646f8f060e4e97d17044dd9fdefbd" }, "FastWorkbench-1.20.1-8.0.4.jar": { "jarName": "FastWorkbench-1.20.1-8.0.4.jar", @@ -767,12 +760,12 @@ "curseForgeHash": 1765843012, "modrinthHash": "7e890f8b527ccb4523fed54a2864549a53f65fed" }, - "geckolib-forge-1.20.1-4.8.2.jar": { - "jarName": "geckolib-forge-1.20.1-4.8.2.jar", + "geckolib-forge-1.20.1-4.8.3.jar": { + "jarName": "geckolib-forge-1.20.1-4.8.3.jar", "modId": "geckolib", - "version": "4.8.2", - "curseForgeHash": 1555934041, - "modrinthHash": "395a9f21a36dc8466d67c2af67a904e7013460d1" + "version": "4.8.3", + "curseForgeHash": 4092514766, + "modrinthHash": "5428765c6c2e2135da6ee01f2f0478fa0db6aee7" }, "Glodium-1.20-1.5-forge.jar": { "jarName": "Glodium-1.20-1.5-forge.jar", @@ -795,12 +788,12 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.62.jar": { - "jarName": "greate-0.0.62.jar", + "greate-0.0.64.jar": { + "jarName": "greate-0.0.64.jar", "modId": "greate", - "version": "0.0.62", - "curseForgeHash": 4030779299, - "modrinthHash": "0e4ffe5e88f97df724172b3061a1691028f45582" + "version": "0.0.64", + "curseForgeHash": 2026447132, + "modrinthHash": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf" }, "gtceu-1.20.1-7.4.1.jar": { "jarName": "gtceu-1.20.1-7.4.1.jar", @@ -809,12 +802,19 @@ "curseForgeHash": 2174922911, "modrinthHash": "50ae5df1cc5213aa429a976b6393e0bd4e22238e" }, - "gtmoldraw-3.0.0.jar": { - "jarName": "gtmoldraw-3.0.0.jar", + "gtceuterminal-2.4.5.jar": { + "jarName": "gtceuterminal-2.4.5.jar", + "modId": "gtceuterminal", + "version": "1.0.2", + "curseForgeHash": 3654021553, + "modrinthHash": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896" + }, + "gtmoldraw-3.0.1.jar": { + "jarName": "gtmoldraw-3.0.1.jar", "modId": "moldraw", - "version": "3.0.0", - "curseForgeHash": 586035337, - "modrinthHash": "9377694e2e3d8c62bdacd400e125acc732c54803" + "version": "3.0.1", + "curseForgeHash": 3258582267, + "modrinthHash": "caaf28b88afe1b01ec4180a4458c2795184255bc" }, "guideme-20.1.14.jar": { "jarName": "guideme-20.1.14.jar", @@ -844,12 +844,12 @@ "curseForgeHash": 726705548, "modrinthHash": "bc2d8febd3ddb7f5a0da5c840544ad49eb6e8625" }, - "ImmediatelyFast-Forge-1.5.3+1.20.4.jar": { - "jarName": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "ImmediatelyFast-Forge-1.5.4+1.20.4.jar": { + "jarName": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", "modId": "immediatelyfast", - "version": "1.5.3+1.20.4", - "curseForgeHash": 2056126318, - "modrinthHash": "d4695d013e9da7089e2906db3f56bc5398e478e2" + "version": "1.5.4+1.20.4", + "curseForgeHash": 4234781540, + "modrinthHash": "e2e60485a0c3efa72f1948c952b095150e3ba4fc" }, "immersive_aircraft-1.4.0+1.20.1-forge.jar": { "jarName": "immersive_aircraft-1.4.0+1.20.1-forge.jar", @@ -968,12 +968,12 @@ "curseForgeHash": 2035895651, "modrinthHash": "e6346060ae70cbf103b231d8a1536bcd044c84a8" }, - "lootjs-forge-1.20.1-2.13.0.jar": { - "jarName": "lootjs-forge-1.20.1-2.13.0.jar", + "lootjs-forge-1.20.1-2.13.1.jar": { + "jarName": "lootjs-forge-1.20.1-2.13.1.jar", "modId": "lootjs", - "version": "1.20.1-2.13.0", - "curseForgeHash": 4083554858, - "modrinthHash": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e" + "version": "1.20.1-2.13.1", + "curseForgeHash": 1389353380, + "modrinthHash": "804deb0bd34d69cad873170642b9d7e47fa0d6ad" }, "lootr-forge-1.20-0.7.35.94.jar": { "jarName": "lootr-forge-1.20-0.7.35.94.jar", @@ -1024,12 +1024,12 @@ "curseForgeHash": 544928077, "modrinthHash": "24e6611df470afd957eafd16c43890b7214e3da9" }, - "modernfix-forge-5.26.1+mc1.20.1.jar": { - "jarName": "modernfix-forge-5.26.1+mc1.20.1.jar", + "modernfix-forge-5.26.2+mc1.20.1.jar": { + "jarName": "modernfix-forge-5.26.2+mc1.20.1.jar", "modId": "modernfix", - "version": "5.26.1+mc1.20.1", - "curseForgeHash": 424935770, - "modrinthHash": "fa0163b33e911b69af61fee8a3920820e7c617a0" + "version": "5.26.2+mc1.20.1", + "curseForgeHash": 2785638273, + "modrinthHash": "0adfc122e9f632d8847688c4c3ed20a1af182afa" }, "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar": { "jarName": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", @@ -1038,12 +1038,12 @@ "curseForgeHash": 2393054142, "modrinthHash": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" }, - "moonlight-1.20-2.16.23-forge.jar": { - "jarName": "moonlight-1.20-2.16.23-forge.jar", + "moonlight-1.20-2.16.27-forge.jar": { + "jarName": "moonlight-1.20-2.16.27-forge.jar", "modId": "moonlight", - "version": "1.20-2.16.23", - "curseForgeHash": 3524849719, - "modrinthHash": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87" + "version": "1.20-2.16.27", + "curseForgeHash": 827170608, + "modrinthHash": "0a1b384ec20d63e94c56123b53e264dc2afe5b17" }, "morered-1.20.1-4.0.0.4.jar": { "jarName": "morered-1.20.1-4.0.0.4.jar", @@ -1129,12 +1129,12 @@ "curseForgeHash": 3233971835, "modrinthHash": "cc0332d3bbf7824b673abc59e231f1f5aafc6420" }, - "particle_core-0.3.1+1.20.1+forge.jar": { - "jarName": "particle_core-0.3.1+1.20.1+forge.jar", + "particle_core-0.3.2+1.20.1+forge.jar": { + "jarName": "particle_core-0.3.2+1.20.1+forge.jar", "modId": "particle_core", - "version": "0.3.1+1.20.1+forge", - "curseForgeHash": 4077743380, - "modrinthHash": "935a8c19cc7a72364fdfe494d9ddbd599f01588d" + "version": "0.3.2+1.20.1+forge", + "curseForgeHash": 1864908717, + "modrinthHash": "57079d1607ce044533fb076d2db0e2a3d277a4fb" }, "particular-1.20.1-Forge-1.2.7.jar": { "jarName": "particular-1.20.1-Forge-1.2.7.jar", @@ -1164,6 +1164,13 @@ "curseForgeHash": 3174429337, "modrinthHash": "e85f53de2e582a79ce25ff1df1e7b5b5fc08440f" }, + "playerrevive_compat-1.0.1-1d0e244.jar": { + "jarName": "playerrevive_compat-1.0.1-1d0e244.jar", + "modId": "playerrevive_compat", + "version": "1.0.1", + "curseForgeHash": 3694497333, + "modrinthHash": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563" + }, "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar": { "jarName": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", "modId": "playerrevive", @@ -1374,12 +1381,12 @@ "curseForgeHash": 218830698, "modrinthHash": "7d4f578a42c9b880744ea6058a495847aac9e4c3" }, - "tacz-tweaks-2.12.1-all.jar": { - "jarName": "tacz-tweaks-2.12.1-all.jar", + "tacz-tweaks-2.12.2-all.jar": { + "jarName": "tacz-tweaks-2.12.2-all.jar", "modId": "tacztweaks", - "version": "2.12.1", - "curseForgeHash": 769672337, - "modrinthHash": "92c9981e2e2f2edecab25ee48c5bade7a14298a8" + "version": "2.12.2", + "curseForgeHash": 493830591, + "modrinthHash": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80" }, "taczammoquery-1.20.1-1.0.0.jar": { "jarName": "taczammoquery-1.20.1-1.0.0.jar", @@ -1409,12 +1416,12 @@ "curseForgeHash": 3264017794, "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, - "tfc_gurman-1.3.0.jar": { - "jarName": "tfc_gurman-1.3.0.jar", + "tfc_gurman-1.4.1.jar": { + "jarName": "tfc_gurman-1.4.1.jar", "modId": "tfc_gurman", - "version": "1.3.0", - "curseForgeHash": 1214501371, - "modrinthHash": "c55512789128af89d57fe0c9a2f3b4d59a491724" + "version": "1.4.1", + "curseForgeHash": 3220058819, + "modrinthHash": "0be72570ba157b7600c3b9f4ea694744a227112a" }, "TFC_punishment_for_death-1.20.1-1.0.0.15.jar": { "jarName": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", @@ -1626,12 +1633,12 @@ "curseForgeHash": 1687292018, "modrinthHash": "d1416bd683464538a7615d1649eecc7027b227e2" }, - "wab-1.20.1-1.3.2.jar": { - "jarName": "wab-1.20.1-1.3.2.jar", + "wab-1.20.1-1.4.1.jar": { + "jarName": "wab-1.20.1-1.4.1.jar", "modId": "wan_ancient_beasts", - "version": "1.3.2", - "curseForgeHash": 2333549546, - "modrinthHash": "7298a59e383d2327e2acc49d8f1b132cedb8860b" + "version": "1.4.1", + "curseForgeHash": 194648790, + "modrinthHash": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6" }, "wakes-1.20.1-Forge-1.0.9.jar": { "jarName": "wakes-1.20.1-Forge-1.0.9.jar", From 92e1c653a6b207720a4ddf5f779f9a22403bc7b8 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sun, 1 Feb 2026 15:40:16 -0800 Subject: [PATCH 121/157] Added a couple recipes to egh (#2944) * added a couple recipes to EGH Signed-off-by: thederpysockdude123 * some tag stuff to get it working lol Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- .../server_scripts/tfg/aquaponics/recipes.greenhouse.js | 8 ++++++-- kubejs/server_scripts/tfg/beneath/tags.beneath.js | 9 ++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 2c88edd43..fa8c59eb5 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -465,7 +465,7 @@ const registerTFGGreenhouseRecipes = (event) => { //#region Recipes // Mushrooms - Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { + Ingredient.of('#tfg:plants/beneath').stacks.forEach(element => { generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); }); @@ -501,6 +501,10 @@ const registerTFGGreenhouseRecipes = (event) => { }); generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1); + + generateGreenHouseRecipe(event, null, '8x tfc:food/fresh_seaweed', ['24x tfc:food/fresh_seaweed', '8x tfc:food/fresh_seaweed'], 1); + + generateGreenHouseRecipe(event, 'minecraft:the_nether', '4x minecraft:glow_berries', ['20x minecraft:glow_berries', '4x minecraft:glow_berries'], 1); // Mars Wood generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ @@ -547,4 +551,4 @@ const registerTFGGreenhouseRecipes = (event) => { }); //#endregion -}; \ No newline at end of file +}; diff --git a/kubejs/server_scripts/tfg/beneath/tags.beneath.js b/kubejs/server_scripts/tfg/beneath/tags.beneath.js index c61249bb5..768569bea 100644 --- a/kubejs/server_scripts/tfg/beneath/tags.beneath.js +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -15,6 +15,10 @@ function registerTFGBeneathItemTags(event) { event.add('tfc:plants', 'minecraft:spore_blossom') event.remove('createaddition:plants', 'minecraft:moss_carpet') + event.add('tfg:plants/beneath', 'beneath:gleamflower') + event.add('tfg:plants/beneath', 'beneath:burpflower') + event.add('tfg:plants/beneath', '#beneath:mushrooms') + event.add('tfc:compost_greens', 'minecraft:red_mushroom_block') event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') event.add('tfc:compost_greens', 'minecraft:mushroom_stem') @@ -27,6 +31,9 @@ function registerTFGBeneathItemTags(event) { function registerTFGBeneathBlockTags(event) { event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') + + event.remove('tfc:plants', 'beneath:gleamflower') + event.remove('tfc:plants', 'beneath:burpflower') event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') @@ -136,4 +143,4 @@ function registerTFGBeneathPlacedFeatures(event) { event.add('tfg:nether_underground_decoration', 'minecraft:spring_open') event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed') event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') -} \ No newline at end of file +} From e7eaef730f0f5dfcc047dcae5690aad24ec1d13b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 00:07:51 +0000 Subject: [PATCH 122/157] clean out some more missing recipe removals --- .../server_scripts/greate/recipes.removes.js | 1 + .../gregtech/recipes.removes.js | 33 +++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 2330e20fe..e0e049213 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -85,6 +85,7 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:mixing/brass_ingot' }) event.remove({ id: /^greate:.*\/integration\/createaddition/ }) + event.remove({ id: /^greate:.*\/integration\/vintageimprovements/ }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule' }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_water' }) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index be346ced9..0180d1430 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -30,10 +30,18 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_sandstone_slab') removeMaceratorRecipe(event, 'macerate_red_sandstone_stairs') removeMaceratorRecipe(event, 'macerate_red_sandstone_slab') - removeMaceratorRecipe(event, 'macerate_granite') - removeMaceratorRecipe(event, 'macerate_diorite') removeMaceratorRecipe(event, 'macerate_cobblestone_slab') - removeMaceratorRecipe(event, 'macerate_andesite') + + removeMaceratorRecipe(event, 'macerate_granite') + removeMaceratorRecipe(event, 'macerate_polished_granite'); + removeMaceratorRecipe(event, 'macerate_granite_wall'); + removeMaceratorRecipe(event, 'macerate_diorite'); + removeMaceratorRecipe(event, 'macerate_polished_diorite'); + removeMaceratorRecipe(event, 'macerate_diorite_wall'); + removeMaceratorRecipe(event, 'macerate_andesite'); + removeMaceratorRecipe(event, 'macerate_polished_andesite'); + removeMaceratorRecipe(event, 'macerate_andesite_wall'); + event.remove({ id: 'gtceu:shaped/stone_hammer' }) event.remove({ id: 'gtceu:mixer/mossy_cobblestone_from_moss_block' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_cobblestone_from_moss_block' }) @@ -115,6 +123,16 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_deepslate') event.remove({ id: 'gtceu:rock_breaker/deepslate' }) + removeMaceratorRecipe(event, 'macerate_deepslate_wall'); + removeMaceratorRecipe(event, 'macerate_polished_deepslate'); + removeMaceratorRecipe(event, 'macerate_cobbled_deepslate'); + removeMaceratorRecipe(event, 'macerate_cobbled_deepslate_wall'); + removeMaceratorRecipe(event, 'macerate_chiseled_deepslate'); + removeMaceratorRecipe(event, 'macerate_polished_deepslate_wall'); + removeMaceratorRecipe(event, 'macerate_deepslate_bricks'); + removeMaceratorRecipe(event, 'macerate_deepslate_brick_wall'); + removeMaceratorRecipe(event, 'macerate_deepslate_tiles'); + removeMaceratorRecipe(event, 'macerate_deepslate_tile_wall'); // #endregion @@ -159,6 +177,13 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_polished_blackstone_brick_into_slab_distilled_water') event.remove({ id: 'gtceu:rock_breaker/blackstone' }) + removeMaceratorRecipe(event, 'macerate_blackstone'); + removeMaceratorRecipe(event, 'macerate_polished_blackstone'); + removeMaceratorRecipe(event, 'macerate_polished_blackstone_bricks'); + removeMaceratorRecipe(event, 'macerate_chiseled_polished_blackstone'); + removeMaceratorRecipe(event, 'macerate_blackstone_wall'); + removeMaceratorRecipe(event, 'macerate_polished_blackstone_wall'); + removeMaceratorRecipe(event, 'macerate_blackstone_brick_wall'); // #endregion @@ -473,6 +498,7 @@ function removeGTCEURecipes(event) { //#region Выход: Пыль базальта removeMaceratorRecipe(event, 'macerate_basalt') + removeMaceratorRecipe(event, 'macerate_polished_basalt'); //#endregion @@ -853,6 +879,7 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_end_stone_bricks'); removeMaceratorRecipe(event, 'macerate_end_stone_brick_wall'); + // Remove Default Pressure Plate Recipes const MC_PRESSURE_PLATES = [ 'bamboo', From 63b3ad76bbbe519416cd2bd67d21b5476c08306b Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sun, 1 Feb 2026 16:18:04 -0800 Subject: [PATCH 123/157] Added roe to the mealbags whitelist (#2945) * Added roe to the mealbags whitelist Signed-off-by: thederpysockdude123 * much more epic solution :D Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/tfg/food/tags.food.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 40323f389..384575c05 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -239,6 +239,7 @@ function registerTFGFoodItemTags(event) { */ const usable_in_meal_bag = [ '#tfc:foods/meats', + '#minecraft:fishes', '#tfc:foods/grains', '#tfc:foods/vegetables', '#tfc:foods/fruits', @@ -358,4 +359,4 @@ function registerTFGFoodBlockTags(event) { event.add('ad_astra:destroyed_in_space', '#tfc:wild_fruits') event.add('ad_astra:destroyed_in_space', '#minecraft:saplings') -} \ No newline at end of file +} From 952370e6da66941e70a02161136a0d78ea9d8fb0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 00:46:48 +0000 Subject: [PATCH 124/157] actually removes a bunch of recycling recipes for disabled items --- kubejs/server_scripts/greate/recipes.js | 2 +- kubejs/server_scripts/greate/recipes.removes.js | 1 + kubejs/server_scripts/gregtech/recipes.removes.js | 1 + kubejs/server_scripts/minecraft/recipes.removes.js | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 6bfd0a31e..bac53d5ba 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -674,7 +674,7 @@ function registerGreateRecipes(event) { removeMaceratorRecipe(event, 'macerate_stone_belt_connector') event.remove({ id: 'greate:shaped/stone_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', [GTMaterials.Air, 1]); + TFGHelpers.clearMaterialInfo('greate:stone_belt_connector'); // Rubber event.shaped('greate:rubber_belt_connector', [ diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index e0e049213..fbac8a351 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -9,6 +9,7 @@ function removeGreateRecipes(event) { global.GREATE_DISABLED_ITEMS.forEach(item => { event.remove({ input: item }) event.remove({ output: item }) + TFGHelpers.clearMaterialInfo(item); }) global.GREATE_DISABLED_FLUIDS.forEach(fluid => { diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 0180d1430..b09204936 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -12,6 +12,7 @@ function removeGTCEURecipes(event) { global.GTCEU_DISABLED_ITEMS.forEach(item => { event.remove({ input: item }) event.remove({ output: item }) + TFGHelpers.clearMaterialInfo(item); }) //#region Выход: Крошечная кучка камня diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index 883168c8e..afeaa86e6 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -6,6 +6,7 @@ function removeMinecraftRecipes(event) { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.remove({ input: item }) event.remove({ output: item }) + TFGHelpers.clearMaterialInfo(item); }) //#region Выход: Камень From f92ce6e6dfbfdac3a8743175ea3db39133d6d31e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 12:02:16 +0000 Subject: [PATCH 125/157] lowered the % of tiny dusts from ores --- kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js index fa1c1c6f4..826fef649 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -25,7 +25,7 @@ const registerTFGOreLoots = (event) => { let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - let dustOre = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) + let tinyDustOre = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) let rawOreBlock = ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem().id; event.addBlockLootModifier(rawOreBlock) @@ -35,7 +35,7 @@ const registerTFGOreLoots = (event) => { normalRawOre.withChance(0.6), poorRawOre.withChance(0.2) ]) - .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.2))); + .addLoot(LootEntry.of(tinyDustOre).when(c => c.randomChance(0.1))); // Stone ores global.ORE_BEARING_STONES.forEach(stoneType => { @@ -54,7 +54,7 @@ const registerTFGOreLoots = (event) => { poorRawOre.withChance(0.2) ]) .addLoot(LootEntry.of(stoneTypeDust).when(c => c.randomChance(0.2))) - .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.05))); + .addLoot(LootEntry.of(tinyDustOre).when(c => c.randomChance(0.02))); // break with hammer event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) From 961786b8eee8df97a4c20b3fab48812805573096 Mon Sep 17 00:00:00 2001 From: Redeix Date: Mon, 2 Feb 2026 06:21:48 -0600 Subject: [PATCH 126/157] egh update (#2950) * egh update * changelog and config * add spore blossom, remove beneath leaves (those are for mars) Signed-off-by: Pyritie * Update tags.beneath.js Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- CHANGELOG.md | 11 + config/via_romana.json | 62 ++++++ kubejs/server_scripts/afc/recipes.js | 59 +++--- kubejs/server_scripts/beneath/recipes.js | 14 ++ kubejs/server_scripts/firmalife/recipes.js | 2 + kubejs/server_scripts/firmalife/tags.js | 5 + .../server_scripts/macaws_for_tfc/recipes.js | 10 +- kubejs/server_scripts/tfc/recipes.js | 28 +++ kubejs/server_scripts/tfc/tags.js | 15 ++ .../tfg/aquaponics/recipes.greenhouse.js | 192 +++++++++++------- .../tfg/aquaponics/recipes.pisciculture.js | 6 +- .../tfg/beneath/tags.beneath.js | 20 +- kubejs/startup_scripts/firmalife/constants.js | 4 +- kubejs/startup_scripts/tfc/constants.js | 18 +- 14 files changed, 323 insertions(+), 123 deletions(-) create mode 100644 config/via_romana.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 03e468ca9..53f929102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,12 @@ (tom's changelist goes here) #### IV changes - Multi-Layer Insulated Shielding is now required for HSS-G coils. +#### Electric Greenhouse changes +- You can now use glass casings and trapdoors for the EGH floor. @Redeix +- Aquaponic multiblocks now only need half an amp to run. (#2950) @Redeix +- Base recipe duration has been reduced to 600/450/300 seconds. (#2950) @Redeix +- More circuit options for recipes that priorities seeds/saplings and recipes that prioritize leaves have been added. (#2950) @Redeix +- More plants have been added for production. @Redeix & @thederpysockdude123 ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie @@ -49,6 +55,11 @@ - Added a furnace recipe for dead grass to thatch (#2935) @Coox1e - Added support for Bluemap (#2922) @trisjob - Added mixer and barrel recipes for dye fluids (#2925, #2938) @OLOXpl +- Added recipes to convert leaves into leaf piles. (#2950) @Redeix +- Added a recipe to convert fruit leaf blocks into firmalife fruit leaf items. (#2950) @Redeix +- Added a recipe to turn leaf blocks into hedges. (#2950) @Redeix +- Added recipes to make krummholz. (#2950) @Redeix +- Added config file for Via Romana support. (#2950) @Redeix ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/config/via_romana.json b/config/via_romana.json new file mode 100644 index 000000000..faa359fe6 --- /dev/null +++ b/config/via_romana.json @@ -0,0 +1,62 @@ +{ + "infrastructure_check_radius": 1, + "path_quality_threshold": 0.6, + "node_distance_minimum": 10, + "node_distance_maximum": 20, + "path_block_ids": [ + ], + "path_block_tags": [ + "tfc:paths", + "forge:gravel", + "rnr:gravel_road_blocks", + "rnr:gravel_road_slabs", + "rnr:gravel_road_stairs", + "forge:cobblestone", + "minecraft:stairs", + "minecraft:slabs", + "rnr:cobbled_road_blocks", + "rnr:cobbled_road_stairs", + "rnr:cobbled_road_slabs", + "minecraft:mineable/pickaxe", + "minecraft:mineable/axe" + ], + "path_block_strings": [ + ], + "block_string_blacklist": [ + ], + "invalid_dimensions": [], + "no_gui_charting": false, + "invalid_entities": [], + "warp_block_ids": [ + "via_romana:warp_block" + ], + "warp_block_tags": [ + "minecraft:all_signs" + ], + "travel_fatigue_cooldown": 6, + "fast_movement_speed": 0.0, + "direct_warp": false, + "fog_of_war_distance": 10, + "spline_animation_time": 2.0, + "maximum_map_dimension": 512, + "map_refresh_interval": 10, + "map_refresh_threshold": 10, + "map_save_interval": 5, + "biome_color_pairs": [], + "use_biome_fallback_for_lowres": false, + "enable_remote_map_access": true, + "enable_surveyor_landmark": false, + "enable_surveyor_landmark_coloring": false, + "invalid_block_overlay_opacity": 0.4, + "biome_map_opacity": 0.3, + "node_vignette_opacity": 1.0, + "line_colors": [ + "#ffffff", + "#cccccc" + ], + "line_opacity": 1.0, + "enable_teleport_particles": true, + "enable_sign_particles": true, + "enable_custom_cursor": true, + "logging_enum": "NONE" +} \ No newline at end of file diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 1fcc394c8..9f385e5c7 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -89,7 +89,37 @@ const registerAFCRecipes = (event) => { }).id(`afc:crafting/wood/${wood}_stomping_barrel`) - }) + event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`) + .itemInputs(`afc:wood/log/${wood}`) + .itemOutputs(`afc:wood/stripped_log/${wood}`) + .duration(50) + .EUt(2) + + event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`) + .itemInputs(`afc:wood/wood/${wood}`) + .itemOutputs(`afc:wood/stripped_wood/${wood}`) + .duration(50) + .EUt(2) + + event.recipes.vintageimprovements.polishing(`afc:wood/stripped_log/${wood}`, `afc:wood/log/${wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${wood}_log`) + + event.recipes.vintageimprovements.polishing(`afc:wood/stripped_wood/${wood}`, `afc:wood/wood/${wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${wood}_wood`) + }); + + global.AFC_SAPLINGS.forEach(wood => { + event.shaped(`4x afc:wood/fallen_leaves/${wood.sapling}`,[ + 'AA', + 'AA' + ], { + A: `afc:wood/leaves/${wood.sapling}` + }).id(`tfg:shaped/afc/${wood.sapling}_leaves_to_fallen_leaves`); + }); // #endregion @@ -237,33 +267,6 @@ const registerAFCRecipes = (event) => { .outputItem('afc:birch_sugar') .id('tfg:barrel/birch_syrup_to_sugar') - - // Stripped logs - - global.AFC_WOOD_TYPES.forEach(wood => { - event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`) - .itemInputs(`afc:wood/log/${wood}`) - .itemOutputs(`afc:wood/stripped_log/${wood}`) - .duration(50) - .EUt(2) - - event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`) - .itemInputs(`afc:wood/wood/${wood}`) - .itemOutputs(`afc:wood/stripped_wood/${wood}`) - .duration(50) - .EUt(2) - - event.recipes.vintageimprovements.polishing(`afc:wood/stripped_log/${wood}`, `afc:wood/log/${wood}`) - .speedLimits(0) - .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/stripping_${wood}_log`) - - event.recipes.vintageimprovements.polishing(`afc:wood/stripped_wood/${wood}`, `afc:wood/wood/${wood}`) - .speedLimits(0) - .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/stripping_${wood}_wood`) - }) - const MORE_STRIPPING = [ { wood: 'black_oak', stripped: 'oak', stripped_mod: 'tfc' }, { wood: 'rainbow_eucalyptus', stripped: 'eucalyptus', stripped_mod: 'afc' }, diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index b7036a19b..e5182c117 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -85,4 +85,18 @@ const registerBeneathRecipes = (event) => { C: 'beneath:wood/planks/warped', D: 'beneath:wood/log/warped' }).id('tfg:shaped/warped_sewing_table') + + event.shaped(`4x beneath:wood/fallen_leaves/crimson`,[ + 'AA', + 'AA' + ], { + A: `beneath:wood/leaves/crimson` + }).id(`tfg:shaped/beneath/crimson_leaves_to_fallen_leaves`); + + event.shaped(`4x beneath:wood/fallen_leaves/warped`,[ + 'AA', + 'AA' + ], { + A: `beneath:wood/leaves/warped` + }).id(`tfg:shaped/beneath/warped_leaves_to_fallen_leaves`); } \ No newline at end of file diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 49e4e1ec5..e1e4ba600 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -200,6 +200,8 @@ const registerFirmaLifeRecipes = (event) => { .category(GTRecipeCategories.INGOT_MOLDING) event.replaceInput({ id: 'firmalife:crafting/bottle_label' }, 'firmalife:beeswax', '#forge:wax') + + event.shapeless('firmalife:fruit_leaf', ['#tfc:fruit_tree_leaves']).id('tfg:shapeless/firmalife/fruit_leaf_from_fruit_leaves'); //#endregion diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 307bc6230..2264a45d2 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -22,6 +22,11 @@ const registerFirmaLifeItemTags = (event) => { .map(fruit => fruit.id) .filter(fruit => fruit !== 'betterend:shadow_berry_cooked' && fruit !== 'minecraft:popped_chorus_fruit') .forEach(fruit => event.add('tfg:dried_fruit', fruit)) + + event.add('tfc:fruit_tree_leaves', 'firmalife:plant/cocoa_leaves') + event.add('tfc:fruit_tree_leaves', 'firmalife:plant/fig_leaves') + event.add('minecraft:leaves', 'firmalife:plant/cocoa_leaves') + event.add('minecraft:leaves', 'firmalife:plant/fig_leaves') } const registerFirmaLifeBlockTags = (event) => { diff --git a/kubejs/server_scripts/macaws_for_tfc/recipes.js b/kubejs/server_scripts/macaws_for_tfc/recipes.js index 2880c456a..a412f913e 100644 --- a/kubejs/server_scripts/macaws_for_tfc/recipes.js +++ b/kubejs/server_scripts/macaws_for_tfc/recipes.js @@ -30,4 +30,12 @@ function registerMacawsForTFCRecipes(event) { 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab', 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab' ]).id('minecraft:gray_terracotta') -} + + event.shaped(`4x mcw_tfc_aio:fences/other_fences/hedge`, [ + 'BAB', + 'BAB' + ], { + A: '#forge:rods/wooden', + B: '#minecraft:leaves' + }).id(`tfg:shaped/mcw_tfc/hedge_fence_from_leaves`); +}; diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 577940b86..6eb87bda4 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -256,4 +256,32 @@ const registerTFCRecipes = (event) => { event.shapeless('4x tfc:kaolin_clay', ['tfc:white_kaolin_clay']) event.shapeless('4x tfc:kaolin_clay', ['tfc:pink_kaolin_clay']) event.shapeless('4x tfc:kaolin_clay', ['tfc:red_kaolin_clay']) + + global.TFC_WOOD_TYPES.forEach(element => { + event.shaped(`4x tfc:wood/fallen_leaves/${element}`,[ + 'AA', + 'AA' + ], { + A: `tfc:wood/leaves/${element}` + }).id(`tfg:shaped/tfc/${element}_leaves_to_fallen_leaves`); + }); + + /** + * @property {string[]} krummholz_types - List of krummholz wood types. + */ + const krummholz_types = [ + 'aspen', + 'douglas_fir', + 'pine', + 'spruce', + 'white_cedar' + ]; + krummholz_types.forEach(type => { + event.shaped(`1x tfc:plant/${type}_krummholz`,[ + 'A', + 'A' + ], { + A: `tfc:wood/sapling/${type}` + }).id(`tfg:shaped/tfc/${type}_krummholz`); + }); } diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 3637b57ff..b5d7879aa 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -137,6 +137,21 @@ function registerTFCItemTags(event) { //Plants event.add("tfc:plants", "#tfc:wild_fruits"); + /** + * @property {string[]} krummholz_types - List of krummholz wood types. + */ + const krummholz_types = [ + 'aspen', + 'douglas_fir', + 'pine', + 'spruce', + 'white_cedar' + ]; + krummholz_types.forEach(type => { + event.add('tfc:plants', `tfc:plant/${type}_krummholz`); + event.add('tfc:krummholz', `tfc:plant/${type}_krummholz`); + }); + // Для складывания event.add("tfc:pileable_ingots", "#forge:ingots"); event.add("tfc:pileable_sheets", "#forge:plates"); diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index fa8c59eb5..23a86cb19 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -5,11 +5,11 @@ //#region Balancing Values /** Base duration of recipes in ticks. */ -const greenhouse_base_duration = 16 * 60 * 20; +const greenhouse_base_duration = 10 * 60 * 20; /** Duration multiplier for fertilized recipes. */ -const greenhouse_duration_multiplier_fertilized = 0.5; +const greenhouse_duration_multiplier_fertilized = 0.75; /** Duration multiplier for aquaponic recipes. */ -const greenhouse_duration_multiplier_aquaponics = 0.4; +const greenhouse_duration_multiplier_aquaponics = 0.5; /** Hydroponic facility chance multiplier. */ const hydroponics_facility_chance_multiplier = 1.25; @@ -35,10 +35,10 @@ const greenhouse_chanced_output_aquaponics = 80; /** @param {...DimensionIndex[]} - Dimension settings array */ const greenhouse_dimension_index = [ // Overworld settings are also used as the default when no dimension is specified. - {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'ad_astra:moon', fluid: 'gtceu:helium_3', fluid_tier2: null, fluid_chance: 2, fertilizer: null, eut: GTValues.VA[GTValues.MV], oxygenated: null}, - {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_tier2: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.HV], oxygenated: null} + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, + {id: 'ad_astra:moon', fluid: 'gtceu:helium_3', fluid_tier2: null, fluid_chance: 2, fertilizer: null, eut: GTValues.VHA[GTValues.MV], oxygenated: null}, + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_tier2: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VHA[GTValues.HV], oxygenated: null} ]; //#endregion @@ -54,8 +54,9 @@ const greenhouse_dimension_index = [ * @param {Internal.ItemStack} input -Input Item (seeds, saplings, etc.) * @param {Internal.ItemStack|Internal.ItemStack[]} output -Output Items. If array, first item is guaranteed while rest use chanced output. Last item in array is used for the rest of the chance outputs. * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + * @param {number|null} circuit - Circuit number. 1-32. Or null. */ -function generateGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { +function generateGreenHouseRecipe(event, dimension, input, output, chance_multiplier, circuit) { // Resolve dimension based modifier defaults by comparing to the `greenhouse_dimension_index` array. @@ -83,25 +84,37 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip /** @type {boolean|null} - Whether the recipe requires an oxygenated environment. Defaults to true. */ const requiresOxygen = dimMods ? dimMods.oxygenated : true; + /** @type {string} - Circuit number for the recipe id. Defaults to an empty string if not provided. */ + const idCircuit = (circuit === null || circuit === undefined) ? "" : `/${circuit}`; + ///////////////////////////////////////////////////////////////////////////////////////////////////// /** Collect errors. */ const errors = []; - if (input === undefined || Array.isArray(input)) { - errors.push("input is undefined or is an array"); + if (input === undefined || input === null || Array.isArray(input) || (typeof input === 'string' && input.trim() === '')) { + errors.push(`input is invalid: ${JSON.stringify(input)}`); }; + if (output !== undefined && !Array.isArray(output)) { output = [output]; - } - if (output === undefined || output.length === 0 || output.length > 4) { - errors.push("output is undefined or has invalid length"); + }; + + if (output === undefined || output === null || output.length === 0 || output.length > 4) { + errors.push(`output is invalid: ${JSON.stringify(output)}`); + } else { + output.forEach((o, idx) => { + if (o === undefined || o === null) { + errors.push(`output[${idx}] is null or undefined`); + }; + }); }; // If there are any errors, log them all and throw once. if (errors.length > 0) { - throw new TypeError(`Greenhouse recipe errors for recipe ID ${`tfg:greenhouse/${linuxUnfucker(input)}`}\n - ${errors.join("\n - ")}`); + console.error(`Greenhouse recipe error details:\n input: ${JSON.stringify(input)}\n output: ${JSON.stringify(output)}\n dimension: ${JSON.stringify(dimension)}\n circuit: ${JSON.stringify(circuit)}\n chance_multiplier: ${JSON.stringify(chance_multiplier)}`); + throw new TypeError(`Greenhouse recipe errors for recipe ID ${`tfg:greenhouse/${linuxUnfucker(input)}${idCircuit}`}\n - ${errors.join("\n - ")}`); }; //////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -163,9 +176,8 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip //======================== Greenhouse Recipes ======================== // Base recipe. - let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -183,11 +195,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip a.chancedOutput(outputs_array[2], base_chance, 0) a.chancedOutput(outputs_array[3], base_chance, 0) }; + if (circuit !== null) { + a.circuit(circuit) + }; // Fertilized Recipe. - let b = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_fertilized`) + let b = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_fertilized${idCircuit}`) .notConsumable(input) - .circuit(2) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -206,11 +220,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip b.chancedOutput(outputs_array[3], fertilizer_chance, 0) b.itemInputs(Item.of(resolvedFertilizer, 8)) }; + if (circuit !== null) { + b.circuit(circuit + 1) + }; // Aquaponics Recipe. - let c = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_aquaponic`) + let c = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_aquaponic${idCircuit}`) .notConsumable(input) - .circuit(3) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) @@ -228,14 +244,16 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip c.chancedOutput(outputs_array[2], aquaponic_chance, 0) c.chancedOutput(outputs_array[3], aquaponic_chance, 0) }; + if (circuit !== null) { + c.circuit(circuit + 2) + }; c.itemOutputs('tfg:flora_pellets'); //======================== Hydroponic Facility Recipes ======================== // Base recipe. - let d = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + let d = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -250,11 +268,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip d.chancedOutput(outputs_array[2], hydroponics_base_chance, 0) d.chancedOutput(outputs_array[3], hydroponics_base_chance, 0) }; + if (circuit !== null) { + d.circuit(circuit) + }; // Fertilized Recipe. - let e = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_fertilized`) + let e = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_fertilized${idCircuit}`) .notConsumable(input) - .circuit(2) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -270,11 +290,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip e.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) e.itemInputs(Item.of(resolvedFertilizer, 8)) }; + if (circuit !== null) { + e.circuit(circuit + 1) + }; // Aquaponics Recipe. - let f = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_aquaponic`) + let f = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_aquaponic${idCircuit}`) .notConsumable(input) - .circuit(3) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) @@ -289,6 +311,9 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip f.chancedOutput(outputs_array[2], hydroponics_aquaponic_chance, 0) f.chancedOutput(outputs_array[3], hydroponics_aquaponic_chance, 0) }; + if (circuit !== null) { + f.circuit(circuit + 2) + }; f.itemOutputs('tfg:flora_pellets'); } else { @@ -296,9 +321,8 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip //======================== Greenhouse Recipes ======================== - let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -316,12 +340,14 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip a.chancedOutput(outputs_array[2], fertilizer_chance, 0) a.chancedOutput(outputs_array[3], fertilizer_chance, 0) }; + if (circuit !== null) { + a.circuit(circuit) + }; //======================== Hydroponics Facility Recipes ======================== - let b = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + let b = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -336,6 +362,9 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip b.chancedOutput(outputs_array[2], hydroponics_fertilizer_chance, 0) b.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) }; + if (circuit !== null) { + b.circuit(circuit) + }; }; }; @@ -351,10 +380,15 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip * @param {Internal.Dimension|null} dimension -Dimension ID * @param {Internal.Ingredient} input -Input Item. (seed, bush, etc.) * @param {Internal.ItemStack} output -Output Item. (vegetable, fruit, etc.) + * @param {Internal.ItemStack|null} leaves - Leaf block. Generates extra recipes with leaf outputs if provided. * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. */ -function generateCropGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { - generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 1), Item.of(output, 4)], chance_multiplier); +function generateCropGreenHouseRecipe(event, dimension, input, output, leaves, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 1), Item.of(output, 4)], chance_multiplier, 1); + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 8), Item.of(input, 4)], chance_multiplier, 5); + if (leaves !== null && leaves !== undefined) { + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(leaves, 16), Item.of(leaves, 8)], chance_multiplier, 10); + }; }; /** @@ -369,10 +403,15 @@ function generateCropGreenHouseRecipe(event, dimension, input, output, chance_mu * @param {Internal.Dimension|null} dimension -Dimension ID * @param {Internal.Ingredient} input -Input Item. (sapling) * @param {Internal.ItemStack} output -Output Item. (wood) + * @param {Internal.ItemStack|null} leaves - Leaf block. Generates extra recipes with leaf outputs if provided. * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. */ -function generateTreeGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { - generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 4), Item.of(output, 16)], chance_multiplier); +function generateTreeGreenHouseRecipe(event, dimension, input, output, leaves, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 4), Item.of(output, 16)], chance_multiplier, 1); + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 16), Item.of(input, 8)], chance_multiplier, 5); + if (leaves !== null && leaves !== undefined) { + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(leaves, 32), Item.of(leaves, 16)], chance_multiplier, 10); + }; }; //#endregion @@ -466,88 +505,89 @@ const registerTFGGreenhouseRecipes = (event) => { // Mushrooms Ingredient.of('#tfg:plants/beneath').stacks.forEach(element => { - generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); }); - generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:red_mushroom', ['24x minecraft:red_mushroom', '8x minecraft:red_mushroom'], 1); - generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:brown_mushroom', ['24x minecraft:brown_mushroom', '8x minecraft:brown_mushroom'], 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:red_mushroom', ['24x minecraft:red_mushroom', '8x minecraft:red_mushroom'], 1, 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:brown_mushroom', ['24x minecraft:brown_mushroom', '8x minecraft:brown_mushroom'], 1, 1); // Crops global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, element.leaves, 1); }); global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, element.leaves, 1); }); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, null, 1); }); global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, null, 1); }); // Wood global.TFC_WOOD_TYPES.forEach(element => { - generateTreeGreenHouseRecipe(event, null, `tfc:wood/sapling/${element}`, `tfc:wood/log/${element}`, 1); + generateTreeGreenHouseRecipe(event, null, `tfc:wood/sapling/${element}`, `tfc:wood/log/${element}`, `tfc:wood/leaves/${element}`, 1); }); global.AFC_SAPLINGS.forEach(element => { - generateTreeGreenHouseRecipe(event, null, `afc:wood/sapling/${element.sapling}`, element.log, 1); + generateTreeGreenHouseRecipe(event, null, `afc:wood/sapling/${element.sapling}`, element.log, `afc:wood/leaves/${element.sapling}`, 1); }); // Plants Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => { - generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); + }); + Ingredient.of('#forge:corals').stacks.forEach(element => { + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); + }); + Ingredient.of('#forge:coral_blocks').stacks.forEach(element => { + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(12), element.withCount(4)], 1, 1); }); - generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1); - - generateGreenHouseRecipe(event, null, '8x tfc:food/fresh_seaweed', ['24x tfc:food/fresh_seaweed', '8x tfc:food/fresh_seaweed'], 1); + generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1, 1); - generateGreenHouseRecipe(event, 'minecraft:the_nether', '4x minecraft:glow_berries', ['20x minecraft:glow_berries', '4x minecraft:glow_berries'], 1); + generateGreenHouseRecipe(event, null, '8x tfc:tree_roots', ['64x tfc:tree_roots', '8x tfc:tree_roots'], 1, 1); + + generateGreenHouseRecipe(event, null, '8x tfc:food/fresh_seaweed', ['24x tfc:food/fresh_seaweed', '8x tfc:food/fresh_seaweed'], 1, 1); + + generateGreenHouseRecipe(event, 'minecraft:the_nether', '4x minecraft:glow_berries', ['20x minecraft:glow_berries', '4x minecraft:glow_berries'], 1, 1); // Mars Wood - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ - '64x ad_astra:strophar_stem', '4x tfg:saplings/strophar', '32x ad_astra:strophar_stem', '16x ad_astra:strophar_cap' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/aeronos', [ - '64x ad_astra:aeronos_stem', '4x tfg:saplings/aeronos', '32x ad_astra:aeronos_stem', '16x ad_astra:aeronos_cap' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/glacian', [ - '64x ad_astra:glacian_log', '4x tfg:saplings/glacian', '32x ad_astra:glacian_log', '16x species:alphacene_moss_block' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/alphacene', [ - '64x species:alphacene_mushroom_block', '4x tfg:saplings/alphacene', '16x minecraft:mushroom_stem', '16x minecraft:mushroom_stem' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/warped', [ - '64x beneath:wood/log/warped', '4x tfg:saplings/warped', '32x beneath:wood/log/warped', '16x minecraft:warped_wart_block' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/crimson', [ - '64x beneath:wood/log/crimson', '4x tfg:saplings/crimson', '32x beneath:wood/log/crimson', '16x minecraft:nether_wart_block' - ], 1); + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/strophar`, `ad_astra:strophar_stem`, `ad_astra:strophar_cap`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/aeronos`, `ad_astra:aeronos_stem`, `ad_astra:aeronos_cap`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/glacian`, `ad_astra:glacian_log`, `species:alphacene_moss_block`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/alphacene`, `species:alphacene_mushroom_block`, `minecraft:mushroom_stem`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/warped`, `beneath:wood/log/warped`, `minecraft:warped_wart_block`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/crimson`, `beneath:wood/log/crimson`, `minecraft:nether_wart_block`, 1); // Mars Plants Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { - generateGreenHouseRecipe(event, 'ad_astra:mars', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); }); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:amber_root_seeds', 'betterend:amber_root_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:blossom_berry_seeds', 'betterend:blossom_berry_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:bolux_mushroom_seeds', 'betterend:bolux_mushroom_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:cave_pumpkin_plant_seeds', 'betterend:cave_pumpkin', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:amber_root_seeds', 'betterend:amber_root_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:blossom_berry_seeds', 'betterend:blossom_berry_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:bolux_mushroom_seeds', 'betterend:bolux_mushroom_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:cave_pumpkin_plant_seeds', 'betterend:cave_pumpkin', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', null, 1); // Moon Plants generateGreenHouseRecipe(event, 'ad_astra:moon', '8x tfg:lunar_chorus_flower', [ '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '8x tfg:lunar_chorus_flower', '8x tfg:lunar_chorus_flower' - ], 1); + ], 1, 1); generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' - ], 1); + ], 1, 1); Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { - generateGreenHouseRecipe(event, 'ad_astra:moon', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, 'ad_astra:moon', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); }); //#endregion diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index 71b258c93..667fb3953 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -25,10 +25,10 @@ const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenh /** @type {DimensionIndex[]} - Dimension settings array */ const pisciculture_dimension_index = [ // Overworld settings are also used as the default when no dimension is specified. - {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, // The moon has no fish yet :( - {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VHA[GTValues.HV], oxygenated: null} ]; //#endregion diff --git a/kubejs/server_scripts/tfg/beneath/tags.beneath.js b/kubejs/server_scripts/tfg/beneath/tags.beneath.js index 768569bea..b5d3b554e 100644 --- a/kubejs/server_scripts/tfg/beneath/tags.beneath.js +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -12,12 +12,24 @@ function registerTFGBeneathItemTags(event) { event.add("minecraft:piglin_loved", "tfc:ore/rich_native_gold"); event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') - event.add('tfc:plants', 'minecraft:spore_blossom') event.remove('createaddition:plants', 'minecraft:moss_carpet') - event.add('tfg:plants/beneath', 'beneath:gleamflower') - event.add('tfg:plants/beneath', 'beneath:burpflower') - event.add('tfg:plants/beneath', '#beneath:mushrooms') + /** + * @property {string[]} beneath_plants - List of Beneath plants to be added to the `tfg:plants/beneath` tag. + */ + const beneath_plants = [ + 'beneath:gleamflower', + 'beneath:burpflower', + 'minecraft:big_dripleaf', + 'minecraft:small_dripleaf', + 'minecraft:glow_lichen', + 'minecraft:hanging_roots', + 'minecraft:spore_blossom', + '#beneath:mushrooms' + ]; + beneath_plants.forEach(plant => + event.add('tfg:plants/beneath', plant) + ); event.add('tfc:compost_greens', 'minecraft:red_mushroom_block') event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index f6ae1a013..6708cf1c2 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -107,8 +107,8 @@ global.FIRMALIFE_JAMS = [ ] global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ - { input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans'}, - { input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig'}, + { input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans', leaves: 'firmalife:plant/cocoa_leaves' }, + { input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig', leaves: 'firmalife:plant/fig_leaves' }, { input: 'firmalife:plant/pineapple_bush', output: 'firmalife:food/pineapple'}, { input: 'firmalife:plant/nightshade_bush', output: 'firmalife:food/nightshade_berry'}, { input: 'firmalife:seeds/red_grape', output: 'firmalife:food/red_grapes'}, diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index a6513b569..eb6d8dfa0 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -788,15 +788,15 @@ global.TFC_JAMS = /** @type {const} */ ([ ]); global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry"}, - { input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple"}, - { input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon"}, - { input: "tfc:plant/olive_sapling", output: "tfc:food/olive"}, - { input: "tfc:plant/orange_sapling", output: "tfc:food/orange"}, - { input: "tfc:plant/peach_sapling", output: "tfc:food/peach"}, - { input: "tfc:plant/plum_sapling", output: "tfc:food/plum"}, - { input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple"}, - { input: "tfc:plant/banana_sapling", output: "tfc:food/banana"} + { input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry", leaves: "tfc:plant/cherry_leaves" }, + { input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple", leaves: "tfc:plant/green_apple_leaves" }, + { input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon", leaves: "tfc:plant/lemon_leaves" }, + { input: "tfc:plant/olive_sapling", output: "tfc:food/olive", leaves: "tfc:plant/olive_leaves" }, + { input: "tfc:plant/orange_sapling", output: "tfc:food/orange", leaves: "tfc:plant/orange_leaves" }, + { input: "tfc:plant/peach_sapling", output: "tfc:food/peach", leaves: "tfc:plant/peach_leaves" }, + { input: "tfc:plant/plum_sapling", output: "tfc:food/plum", leaves: "tfc:plant/plum_leaves" }, + { input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple", leaves: "tfc:plant/red_apple_leaves" }, + { input: "tfc:plant/banana_sapling", output: "tfc:food/banana" } ]); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ From bfc385ea8a9e860938f66640597a296392c04da4 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Mon, 2 Feb 2026 13:22:24 +0100 Subject: [PATCH 127/157] Fix method overload (#2946) There was never actually any overload? --- kubejs/server_scripts/tfg/events.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 4c19dd387..e50979af0 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -1,14 +1,15 @@ "use strict"; -// TODO TFGServerEvents.dimensionalPowerConsumption(event => { - event["add(java.lang.String,double)"]("minecraft:overworld", 10000); - event["add(java.lang.String,double)"]("minecraft:the_nether", 20000); - event["add(java.lang.String,double)"]("ad_astra:earth_orbit", 20000); - event["add(java.lang.String,double)"]("ad_astra:moon", 50000); - event["add(java.lang.String,double)"]("ad_astra:moon_orbit", 50000); - event["add(java.lang.String,double)"]("ad_astra:mars", 100000); - event["add(java.lang.String,double)"]("ad_astra:mars_orbit", 100000); + event.add("minecraft:overworld", 10000); + event.add("minecraft:the_nether", 20000); + event.add("ad_astra:earth_orbit", 20000); + event.add("ad_astra:moon", 50000); + event.add("ad_astra:moon_orbit", 50000); + event.add("ad_astra:mars", 100000); + event.add("ad_astra:mars_orbit", 100000); + event.add("ad_astra:venus", 200000); + event.add("ad_astra:venus_orbit", 200000); }); // Vase Sounds From 47dce4a4890f00f56aae819b2cd6eb502943394c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 12:23:59 +0000 Subject: [PATCH 128/157] make void upgrade cheaper --- kubejs/server_scripts/sophisticated_backpacks/recipes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index 0873a71f5..abf461805 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -251,8 +251,8 @@ const registerSophisticatedBackpacksRecipes = (event) => { 'CDE', 'FGF' ], { - A: '#forge:screws/steel', - B: 'gtceu:item_detector_cover', + A: '#forge:screws/wrought_iron', + B: '#forge:small_gears/red_alloy', C: '#forge:tools/screwdrivers', D: 'sophisticatedbackpacks:upgrade_base', E: '#forge:tools/wrenches', @@ -262,7 +262,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { event.shapeless('sophisticatedbackpacks:advanced_void_upgrade', [ 'sophisticatedbackpacks:void_upgrade', - '#gtceu:circuits/mv' + '#gtceu:circuits/ulv' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_void_upgrade') event.shaped('sophisticatedbackpacks:deposit_upgrade', [ From 3fb458b0a232be28d0600d7ff71a1eeecd90b2ef Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 12:24:25 +0000 Subject: [PATCH 129/157] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f929102..ab5a5667f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ - Added a recipe to turn leaf blocks into hedges. (#2950) @Redeix - Added recipes to make krummholz. (#2950) @Redeix - Added config file for Via Romana support. (#2950) @Redeix +- Backpack void upgrades are now cheaper @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From fb87520e22c480522376bd97c9dc92f9f13f29a7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 13:11:12 +0000 Subject: [PATCH 130/157] fix concrete dupe #2948, fix other stone recycling recipes --- CHANGELOG.md | 1 + .../gregtech/recipes.removes.js | 51 ++++++++----------- .../tfg/natural_blocks/recipes.concrete.js | 18 ------- .../tfg/natural_blocks/recipes.rocks.js | 2 +- .../tfg/natural_blocks/tags.stones.js | 2 +- .../tfg/primitive/recipes.supports.js | 34 ++++++++++--- 6 files changed, 50 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5a5667f..4c9dc8df3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,6 +76,7 @@ - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie - Fixed piglin brutes not dropping meat or bones @Pyritie - Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie +- Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index b09204936..c218a3c6e 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -33,16 +33,6 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_red_sandstone_slab') removeMaceratorRecipe(event, 'macerate_cobblestone_slab') - removeMaceratorRecipe(event, 'macerate_granite') - removeMaceratorRecipe(event, 'macerate_polished_granite'); - removeMaceratorRecipe(event, 'macerate_granite_wall'); - removeMaceratorRecipe(event, 'macerate_diorite'); - removeMaceratorRecipe(event, 'macerate_polished_diorite'); - removeMaceratorRecipe(event, 'macerate_diorite_wall'); - removeMaceratorRecipe(event, 'macerate_andesite'); - removeMaceratorRecipe(event, 'macerate_polished_andesite'); - removeMaceratorRecipe(event, 'macerate_andesite_wall'); - event.remove({ id: 'gtceu:shaped/stone_hammer' }) event.remove({ id: 'gtceu:mixer/mossy_cobblestone_from_moss_block' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_cobblestone_from_moss_block' }) @@ -122,18 +112,18 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_deepslate_tile_into_slab_water') removeCutterRecipe(event, 'cut_deepslate_tile_into_slab_distilled_water') - removeMaceratorRecipe(event, 'macerate_deepslate') event.remove({ id: 'gtceu:rock_breaker/deepslate' }) - removeMaceratorRecipe(event, 'macerate_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_polished_deepslate'); - removeMaceratorRecipe(event, 'macerate_cobbled_deepslate'); - removeMaceratorRecipe(event, 'macerate_cobbled_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_chiseled_deepslate'); - removeMaceratorRecipe(event, 'macerate_polished_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_deepslate_bricks'); - removeMaceratorRecipe(event, 'macerate_deepslate_brick_wall'); - removeMaceratorRecipe(event, 'macerate_deepslate_tiles'); - removeMaceratorRecipe(event, 'macerate_deepslate_tile_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate') + TFGHelpers.clearMaterialInfo('minecraft:deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:polished_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:cobbled_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:cobbled_deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:chiseled_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:polished_deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_bricks'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_tiles'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_tile_wall'); // #endregion @@ -178,13 +168,14 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_polished_blackstone_brick_into_slab_distilled_water') event.remove({ id: 'gtceu:rock_breaker/blackstone' }) - removeMaceratorRecipe(event, 'macerate_blackstone'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone_bricks'); - removeMaceratorRecipe(event, 'macerate_chiseled_polished_blackstone'); - removeMaceratorRecipe(event, 'macerate_blackstone_wall'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone_wall'); - removeMaceratorRecipe(event, 'macerate_blackstone_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_bricks'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:chiseled_polished_blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone_wall'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_wall'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone_brick_wall'); // #endregion @@ -498,8 +489,8 @@ function removeGTCEURecipes(event) { //#region Выход: Пыль базальта - removeMaceratorRecipe(event, 'macerate_basalt') - removeMaceratorRecipe(event, 'macerate_polished_basalt'); + TFGHelpers.clearMaterialInfo('minecraft:basalt') + TFGHelpers.clearMaterialInfo('minecraft:polished_basalt'); //#endregion diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js index fe60118ed..1fe0048ff 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js @@ -87,29 +87,11 @@ function registerTFGConcreteRecipes(event) { .outputItem('gtceu:light_concrete') .id('tfg:barrel/light_concrete') - event.recipes.tfc.barrel_sealed(1000) - .inputFluid(Fluid.of('gtceu:concrete', 96)) - .inputItem('tfg:rebar_support') - .outputItem('tfg:reinforced_light_concrete_support') - .id('tfg:barrel/reinforced_light_concrete_support') - event.recipes.tfc.barrel_sealed(500) .inputItem('gtceu:light_concrete') .inputFluid(Fluid.of('tfc:black_dye', 18)) .outputItem('gtceu:dark_concrete') .id('tfg:barrel/dark_concrete') - - event.recipes.tfc.barrel_sealed(500) - .inputItem('tfg:light_concrete_support') - .inputFluid(Fluid.of('tfc:black_dye', 10)) - .outputItem('tfg:dark_concrete_support') - .id('tfg:barrel/dark_concrete_support') - - event.recipes.tfc.barrel_sealed(500) - .inputItem('tfg:reinforced_light_concrete_support') - .inputFluid(Fluid.of('tfc:black_dye', 10)) - .outputItem('tfg:reinforced_dark_concrete_support') - .id('tfg:barrel/reinforced_dark_concrete_support') // Titanium concrete event.recipes.gtceu.assembler('tfg:titanium_concrete') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 262c47dd9..e81bcb904 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -562,7 +562,7 @@ function registerTFGRockRecipes(event) { let half = Ingredient.of(`#tfg:stone_composition/${compositionId}_half`).itemIds.toArray(); if (half.length > 0) { event.recipes.gtceu.macerator(`tfg:macerate_${compositionId}_half`) - .itemInputs(half) + .itemInputs(`#tfg:stone_composition/${compositionId}_half`) .itemOutputs(ChemicalHelper.getDust(material, GTValues.M / 2)) .duration(150) .EUt(2) diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index e94ffb1f9..fdc774c8b 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -10,7 +10,7 @@ function registerTFGStoneItemTags(event) { function addToMaterialTag(material, block) { if (material != null) { - if (block.endsWith('_slab') || block.endsWith('_wall')) { + if (block.endsWith('_slab') || block.endsWith('_wall') || block.endsWith('_support')) { event.add(`tfg:stone_composition/${material}_half`, block); } else { diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index e86cba890..08d9b09fe 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -8,14 +8,14 @@ function registerTFGSupportRecipes(event) { // Concrete Supports event.recipes.gtceu.fluid_solidifier('tfg:gtceu/fluid_solidifier/reinforced_light_concrete_support') - .inputFluids(Fluid.of('gtceu:concrete', 96)) + .inputFluids(Fluid.of('gtceu:concrete', 144 / 2)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') - .inputFluids(Fluid.of('gtceu:concrete', 96)) + .inputFluids(Fluid.of('gtceu:concrete', 144 / 2)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(120) @@ -23,7 +23,7 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`) .itemInputs('tfg:reinforced_light_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') + .itemOutputs('2x gtceu:small_concrete_dust', 'gtceu:tiny_steel_dust') .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); @@ -44,13 +44,13 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator(`reinforced_dark_concrete_support_to_dust`) .itemInputs('tfg:reinforced_dark_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') + .itemOutputs('2x gtceu:small_concrete_dust', 'gtceu:tiny_steel_dust') .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:light_concrete_support', [ + event.shaped('6x tfg:light_concrete_support', [ 'AB ', 'AC ', 'AC ' @@ -63,13 +63,13 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:light_concrete_support') + .itemOutputs('6x tfg:light_concrete_support') .itemInputs('3x gtceu:light_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:dark_concrete_support', [ + event.shaped('6x tfg:dark_concrete_support', [ 'AB ', 'AC ', 'AC ' @@ -82,11 +82,29 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:dark_concrete_support') + .itemOutputs('6x tfg:dark_concrete_support') .itemInputs('3x gtceu:dark_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.tfc.barrel_sealed(1000) + .inputFluid(Fluid.of('gtceu:concrete', 96)) + .inputItem('tfg:rebar_support') + .outputItem('tfg:reinforced_light_concrete_support') + .id('tfg:barrel/reinforced_light_concrete_support') + + event.recipes.tfc.barrel_sealed(500) + .inputItem('tfg:light_concrete_support') + .inputFluid(Fluid.of('tfc:black_dye', 10)) + .outputItem('tfg:dark_concrete_support') + .id('tfg:barrel/dark_concrete_support') + + event.recipes.tfc.barrel_sealed(500) + .inputItem('tfg:reinforced_light_concrete_support') + .inputFluid(Fluid.of('tfc:black_dye', 10)) + .outputItem('tfg:reinforced_dark_concrete_support') + .id('tfg:barrel/reinforced_dark_concrete_support') + // Stone supports are in recipes.rocks.js // Metal Supports From b9e14a46e03dbabdcc00a58c049f8d09c29cd6c2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 13:50:27 +0000 Subject: [PATCH 131/157] tags for damage types #2868 Related Work Items: #28 --- CHANGELOG.md | 1 + .../server_scripts/tfg/equipment/tags.equipment.js | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c9dc8df3..a1331bf4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,6 +61,7 @@ - Added recipes to make krummholz. (#2950) @Redeix - Added config file for Via Romana support. (#2950) @Redeix - Backpack void upgrades are now cheaper @Pyritie +- All tools should now have TFC damage types (#2868) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfg/equipment/tags.equipment.js b/kubejs/server_scripts/tfg/equipment/tags.equipment.js index b0d28afdc..c6e4d9ac4 100644 --- a/kubejs/server_scripts/tfg/equipment/tags.equipment.js +++ b/kubejs/server_scripts/tfg/equipment/tags.equipment.js @@ -49,4 +49,18 @@ function registerTFGEquipmentItemTags(event) { event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_leggings') event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_boots') + event.add('tfc:deals_crushing_damage', '#forge:tools/mining_hammers') + event.add('tfc:deals_crushing_damage', '#minecraft:shovels') + event.add('tfc:deals_crushing_damage', '#forge:tools/spades') + event.add('tfc:deals_crushing_damage', '#forge:tools/wrenches') + event.add('tfc:deals_slashing_damage', '#forge:tools/chainsaws') + event.add('tfc:deals_slashing_damage', '#forge:tools/saws') + event.add('tfc:deals_slashing_damage', '#forge:tools/butchery_knives') + event.add('tfc:deals_slashing_damage', '#forge:tools/files') + event.add('tfc:deals_piercing_damage', '#minecraft:pickaxes') + event.add('tfc:deals_piercing_damage', '#forge:tools/drills') + event.add('tfc:deals_piercing_damage', '#forge:tools/screwdrivers') + event.add('tfc:deals_piercing_damage', '#minecraft:hoes') + event.add('tfc:deals_piercing_damage', '#forge:tools/crowbars') + event.add('tfc:deals_piercing_damage', '#forge:tools/wire_cutters') } \ No newline at end of file From fa706f85cbd97300b22932878d0c57e8bcbb54ec Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 2 Feb 2026 09:54:11 -0500 Subject: [PATCH 132/157] Update CHANGELOG (#2953) Signed-off-by: TomPlop --- CHANGELOG.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5a5667f..adba052ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie +#### Energy Update +- Cetane Boosted Diesel duration is buffed by 30% +- Diesel duration is nerfed by 25% but can now be craftable at ULV +- Added distillation recipe to get fuel from oil with the Vacuum Chamber +- Lightfuel isn't a fuel anymore (make Diesel with it) +- High Octane Gasoline now requires IV Energy Hatch +- Add Small Fission Reactor, Small Turbine Generator and the Cooling Tower. You can now make power from Fission on Earth #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -25,7 +32,15 @@ - Polyethylene now requires an MV chemical reactor - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix #### EV changes -(tom's changelist goes here) +- Add Radon to EV Superconductor so they are gated behind the Uranium Reactor +- Active Energy Transformer and Normal Laser Pipe moved to EV behind the Uranium Reactor +- Change to Refrigerant Pellet, you now need the Terrafirmaguard PA6 to run Plutonium Rod +- Adding the Heat Battery a new multiblock storing heat from your fission coolant +- Rework of the Ostrum Linear Accelerator: it can now be expanded in height, requires heat from a Heat Battery to run and used for many new resources +- Every Fission Reactors now output a depleted rod that you have to process to get the product from fission +- The depleted rod now has an average heat depending of the temperature of the fission reactor while it was in it. Everytime the reactor goes in cooldown it adds 10 000 heat to your rod +- RTM Coils were modified to require resources from Mars (from the martian trees) and Rockwool +- Nuclear Turbine will now stop without the structure breaking if there is blocks under it or inside the chimney #### IV changes - Multi-Layer Insulated Shielding is now required for HSS-G coils. #### Electric Greenhouse changes @@ -61,6 +76,7 @@ - Added recipes to make krummholz. (#2950) @Redeix - Added config file for Via Romana support. (#2950) @Redeix - Backpack void upgrades are now cheaper @Pyritie +- Added recipes for GTceu Terminal ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From 19bf4de976686c3d9efdc555ee75edf5683df35b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 14:54:21 +0000 Subject: [PATCH 133/157] gurman update --- config/crash_assistant/modlist.json | 32 +- .../quests/chapters/queststfc_tips.snbt | 2 +- .../en_us/entries/mechanics/drinks.json | 6 +- .../ru_ru/entries/mechanics/drinks.json | 6 +- .../zh_cn/entries/mechanics/drinks.json | 6 +- kubejs/client_scripts/tooltips.js | 20 +- .../data/tfc_gurman/tfc/drinkables/cocoa.json | 2 +- .../tfc_gurman/tfc/drinkables/coffee.json | 2 +- .../tfc_gurman/tfc/drinkables/compote.json | 2 +- .../data/tfc_gurman/tfc/drinkables/kvass.json | 2 +- .../tfc_gurman/tfc/drinkables/lemonade.json | 2 +- .../tfc_gurman/tfc/drinkables/nalivka.json | 2 +- .../tfc/drinkables/tea_chamomile.json | 2 +- .../tfc_gurman/tfc/drinkables/tea_mint.json | 2 +- .../tfc_gurman/tfc/drinkables/tea_nettle.json | 2 +- .../tfc/drinkables/tea_rosehip.json | 2 +- .../server_scripts/gtceu_terminal/recipes.js | 5 +- kubejs/server_scripts/main_server_script.js | 4 +- kubejs/server_scripts/tfc/tags.js | 28 +- kubejs/server_scripts/tfc_gurman/recipes.js | 297 +++++++++--------- kubejs/server_scripts/tfg/food/tags.food.js | 20 +- .../tfg/powergen/nuclear/tags.nuclear.js | 2 +- kubejs/server_scripts/tfg/tags.js | 2 +- .../gtceu/material_modification.js | 1 - kubejs/startup_scripts/tfc/constants.js | 12 +- kubejs/startup_scripts/tfg/items.js | 126 +++++++- pakku-lock.json | 110 +++---- 27 files changed, 407 insertions(+), 292 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 35fa42550..ee1c5609d 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1094,12 +1094,12 @@ "curseForgeHash": 1367373369, "modrinthHash": "c0806369f4257149664904db44efc60bd1785c17" }, - "notenoughanimations-forge-1.11.1-mc1.20.1.jar": { - "jarName": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "notenoughanimations-forge-1.11.2-mc1.20.1.jar": { + "jarName": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", "modId": "notenoughanimations", - "version": "1.11.1", - "curseForgeHash": 1394524316, - "modrinthHash": "9aa8917d7c0a5311dc495da3c720434de49e0e24" + "version": "1.11.2", + "curseForgeHash": 978006094, + "modrinthHash": "fe7898d27c15b76552a69b972abec0728be9ea8a" }, "OctoLib-FORGE-0.5.0.1+1.20.1.jar": { "jarName": "OctoLib-FORGE-0.5.0.1+1.20.1.jar", @@ -1164,12 +1164,12 @@ "curseForgeHash": 3174429337, "modrinthHash": "e85f53de2e582a79ce25ff1df1e7b5b5fc08440f" }, - "playerrevive_compat-1.0.1-1d0e244.jar": { - "jarName": "playerrevive_compat-1.0.1-1d0e244.jar", + "playerrevive_compat-1.0.2-12c699b.jar": { + "jarName": "playerrevive_compat-1.0.2-12c699b.jar", "modId": "playerrevive_compat", - "version": "1.0.1", - "curseForgeHash": 3694497333, - "modrinthHash": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563" + "version": "1.0.2", + "curseForgeHash": 2120677158, + "modrinthHash": "a0f05d85155560b743d6ffab61741e3da3803611" }, "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar": { "jarName": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", @@ -1416,12 +1416,12 @@ "curseForgeHash": 3264017794, "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, - "tfc_gurman-1.4.1.jar": { - "jarName": "tfc_gurman-1.4.1.jar", - "modId": "tfc_gurman", - "version": "1.4.1", - "curseForgeHash": 3220058819, - "modrinthHash": "0be72570ba157b7600c3b9f4ea694744a227112a" + "tfc_gourmet-1.4.2.jar": { + "jarName": "tfc_gourmet-1.4.2.jar", + "modId": "tfc_gourmet", + "version": "1.4.2", + "curseForgeHash": 2832259553, + "modrinthHash": "d4c2f1eb89330129fdc1e4ee78f61f1130d83fe5" }, "TFC_punishment_for_death-1.20.1-1.0.0.15.jar": { "jarName": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index f160ba9cf..257d7156c 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -685,7 +685,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(minecraft:milk_bucket)item(firmalife:bucket/yak_milk)item(firmalife:bucket/goat_milk)item(tfc_gurman:ox_milk_bucket)item(tfc_gurman:sheep_milk_bucket)item(tfc_gurman:alpaca_milk_bucket))" + "ftbfiltersystem:filter": "or(item(minecraft:milk_bucket)item(firmalife:bucket/yak_milk)item(firmalife:bucket/goat_milk)item(tfc_gourmet:ox_milk_bucket)item(tfc_gourmet:sheep_milk_bucket)item(tfc_gourmet:alpaca_milk_bucket))" } } optional_task: true diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json index 38c1e6cb9..f4eefde87 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json @@ -38,7 +38,7 @@ "type": "patchouli:spotlight", "title": "Teas", "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4°C. Perfect for winters!", - "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + "item": "tfc_gourmet:tea_mint_bucket,tfc_gourmet:tea_chamomile_bucket,tfc_gourmet:tea_rosehip_bucket,tfc_gourmet:tea_nettle_bucket" }, { "type": "patchouli:text", @@ -48,7 +48,7 @@ "type": "patchouli:spotlight", "title": "Treats", "text": "This is a category for more misc drinks with delicious taste and special effects. Enjoy!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + "item": "tfc_gourmet:cocoa_bucket,tfc_gourmet:coffee_bucket,tfc_gourmet:nalivka_bucket,tfc_gourmet:kvass_bucket,tfc_gourmet:compote_bucket,tfc_gourmet:lemonade_bucket" }, { "type": "patchouli:text", @@ -58,7 +58,7 @@ "type": "patchouli:spotlight", "title": "Milks", "text": "$(thing)Milk$() can be aquired from most female livestock by simply right clicking them with a wood or metal bucket once familiarity is at a high enough level. (If the milking isn't working, make sure the buckets aren't stacked!)$(br)While it doesn't provide any buffs, it provides dairy nutrition if drank after eating, and can later be made into cheese.", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gourmet:ox_milk_bucket,tfc_gourmet:sheep_milk_bucket,tfc_gourmet:alpaca_milk_bucket" }, { "title": "Spring Water", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json index 2b432fe19..41cf6b2fb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json @@ -38,7 +38,7 @@ "type": "patchouli:spotlight", "title": "Чаи", "text": "$(thing)Чаи$() можно заваривать, используя высушенные версии некоторых растений.$(br2)Они дают кратковременные, но эффективные эффекты и согревают на 4°C. Идеально подходят для зимы!", - "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + "item": "tfc_gourmet:tea_mint_bucket,tfc_gourmet:tea_chamomile_bucket,tfc_gourmet:tea_rosehip_bucket,tfc_gourmet:tea_nettle_bucket" }, { "type": "patchouli:text", @@ -48,7 +48,7 @@ "type": "patchouli:spotlight", "title": "Сладости", "text": "Это категория для других разнообразных напитков с восхитительным вкусом и особыми эффектами. Приятного аппетита!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + "item": "tfc_gourmet:cocoa_bucket,tfc_gourmet:coffee_bucket,tfc_gourmet:nalivka_bucket,tfc_gourmet:kvass_bucket,tfc_gourmet:compote_bucket,tfc_gourmet:lemonade_bucket" }, { "type": "patchouli:text", @@ -58,7 +58,7 @@ "type": "patchouli:spotlight", "title": "Молоко", "text": "$(thing)Молоко$() можно получить от большинства самок молочных животных, просто щелкнув по ним правой кнопкой мыши с деревянным или металлическим ведром, когда уровень прирученности достигнет достаточно высокого уровня. (Если доение не работает, убедитесь, что ведра не состаканы!)$(br)Хотя этот напиток не дает никаких бонусов, он обеспечивает организм молочными продуктами, если его выпить после еды, и из него впоследствии можно приготовить сыр.", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gourmet:ox_milk_bucket,tfc_gourmet:sheep_milk_bucket,tfc_gourmet:alpaca_milk_bucket" }, { "title": "Родниковая вода", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json index 068ad70b4..bc59a3429 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json @@ -38,7 +38,7 @@ "type": "patchouli:spotlight", "title": "茶", "text": "$(thing)茶$()可以用某些干燥的植物冲泡。$(br2)它们提供短暂但有用的增益,并使你的体温升高4°C。非常适合冬天!", - "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + "item": "tfc_gourmet:tea_mint_bucket,tfc_gourmet:tea_chamomile_bucket,tfc_gourmet:tea_rosehip_bucket,tfc_gourmet:tea_nettle_bucket" }, { "type": "patchouli:text", @@ -48,7 +48,7 @@ "type": "patchouli:spotlight", "title": "特调饮品", "text": "这是一个包含更多口味独特、效果各异的杂项饮品的类别。尽情享用吧!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + "item": "tfc_gourmet:cocoa_bucket,tfc_gourmet:coffee_bucket,tfc_gourmet:nalivka_bucket,tfc_gourmet:kvass_bucket,tfc_gourmet:compote_bucket,tfc_gourmet:lemonade_bucket" }, { "type": "patchouli:text", @@ -58,7 +58,7 @@ "type": "patchouli:spotlight", "title": "奶类", "text": "$(thing)奶$()可以从大多数雌性家畜身上获取,只需在亲密度足够高时,用木桶或金属桶右键点击它们即可。(如果无法挤奶,请确保桶没有堆叠!)$(br)虽然它不提供任何增益,但如果在进食后饮用,可以提供乳制品营养,并且之后可以制成奶酪。", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gourmet:ox_milk_bucket,tfc_gourmet:sheep_milk_bucket,tfc_gourmet:alpaca_milk_bucket" }, { "title": "温泉", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 4ac1839b5..27cc61e5f 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -413,42 +413,42 @@ const registerTooltips = (event) => { }) // Drink effects - event.addAdvanced(['tfc_gurman:compote_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:compote_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.jump_boost").append(Text.of(" II (00:30)")).blue()); }) - event.addAdvanced(['tfc_gurman:kvass_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:kvass_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (01:20)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) - event.addAdvanced(['tfc_gurman:lemonade_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:lemonade_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) - event.addAdvanced(['tfc_gurman:coffee_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:coffee_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.speed").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:cocoa_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:cocoa_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_mint_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_mint_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.regeneration").append(Text.of(" II (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_chamomile_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_chamomile_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" II (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_nettle_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_nettle_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.slow_falling").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_rosehip_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_rosehip_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.absorption").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:nalivka_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:nalivka_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (02:40)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json index 0f59bce41..b8b268214 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:cocoa", + "ingredient": "tfc_gourmet:cocoa", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json index c64e29166..47bf4613f 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:coffee", + "ingredient": "tfc_gourmet:coffee", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/compote.json b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json index d86db6987..124807bcc 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/compote.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:compote", + "ingredient": "tfc_gourmet:compote", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json index 2f70a543d..17b9eabf9 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:kvass", + "ingredient": "tfc_gourmet:kvass", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json index d5d810fe4..755373fe9 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:lemonade", + "ingredient": "tfc_gourmet:lemonade", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json index 563b57b30..a93b02e15 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:nalivka", + "ingredient": "tfc_gourmet:nalivka", "thirst": 10, "intoxication": 4000, "may_drink_when_full": true, diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json index bb7a5223f..1445cb421 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_chamomile", + "ingredient": "tfc_gourmet:tea_chamomile", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json index e43e41414..de5d5a07a 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_mint", + "ingredient": "tfc_gourmet:tea_mint", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json index a9e53654d..317504cc9 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_nettle", + "ingredient": "tfc_gourmet:tea_nettle", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json index 9f45aa167..58e41fe52 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_rosehip", + "ingredient": "tfc_gourmet:tea_rosehip", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/server_scripts/gtceu_terminal/recipes.js b/kubejs/server_scripts/gtceu_terminal/recipes.js index 80f8b792a..e1f75679d 100644 --- a/kubejs/server_scripts/gtceu_terminal/recipes.js +++ b/kubejs/server_scripts/gtceu_terminal/recipes.js @@ -1,4 +1,7 @@ -function registerGTCEUTerminal(event) { +// priority: 0 +"use strict"; + +function registerGTCEUTerminalRecipes(event) { // Gregtech CEu Terminals Integration diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 7ce704580..df97fcde1 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -53,7 +53,7 @@ ServerEvents.tags('item', event => { registerTFCItemTags(event) registerTFCTextileItemTags(event) registerTFGItemTags(event) - registerTFGItemTagsNuclear(event) + registerTFGNuclearItemTags(event) registerTFCLunchboxItemTags(event) registerVintageImprovementsItemTags(event) registerWABItemTags(event) @@ -255,7 +255,7 @@ ServerEvents.recipes(event => { registerGrapplingHookRecipes(event); registerGreateRecipes(event) registerGTCEURecipes(event); - registerGTCEUTerminal(event) + registerGTCEUTerminalRecipes(event) registerHandGliderRecipes(event) registerHotOrNotRecipes(event) registerImmersiveAircraftRecipes(event) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index b5d7879aa..8f69d82c7 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -92,9 +92,9 @@ function registerTFCItemTags(event) { event.add("tfc:nonplaceable", "minecraft:milk_bucket") event.add("tfc:nonplaceable", "firmalife:bucket/yak_milk") event.add("tfc:nonplaceable", "firmalife:bucket/goat_milk") - event.add("tfc:nonplaceable", "tfc_gurman:ox_milk_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:sheep_milk_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:alpaca_milk_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:ox_milk_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:sheep_milk_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:alpaca_milk_bucket") event.add("tfc:nonplaceable", "tfc:bucket/beer") event.add("tfc:nonplaceable", "tfc:bucket/cider") event.add("tfc:nonplaceable", "tfc:bucket/rum") @@ -112,16 +112,16 @@ function registerTFCItemTags(event) { event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_corn_whiskey") event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_rye_whiskey") event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_mead") - event.add("tfc:nonplaceable", "tfc_gurman:nalivka_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:coffee_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_mint_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_chamomile_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_rosehip_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_nettle_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:cocoa_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:compote_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:kvass_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:lemonade_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:nalivka_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:coffee_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_mint_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_chamomile_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_rosehip_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_nettle_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:cocoa_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:compote_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:kvass_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:lemonade_bucket") event.add("tfc:nonplaceable", "firmalife:bucket/mead") event.add("tfc:nonplaceable", "firmalife:bucket/red_wine") event.add("tfc:nonplaceable", "firmalife:bucket/white_wine") @@ -832,7 +832,7 @@ function registerTFCFluidTags(event) { event.add("tfg:alcohols", "tfcagedalcohol:aged_corn_whiskey"); event.add("tfg:alcohols", "tfcagedalcohol:aged_rye_whiskey"); event.add("tfg:alcohols", "tfcagedalcohol:aged_mead"); - event.add("tfg:alcohols", "tfc_gurman:nalivka"); + event.add("tfg:alcohols", "tfc_gourmet:nalivka"); // Добавляем тег для скрытия в EMI event.add("c:hidden_from_recipe_viewers", "tfc:metal/bismuth"); diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index a6ee1a527..558402021 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -2,56 +2,63 @@ "use strict"; function registerTFCGurmanRecipes(event) { + + let deprecated = Ingredient.of('#tfc_gourmet:deprecated_foods').itemIds.toArray(); + deprecated.forEach(oldID => { + let newID = `${oldID}`.replace(/tfc_gurman:/g, 'tfc_gourmet:'); + event.shapeless(newID, oldID); + }) + //#region Food Oven Recipes - - global.cookingRecipe(event, 'margarita_pizza', 'tfc_gurman:raw_margarita_pizza', 'tfc_gurman:margarita_pizza'); - - global.cookingRecipe(event, 'pepperoni_pizza', 'tfc_gurman:raw_pepperoni_pizza', 'tfc_gurman:pepperoni_pizza'); - - global.cookingRecipe(event, 'hawaiian_pizza', 'tfc_gurman:raw_hawaiian_pizza', 'tfc_gurman:hawaiian_pizza'); - - global.cookingRecipe(event, 'four_cheeses_pizza', 'tfc_gurman:raw_four_cheeses_pizza', 'tfc_gurman:four_cheeses_pizza'); - - global.cookingRecipe(event, 'four_meats_pizza', 'tfc_gurman:raw_four_meats_pizza', 'tfc_gurman:four_meats_pizza'); - - global.cookingRecipe(event, 'neapolitano_pizza', 'tfc_gurman:raw_neapolitano_pizza', 'tfc_gurman:neapolitano_pizza'); - - global.cookingRecipe(event, 'croissants', 'tfc_gurman:raw_croissants', 'tfc_gurman:croissants'); - - global.cookingRecipe(event, 'kiev_cutlets', 'tfc_gurman:raw_kiev_cutlets', 'tfc_gurman:kiev_cutlets'); - - global.cookingRecipe(event, 'quiche', 'tfc_gurman:raw_quiche', 'tfc_gurman:quiche'); - global.cookingRecipe(event, 'tandoori_chicken', 'tfc_gurman:raw_tandoori_chicken', 'tfc_gurman:tandoori_chicken'); - - global.cookingRecipe(event, 'placinda', 'tfc_gurman:raw_placinda', 'tfc_gurman:placinda'); - - global.cookingRecipe(event, 'tonkatsu', 'tfc_gurman:raw_tonkatsu', 'tfc_gurman:tonkatsu'); - - global.cookingRecipe(event, 'takoyaki', 'tfc_gurman:raw_takoyaki', 'tfc_gurman:takoyaki'); - - global.cookingRecipe(event, 'bulgogi', 'tfc_gurman:raw_bulgogi', 'tfc_gurman:bulgogi'); - - global.cookingRecipe(event, 'bratwurst', 'tfc_gurman:raw_bratwurst', 'tfc_gurman:bratwurst'); + global.cookingRecipe(event, 'margarita_pizza', 'tfc_gourmet:raw_margarita_pizza', 'tfc_gourmet:margarita_pizza'); - global.cookingRecipe(event, 'crepes', 'tfc_gurman:raw_crepes', 'tfc_gurman:crepes'); + global.cookingRecipe(event, 'pepperoni_pizza', 'tfc_gourmet:raw_pepperoni_pizza', 'tfc_gourmet:pepperoni_pizza'); - global.cookingRecipe(event, 'chebureki', 'tfc_gurman:raw_chebureki', 'tfc_gurman:chebureki'); + global.cookingRecipe(event, 'hawaiian_pizza', 'tfc_gourmet:raw_hawaiian_pizza', 'tfc_gourmet:hawaiian_pizza'); + + global.cookingRecipe(event, 'four_cheeses_pizza', 'tfc_gourmet:raw_four_cheeses_pizza', 'tfc_gourmet:four_cheeses_pizza'); + + global.cookingRecipe(event, 'four_meats_pizza', 'tfc_gourmet:raw_four_meats_pizza', 'tfc_gourmet:four_meats_pizza'); + + global.cookingRecipe(event, 'neapolitano_pizza', 'tfc_gourmet:raw_neapolitano_pizza', 'tfc_gourmet:neapolitano_pizza'); + + global.cookingRecipe(event, 'croissants', 'tfc_gourmet:raw_croissants', 'tfc_gourmet:croissants'); + + global.cookingRecipe(event, 'kiev_cutlets', 'tfc_gourmet:raw_kiev_cutlets', 'tfc_gourmet:kiev_cutlets'); + + global.cookingRecipe(event, 'quiche', 'tfc_gourmet:raw_quiche', 'tfc_gourmet:quiche'); - global.cookingRecipe(event, 'khachapuri', 'tfc_gurman:raw_khachapuri', 'tfc_gurman:khachapuri'); + global.cookingRecipe(event, 'tandoori_chicken', 'tfc_gourmet:raw_tandoori_chicken', 'tfc_gourmet:tandoori_chicken'); - global.cookingRecipe(event, 'lavash_wrap', 'tfc_gurman:raw_lavash_wrap', 'tfc_gurman:lavash_wrap'); + global.cookingRecipe(event, 'placinda', 'tfc_gourmet:raw_placinda', 'tfc_gourmet:placinda'); - global.cookingRecipe(event, 'syrniki', 'tfc_gurman:raw_syrniki', 'tfc_gurman:syrniki'); + global.cookingRecipe(event, 'tonkatsu', 'tfc_gourmet:raw_tonkatsu', 'tfc_gourmet:tonkatsu'); + + global.cookingRecipe(event, 'takoyaki', 'tfc_gourmet:raw_takoyaki', 'tfc_gourmet:takoyaki'); + + global.cookingRecipe(event, 'bulgogi', 'tfc_gourmet:raw_bulgogi', 'tfc_gourmet:bulgogi'); + + global.cookingRecipe(event, 'bratwurst', 'tfc_gourmet:raw_bratwurst', 'tfc_gourmet:bratwurst'); + + global.cookingRecipe(event, 'crepes', 'tfc_gourmet:raw_crepes', 'tfc_gourmet:crepes'); + + global.cookingRecipe(event, 'chebureki', 'tfc_gourmet:raw_chebureki', 'tfc_gourmet:chebureki'); + + global.cookingRecipe(event, 'khachapuri', 'tfc_gourmet:raw_khachapuri', 'tfc_gourmet:khachapuri'); + + global.cookingRecipe(event, 'lavash_wrap', 'tfc_gourmet:raw_lavash_wrap', 'tfc_gourmet:lavash_wrap'); + + global.cookingRecipe(event, 'syrniki', 'tfc_gourmet:raw_syrniki', 'tfc_gourmet:syrniki'); - global.cookingRecipe(event, 'oladyi', 'tfc_gurman:raw_oladyi', 'tfc_gurman:oladyi'); + global.cookingRecipe(event, 'oladyi', 'tfc_gourmet:raw_oladyi', 'tfc_gourmet:oladyi'); // Falafel - from soybean (no raw version) - global.cookingRecipe(event, 'falafel', 'tfc_gurman:raw_falafel', 'tfc_gurman:falafel'); + global.cookingRecipe(event, 'falafel', 'tfc_gourmet:raw_falafel', 'tfc_gourmet:falafel'); - global.cookingRecipe(event, 'pelmeni', 'tfc_gurman:raw_pelmeni', 'tfc_gurman:pelmeni', '#tfg:clean_water 500'); + global.cookingRecipe(event, 'pelmeni', 'tfc_gourmet:raw_pelmeni', 'tfc_gourmet:pelmeni', '#tfg:clean_water 500'); - global.cookingRecipe(event, 'vareniki', 'tfc_gurman:raw_vareniki', 'tfc_gurman:vareniki', '#tfg:clean_water 500'); + global.cookingRecipe(event, 'vareniki', 'tfc_gourmet:raw_vareniki', 'tfc_gourmet:vareniki', '#tfg:clean_water 500'); //#endregion @@ -60,33 +67,33 @@ function registerTFCGurmanRecipes(event) { // Borscht global.processorRecipe(event, 'sliced_cabbage', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cabbage'], - itemOutputs: ['2x tfc_gurman:sliced_cabbage'], + itemOutputs: ['2x tfc_gourmet:sliced_cabbage'], circuit: 1, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:sliced_cabbage').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:sliced_cabbage').copyOldestFood() }); global.processorRecipe(event, 'borscht', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc:food/beet', 'tfc_gurman:sliced_cabbage', 'tfc:food/carrot', 'tfc:food/onion', '#tfc:foods/cooked_meats', '3x #tfc:bowls'], + itemInputs: ['tfc:food/beet', 'tfc_gourmet:sliced_cabbage', 'tfc:food/carrot', 'tfc:food/onion', '#tfc:foods/cooked_meats', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:borscht'], + itemOutputs: ['3x tfc_gourmet:borscht'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:borscht').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:borscht').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Schi global.processorRecipe(event, 'schi', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:schi'], + itemOutputs: ['3x tfc_gourmet:schi'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:schi').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:schi').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Coffee global.processorRecipe(event, 'coffee', 1000, GTValues.VHA[GTValues.LV], { itemInputs: ['2x firmalife:food/roasted_cocoa_beans'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:coffee 1000'], + fluidOutputs: ['tfc_gourmet:coffee 1000'], circuit: 2 }); @@ -94,15 +101,15 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'cocoa', 1000, GTValues.VHA[GTValues.LV], { itemInputs: ['2x firmalife:food/cocoa_powder'], fluidInputs: ['#tfc:milks 1000'], - fluidOutputs: ['tfc_gurman:cocoa 1000'], + fluidOutputs: ['tfc_gourmet:cocoa 1000'], circuit: 1 }); // Compote global.processorRecipe(event, 'compote', 1000, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x #tfc_gurman:compote_fruits'], + itemInputs: ['2x #tfc_gourmet:compote_fruits'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:compote 1000'], + fluidOutputs: ['tfc_gourmet:compote 1000'], circuit: 6 }); @@ -110,7 +117,7 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'lemonade', 1500, GTValues.VHA[GTValues.LV], { itemInputs: ['2x tfc:food/lemon'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:lemonade 1000'], + fluidOutputs: ['tfc_gourmet:lemonade 1000'], circuit: 2 }); @@ -118,39 +125,39 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'kvass', 2400, GTValues.VHA[GTValues.LV], { itemInputs: ['2x #tfc:foods/grains'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:kvass 1000'], + fluidOutputs: ['tfc_gourmet:kvass 1000'], circuit: 2 }); // Tea Mint global.processorRecipe(event, 'tea_mint', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_mint_leaves'], + itemInputs: ['2x tfc_gourmet:dried_mint_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_mint 1000'], + fluidOutputs: ['tfc_gourmet:tea_mint 1000'], circuit: 2 }); // Tea Chamomile global.processorRecipe(event, 'tea_chamomile', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_chamomile_leaves'], + itemInputs: ['2x tfc_gourmet:dried_chamomile_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_chamomile 1000'], + fluidOutputs: ['tfc_gourmet:tea_chamomile 1000'], circuit: 2 }); // Tea Rosehip global.processorRecipe(event, 'tea_rosehip', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_rosehip_leaves'], + itemInputs: ['2x tfc_gourmet:dried_rosehip_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_rosehip 1000'], + fluidOutputs: ['tfc_gourmet:tea_rosehip 1000'], circuit: 2 }); // Tea Nettle global.processorRecipe(event, 'tea_nettle', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_nettle_leaves'], + itemInputs: ['2x tfc_gourmet:dried_nettle_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_nettle 1000'], + fluidOutputs: ['tfc_gourmet:tea_nettle 1000'], circuit: 2 }); @@ -158,311 +165,311 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'solyanka', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:solyanka'], + itemOutputs: ['3x tfc_gourmet:solyanka'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:solyanka').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:solyanka').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Okroshka global.processorRecipe(event, 'okroshka', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', '#firmalife:foods/raw_eggs', '3x #tfc:bowls'], - fluidInputs: ['tfc_gurman:kvass 1000'], - itemOutputs: ['3x tfc_gurman:okroshka'], + fluidInputs: ['tfc_gourmet:kvass 1000'], + itemOutputs: ['3x tfc_gourmet:okroshka'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:okroshka').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:okroshka').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Zama global.processorRecipe(event, 'zama', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:zama'], + itemOutputs: ['3x tfc_gourmet:zama'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:zama').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:zama').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Curry global.processorRecipe(event, 'curry', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice', '3x #tfc:bowls'], fluidInputs: ['#tfc:milks 1000'], - itemOutputs: ['3x tfc_gurman:curry'], + itemOutputs: ['3x tfc_gourmet:curry'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:curry').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:curry').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Goulash global.processorRecipe(event, 'goulash', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:goulash'], + itemOutputs: ['3x tfc_gourmet:goulash'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:goulash').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:goulash').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Pho global.processorRecipe(event, 'pho', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:pho'], + itemOutputs: ['3x tfc_gourmet:pho'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:pho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:pho').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Bouillabaisse global.processorRecipe(event, 'bouillabaisse', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:bouillabaisse'], + itemOutputs: ['3x tfc_gourmet:bouillabaisse'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:bouillabaisse').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:bouillabaisse').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Beef global.processorRecipe(event, 'ramen_beef', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/beef', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_beef'], + itemOutputs: ['2x tfc_gourmet:ramen_with_beef'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_beef').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_beef').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Camelidae global.processorRecipe(event, 'ramen_camelidae', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/camelidae', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_camelidae'], + itemOutputs: ['2x tfc_gourmet:ramen_with_camelidae'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_camelidae').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_camelidae').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Chevon global.processorRecipe(event, 'ramen_chevon', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/chevon', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_chevon'], + itemOutputs: ['2x tfc_gourmet:ramen_with_chevon'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_chevon').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_chevon').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Bacon global.processorRecipe(event, 'ramen_bacon', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'firmalife:food/bacon', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_bacon'], + itemOutputs: ['2x tfc_gourmet:ramen_with_bacon'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_bacon').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_bacon').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Biryani global.processorRecipe(event, 'biryani', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:biryani'], + itemOutputs: ['3x tfc_gourmet:biryani'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:biryani').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:biryani').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Fried Rice global.processorRecipe(event, 'fried_rice', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:fried_rice'], + itemOutputs: ['3x tfc_gourmet:fried_rice'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fried_rice').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fried_rice').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Kimchi global.processorRecipe(event, 'kimchi', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:kimchi'], + itemOutputs: ['3x tfc_gourmet:kimchi'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:kimchi').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:kimchi').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Dolma global.processorRecipe(event, 'dolma', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', '2x #tfc:bowls'], + itemInputs: ['#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', 'firmalife:fruit_leaf', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:dolma'], + itemOutputs: ['2x tfc_gourmet:dolma'], circuit: 16, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:dolma').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:dolma').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Spaghetti Bolognese global.processorRecipe(event, 'spaghetti_bolognese', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['3x tfc_gurman:spaghetti_bolognese'], + itemOutputs: ['3x tfc_gourmet:spaghetti_bolognese'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:spaghetti_bolognese').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:spaghetti_bolognese').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Pasta Carbonara global.processorRecipe(event, 'pasta_carbonara', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/cooked_pasta', 'firmalife:food/bacon', '#firmalife:foods/raw_eggs', 'firmalife:food/shredded_cheese', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['3x tfc_gurman:pasta_carbonara'], + itemOutputs: ['3x tfc_gourmet:pasta_carbonara'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:pasta_carbonara').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:pasta_carbonara').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ratatouille global.processorRecipe(event, 'ratatouille', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['3x tfc_gurman:ratatouille'], + itemOutputs: ['3x tfc_gourmet:ratatouille'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:ratatouille').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:ratatouille').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Risotto global.processorRecipe(event, 'risotto', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:risotto'], + itemOutputs: ['3x tfc_gourmet:risotto'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:risotto').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:risotto').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Porridge global.processorRecipe(event, 'porridge', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/grains', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 250'], - itemOutputs: ['tfc_gurman:porridge'], + itemOutputs: ['tfc_gourmet:porridge'], circuit: 18, - itemOutputProvider: TFC.isp.of('tfc_gurman:porridge').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('tfc_gourmet:porridge').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Mamaliga global.processorRecipe(event, 'mamaliga', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/maize_grain', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['tfc_gurman:mamaliga'], + itemOutputs: ['tfc_gourmet:mamaliga'], circuit: 16, - itemOutputProvider: TFC.isp.of('tfc_gurman:mamaliga').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('tfc_gourmet:mamaliga').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Adjika global.processorRecipe(event, 'adjika', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:food/bell_peppers', '#tfc:food/bell_peppers', 'tfc:powder/salt', 'tfc:food/garlic', "tfg:spice/cilantro_leaves", '5x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['5x tfc_gurman:adjika'], + itemOutputs: ['5x tfc_gourmet:adjika'], circuit: 8, - itemOutputProvider: TFC.isp.of('5x tfc_gurman:adjika').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('5x tfc_gourmet:adjika').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Onion soup with bread global.processorRecipe(event, 'onion_soup_with_bread', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/onion', '#firmalife:foods/flatbreads', '#firmalife:foods/cheeses', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fresh_onion_soup_bread'], + itemOutputs: ['3x tfc_gourmet:fresh_onion_soup_bread'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup_bread').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fresh_onion_soup_bread').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Lentil soup global.processorRecipe(event, 'lentil_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/soybean', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:lent_soup'], + itemOutputs: ['3x tfc_gourmet:lent_soup'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:lent_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:lent_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Gazpacho global.processorRecipe(event, 'gazpacho', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/tomato', '#tfc:food/bell_peppers', '#firmalife:foods/flatbreads', 'tfc:food/garlic', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:gazpacho'], + itemOutputs: ['3x tfc_gourmet:gazpacho'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:gazpacho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:gazpacho').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Kharcho global.processorRecipe(event, 'kharcho', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc_gurman:plant_mix', 'tfc:food/garlic', 'tfc:food/onion', 'tfc:food/rice_grain', 'tfc:food/cooked_beef'], + itemInputs: ['tfc_gourmet:plant_mix', 'tfc:food/garlic', 'tfc:food/onion', 'tfc:food/rice_grain', 'tfc:food/cooked_beef'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:kharcho'], + itemOutputs: ['3x tfc_gourmet:kharcho'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:kharcho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:kharcho').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Kholodnik global.processorRecipe(event, 'kholodnik', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/potato', '2x tfc:food/beet', '#forge:eggs', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:kholodnik'], + itemOutputs: ['3x tfc_gourmet:kholodnik'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:kholodnik').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:kholodnik').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Shurpa global.processorRecipe(event, 'shurpa', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_mutton', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:shurpa'], + itemOutputs: ['3x tfc_gourmet:shurpa'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); global.processorRecipe(event, 'shurpa2', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_beef', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:shurpa'], + itemOutputs: ['3x tfc_gourmet:shurpa'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Fish tomato soup global.processorRecipe(event, 'fish_tomato_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fish_soup_tomato'], + itemOutputs: ['3x tfc_gourmet:fish_soup_tomato'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup_tomato').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fish_soup_tomato').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Pea soup global.processorRecipe(event, 'pea_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/green_bean', 'tfc:food/onion', '#tfc:foods/cooked_meats', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:pea_soup'], + itemOutputs: ['3x tfc_gourmet:pea_soup'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:pea_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:pea_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Minestrone global.processorRecipe(event, 'minestrone', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/rice_grain', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:minestrone'], + itemOutputs: ['3x tfc_gourmet:minestrone'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); global.processorRecipe(event, 'minestrone2', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:minestrone'], + itemOutputs: ['3x tfc_gourmet:minestrone'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Fish soup global.processorRecipe(event, 'fish_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fish_soup'], + itemOutputs: ['3x tfc_gourmet:fish_soup'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fish_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // French onion soup with toast global.processorRecipe(event, 'french_onion_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/onion', '#firmalife:foods/slices', '#firmalife:foods/cheeses', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fresh_onion_soup'], + itemOutputs: ['3x tfc_gourmet:fresh_onion_soup'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); //#endregion @@ -471,54 +478,54 @@ function registerTFCGurmanRecipes(event) { global.processorRecipeText(event, 'dried_mint', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/foxglove"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_mint_leaves"], + itemOutputs: ["tfc_gourmet:dried_mint_leaves"], circuit: 6 }); global.processorRecipeText(event, 'dried_chamomile', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/lilac"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_chamomile_leaves"], + itemOutputs: ["tfc_gourmet:dried_chamomile_leaves"], circuit: 6 }); global.processorRecipeText(event, 'dried_rosehip', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/rose"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_rosehip_leaves"], + itemOutputs: ["tfc_gourmet:dried_rosehip_leaves"], circuit: 6 }); global.processorRecipeText(event, 'dried_nettle', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/trillium"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_nettle_leaves"], + itemOutputs: ["tfc_gourmet:dried_nettle_leaves"], circuit: 6 }); // #endregion Drying // #region Replacements - event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); + event.replaceInput({ id: "tfc_gourmet:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); - event.shapeless('2x tfc_gurman:plant_mix', [ + event.shapeless('2x tfc_gourmet:plant_mix', [ "2x firmalife:spice/basil_leaves", "tfg:spice/oregano_leaves", "tfg:spice/cilantro_leaves", - ]).id("tfc_gurman:crafting/plant_mix") + ]).id("tfc_gourmet:crafting/plant_mix") - event.replaceInput({ id: "tfc_gurman:pot/adjika_bowl" }, "firmalife:plant/cilantro", "tfg:spice/cilantro_leaves"); + event.replaceInput({ id: "tfc_gourmet:pot/adjika_bowl" }, "firmalife:plant/cilantro", "tfg:spice/cilantro_leaves"); - event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of('4x tfc_gurman:raw_takoyaki').copyOldestFood(), [ + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of('4x tfc_gourmet:raw_takoyaki').copyOldestFood(), [ TFC.ingredient.notRotten('tfg:food/raw_crawlermari'), TFC.ingredient.notRotten('#tfc:foods/flour'), TFC.ingredient.notRotten('#forge:eggs'), 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmeni"); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_vareniki" }, "tfc_gurman:raw_vareniki", "tfc_gurman:raw_vareniki"); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_oladyi" }, "tfc_gurman:raw_oladyi", "2x tfc_gurman:raw_oladyi"); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_syrniki" }, "tfc_gurman:raw_syrniki", "2x tfc_gurman:raw_syrniki"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_pelmeni" }, "tfc_gourmet:raw_pelmeni", "2x tfc_gourmet:raw_pelmeni"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_vareniki" }, "tfc_gourmet:raw_vareniki", "tfc_gourmet:raw_vareniki"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_oladyi" }, "tfc_gourmet:raw_oladyi", "2x tfc_gourmet:raw_oladyi"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_syrniki" }, "tfc_gourmet:raw_syrniki", "2x tfc_gourmet:raw_syrniki"); // #endregion } diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 384575c05..525a044d1 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -149,9 +149,9 @@ function registerTFGFoodItemTags(event) { 'firmalife:food/yak_curd', 'firmalife:food/goat_curd', 'firmalife:food/milk_curd', - 'tfc_gurman:ox_curd', - 'tfc_gurman:sheep_curd', - 'tfc_gurman:alpaca_curd' + 'tfc_gourmet:ox_curd', + 'tfc_gourmet:sheep_curd', + 'tfc_gourmet:alpaca_curd' ]; cheeseCurds.forEach(item => { event.add('tfg:foods/cheese_curds', item); @@ -177,7 +177,7 @@ function registerTFGFoodItemTags(event) { '#firmalife:foods/cheeses', 'tfg:food/slice_of_cheese', 'firmalife:food/shredded_cheese', - '#tfc_gurman:foods/brinza' + '#tfc_gourmet:foods/brinza' ]; cheeses.forEach(item => { event.add('tfg:foods/cheeses', item); @@ -269,12 +269,12 @@ function registerTFGFoodItemTags(event) { 'firmalife:food/toast_with_butter', 'firmalife:food/toast_with_jam', 'firmalife:food/butter', - 'tfc_gurman:adjika', - 'tfc_gurman:tzatziki', - 'tfc_gurman:falafel', - 'tfc_gurman:hummus', - 'tfc_gurman:sauerkraut', - 'tfc_gurman:bratwurst' + 'tfc_gourmet:adjika', + 'tfc_gourmet:tzatziki', + 'tfc_gourmet:falafel', + 'tfc_gourmet:hummus', + 'tfc_gourmet:sauerkraut', + 'tfc_gourmet:bratwurst' ]; usable_in_meal_bag.forEach(item => { event.add('tfg:foods/usable_in_meal_bag', item); diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index 36090a32f..7e851dcca 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -1,6 +1,6 @@ "use strict"; -const registerTFGItemTagsNuclear = (event) => { +const registerTFGNuclearItemTags = (event) => { //Fission Nucleat Fuel event.add('deafission:fuels', 'tfg:thorium_rod') diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index a1c988e5f..888189a0b 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -19,7 +19,7 @@ const registerTFGItemTags = (event) => { registerTFGAquaponicsItemTags(event) // TEMPORARY, REMOVE WHEN GURMAN FIXES THIS - event.remove('tfc:foods', 'tfc_gurman:havai_pizza') + event.remove('tfc:foods', 'tfc_gourmet:havai_pizza') //Circuit Stuff event.add('tfg:components/uv_leds', 'tfg:uv_led') diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index a1e687dea..c6b02e729 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -484,6 +484,5 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') GTMaterials.Thorium.setFormula('ThO2') GTMaterials.Americium.setFormula('Am²⁴³') - GTMaterials.Boron.setFormula('B¹¹') GTMaterials.Caesium.setFormula('Cs¹³³') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index eb6d8dfa0..19a876b1c 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -867,18 +867,18 @@ global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([ salted_cheese: "firmalife:food/chevre", salted_wheel: "firmalife:chevre_wheel" }, { - id: "ox", milk: "tfc_gurman:ox_milk", curdled_fluid: "tfc_gurman:curdled_ox_milk", curd: "tfc_gurman:ox_curd", - unsalted_cheese: "tfc_gurman:ox_brinza_slice", unsalted_wheel: "tfc_gurman:ox_brinza_wheel", + id: "ox", milk: "tfc_gourmet:ox_milk", curdled_fluid: "tfc_gourmet:curdled_ox_milk", curd: "tfc_gourmet:ox_curd", + unsalted_cheese: "tfc_gourmet:ox_brinza_slice", unsalted_wheel: "tfc_gourmet:ox_brinza_wheel", salted_cheese: null, salted_wheel: null }, { - id: "sheep", milk: "tfc_gurman:sheep_milk", curdled_fluid: "tfc_gurman:curdled_sheep_milk", curd: "tfc_gurman:sheep_curd", - unsalted_cheese: "tfc_gurman:sheep_brinza_slice", unsalted_wheel: "tfc_gurman:sheep_brinza_wheel", + id: "sheep", milk: "tfc_gourmet:sheep_milk", curdled_fluid: "tfc_gourmet:curdled_sheep_milk", curd: "tfc_gourmet:sheep_curd", + unsalted_cheese: "tfc_gourmet:sheep_brinza_slice", unsalted_wheel: "tfc_gourmet:sheep_brinza_wheel", salted_cheese: null, salted_wheel: null }, { - id: "alpaca", milk: "tfc_gurman:alpaca_milk", curdled_fluid: "tfc_gurman:curdled_alpaca_milk", curd: "tfc_gurman:alpaca_curd", - unsalted_cheese: "tfc_gurman:alpaca_brinza_slice", unsalted_wheel: "tfc_gurman:alpaca_brinza_wheel", + id: "alpaca", milk: "tfc_gourmet:alpaca_milk", curdled_fluid: "tfc_gourmet:curdled_alpaca_milk", curd: "tfc_gourmet:alpaca_curd", + unsalted_cheese: "tfc_gourmet:alpaca_brinza_slice", unsalted_wheel: "tfc_gourmet:alpaca_brinza_wheel", salted_cheese: null, salted_wheel: null } ]); diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index c71f7f7b5..fbcfcff39 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -49,7 +49,16 @@ const registerTFGItems = (event) => { event.create('tfg:zpm_universal_circuit') event.create('tfg:uv_universal_circuit') event.create('tfg:uhv_universal_circuit') + + // Add item for BTX Fuel + event.create('tfg:catalyser_pt_re_zsm') + .texture('tfg:item/btx/catalyser_zsm') + event.create('tfg:used_catalyser') + .texture('tfg:item/btx/used_catalyser') + + event.create('tfg:loaded_resin') + .texture('tfg:item/btx/loaded_resin') // Temporary event.create('gtceu:rose_quartz_dust').texture('tfg:item/deprecated') @@ -70,14 +79,111 @@ const registerTFGItems = (event) => { event.create('gtceu:rose_quartz_lens').texture('tfg:item/deprecated') event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated') - // Add item for BTX Fuel - - event.create('tfg:catalyser_pt_re_zsm') - .texture('tfg:item/btx/catalyser_zsm') - - event.create('tfg:used_catalyser') - .texture('tfg:item/btx/used_catalyser') - - event.create('tfg:loaded_resin') - .texture('tfg:item/btx/loaded_resin') + // Thanks gurman + event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_bacon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_beef').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_camelidae').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_chevon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:plant_mix').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:adjika_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:porridge').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:porridge_with_honey').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:porridge_with_fruits').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pasta_with_adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:zama').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:mamaliga').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:ox_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sheep_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:alpaca_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:fried_rice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:curry').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:hummus').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:greek_salad').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:tzatziki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:falafel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dolma').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:goulash').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:risotto').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sauerkraut').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:borscht').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:schi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:solyanka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:okroshka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:spaghetti_bolognese').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pasta_carbonara').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:tiramisu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ratatouille').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:bouillabaisse').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:kimchi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:biryani').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fresh_onion_soup_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:lent_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:gazpacho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:kharcho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:kholodnik').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:shurpa').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fish_soup_tomato').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pea_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:minestrone').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fish_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fresh_onion_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); } diff --git a/pakku-lock.json b/pakku-lock.json index 9847ecb03..65438c87e 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -10049,7 +10049,7 @@ "files": [ { "type": "modrinth", - "file_name": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10057,20 +10057,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/cfiRPrQF/notenoughanimations-forge-1.11.1-mc1.20.1.jar", - "id": "cfiRPrQF", + "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/5SeKXwLU/notenoughanimations-forge-1.11.2-mc1.20.1.jar", + "id": "5SeKXwLU", "parent_id": "MPCX6s5C", "hashes": { - "sha512": "9335ace46a9f6477df026f19cab08c656fc7c0a7f1069eedfdadbba01bfd2ad43f9e90a0bb5ef8e867d51608dddcf85fa9653eb178f4a0e6e6bcfb45d0959270", - "sha1": "9aa8917d7c0a5311dc495da3c720434de49e0e24" + "sha512": "594ce4db615446ee20e9938dcb1770c75f2073d82474ff515bebb08fcd1451eac1cd98add2f0a0ddf4b7e35e78525973ae6ed8538a705f5606ce5379173d0718", + "sha1": "fe7898d27c15b76552a69b972abec0728be9ea8a" }, "required_dependencies": [], - "size": 1933839, - "date_published": "2025-12-12T19:11:52.494096Z" + "size": 1935532, + "date_published": "2026-02-01T17:18:01.484134Z" }, { "type": "curseforge", - "file_name": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10078,16 +10078,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7325/366/notenoughanimations-forge-1.11.1-mc1.20.1.jar", - "id": "7325366", + "url": "https://edge.forgecdn.net/files/7561/811/notenoughanimations-forge-1.11.2-mc1.20.1.jar", + "id": "7561811", "parent_id": "433760", "hashes": { - "sha1": "9aa8917d7c0a5311dc495da3c720434de49e0e24", - "md5": "34fd79756da8b5278a5b0905d98ffeca" + "sha1": "fe7898d27c15b76552a69b972abec0728be9ea8a", + "md5": "81f5099779c0b4d223275e7bac616a4e" }, "required_dependencies": [], - "size": 1933839, - "date_published": "2025-12-12T19:11:51.067Z" + "size": 1935532, + "date_published": "2026-02-01T17:17:59.670Z" } ] }, @@ -12887,7 +12887,7 @@ ] }, { - "pakku_id": "zjKgkuN1c64ZMrfV", + "pakku_id": "5Hw8y3XluL4fjZ65", "pakku_links": [ "AqNG8HNM9pfy1ges", "64uacGcEw697jVGs" @@ -12895,42 +12895,21 @@ "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "tfcgurman", - "modrinth": "tfc_gurman" + "curseforge": "tfc-gurman", + "modrinth": "tfc_gourmet" }, "name": { "curseforge": "TFC Gurman", - "modrinth": "TFC Gurman" + "modrinth": "TFC Gourmet" }, "id": { "curseforge": "1363944", "modrinth": "ERme2o65" }, "files": [ - { - "type": "modrinth", - "file_name": "tfc_gurman-1.4.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/zhoqj2Wr/tfc_gurman-1.4.1.jar", - "id": "zhoqj2Wr", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "dbfa8e9423dc6bb4fa98a17b99478651b99081e4990f1b9f01bfc5ade6ec35955756f8c856d2bfd3f4865779aaff4a7c68b6bb3b7e93f397afbf407c83c992c3", - "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a" - }, - "required_dependencies": [], - "size": 520225, - "date_published": "2026-01-28T01:09:39.160234Z" - }, { "type": "curseforge", - "file_name": "tfc_gurman-1.4.1.jar", + "file_name": "tfc_gourmet-1.4.2.jar", "mc_versions": [ "1.20.1" ], @@ -12938,19 +12917,40 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7538/795/tfc_gurman-1.4.1.jar", - "id": "7538795", + "url": "https://edge.forgecdn.net/files/7564/444/tfc_gourmet-1.4.2.jar", + "id": "7564444", "parent_id": "1363944", "hashes": { - "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a", - "md5": "d5734cf9b727fbb11b8025ceb26fe8aa" + "sha1": "d4c2f1eb89330129fdc1e4ee78f61f1130d83fe5", + "md5": "5e39aeac6e9a02f282140ef87c156de4" }, "required_dependencies": [ - "302973", - "453394" + "453394", + "302973" ], - "size": 520225, - "date_published": "2026-01-28T01:08:21.107Z" + "size": 521700, + "date_published": "2026-02-02T03:07:46.393Z" + }, + { + "type": "modrinth", + "file_name": "tfc_gurman-1.4.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/tMfASqPh/tfc_gurman-1.4.2.jar", + "id": "tMfASqPh", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "ac46e98199659c20c11c036ced30b7aaff012e702be7ef8d7cad06ad91db386969edd0d686ec2862682b7dab322d0c23c1f6c8ff8a35799bfd492c1589515450", + "sha1": "0f079c981e2610bf6462bad4bf171c831813cd5c" + }, + "required_dependencies": [], + "size": 519124, + "date_published": "2026-02-02T02:29:35.480162Z" } ] }, @@ -15261,7 +15261,7 @@ "files": [ { "type": "curseforge", - "file_name": "playerrevive_compat-1.0.1-1d0e244.jar", + "file_name": "playerrevive_compat-1.0.2-12c699b.jar", "mc_versions": [ "1.20.1" ], @@ -15269,18 +15269,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7528/776/playerrevive_compat-1.0.1-1d0e244.jar", - "id": "7528776", + "url": "https://edge.forgecdn.net/files/7564/958/playerrevive_compat-1.0.2-12c699b.jar", + "id": "7564958", "parent_id": "1440963", "hashes": { - "sha1": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563", - "md5": "7be622f95b711409c493da13c5c08772" + "sha1": "a0f05d85155560b743d6ffab61741e3da3803611", + "md5": "c1cb2f857a6fd0e71458637b25a33cbd" }, "required_dependencies": [ "266890" ], - "size": 198416, - "date_published": "2026-01-26T05:31:05.240Z" + "size": 198220, + "date_published": "2026-02-02T06:43:37.990Z" } ] }, From ff64df0d1d4c6590b6ac3ad4746b6278ed3f6355 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:16:00 +0000 Subject: [PATCH 134/157] langs, emi categories --- CHANGELOG.md | 28 +++++++++---------- .../category/properties/ae2_condenser.json | 2 +- .../properties/ae2_p2p_attunement.json | 2 +- .../category/properties/create_draining.json | 2 +- .../properties/create_spout_filling.json | 2 +- .../properties/createaddition_rolling.json | 2 +- .../properties/deafission_component_fr.json | 2 +- .../properties/deafission_component_hb.json | 2 +- .../deafission_fission_component.json | 2 +- .../deafission_fission_reactor_coolant.json | 2 +- .../deafission_fission_reactor_fuel.json | 2 +- ...deafission_fission_reactor_processing.json | 2 +- .../properties/deafission_hb_export.json | 1 + .../properties/deafission_hb_import.json | 1 + .../diggerhelmet_helmet_repair.json | 2 +- .../domum_ornamentum_architects_cutter.json | 2 +- .../emi/category/properties/emi_info.json | 2 +- .../emi/category/properties/emi_tag.json | 2 +- .../exposure_photograph_printing.json | 2 +- .../exposure_photograph_stacking.json | 2 +- .../properties/framedblocks_framing_saw.json | 2 +- .../properties/greate_automatic_packing.json | 2 +- .../properties/greate_automatic_shaped.json | 2 +- .../greate_automatic_shapeless.json | 2 +- .../properties/greate_block_cutting.json | 2 +- .../category/properties/greate_crushing.json | 2 +- .../properties/greate_fan_washing.json | 2 +- .../category/properties/greate_milling.json | 2 +- .../category/properties/greate_mixing.json | 2 +- .../category/properties/greate_pressing.json | 2 +- .../category/properties/greate_sawing.json | 2 +- .../properties/gtceu_air_scrubber.json | 2 +- .../properties/gtceu_alloy_blast_smelter.json | 2 +- .../properties/gtceu_alloy_smelter.json | 2 +- .../properties/gtceu_aqueous_accumulator.json | 2 +- .../properties/gtceu_arc_furnace.json | 2 +- .../gtceu_arc_furnace_recycling.json | 2 +- .../category/properties/gtceu_assembler.json | 2 +- .../properties/gtceu_assembly_line.json | 2 +- .../category/properties/gtceu_autoclave.json | 2 +- .../emi/category/properties/gtceu_bender.json | 2 +- .../category/properties/gtceu_bioreactor.json | 2 +- .../category/properties/gtceu_brewery.json | 2 +- .../emi/category/properties/gtceu_canner.json | 2 +- .../category/properties/gtceu_centrifuge.json | 2 +- .../category/properties/gtceu_chem_dyes.json | 2 +- .../properties/gtceu_chemical_bath.json | 2 +- .../properties/gtceu_chemical_reactor.json | 2 +- .../properties/gtceu_circuit_assembler.json | 2 +- .../gtceu_coal_liquefaction_tower.json | 2 +- .../category/properties/gtceu_compressor.json | 2 +- .../properties/gtceu_cooling_tower.json | 1 + .../category/properties/gtceu_cracker.json | 2 +- .../emi/category/properties/gtceu_cutter.json | 2 +- .../properties/gtceu_distillation_tower.json | 2 +- .../category/properties/gtceu_distillery.json | 2 +- .../gtceu_electric_blast_furnace.json | 2 +- .../properties/gtceu_electrolyzer.json | 2 +- .../gtceu_electromagnetic_separator.json | 2 +- .../properties/gtceu_evaporation_tower.json | 2 +- .../category/properties/gtceu_extractor.json | 2 +- .../properties/gtceu_extractor_recycling.json | 2 +- .../category/properties/gtceu_extruder.json | 2 +- .../category/properties/gtceu_fermenter.json | 2 +- .../properties/gtceu_fission_reactor.json | 2 +- .../properties/gtceu_fluid_heater.json | 2 +- .../properties/gtceu_fluid_solidifier.json | 2 +- .../properties/gtceu_forge_hammer.json | 2 +- .../properties/gtceu_forming_press.json | 2 +- .../properties/gtceu_fusion_reactor.json | 2 +- .../properties/gtceu_gas_collector.json | 2 +- .../properties/gtceu_gas_pressurizer.json | 2 +- .../category/properties/gtceu_greenhouse.json | 2 +- .../properties/gtceu_heat_exchanger.json | 2 +- .../gtceu_hydroponics_facility.json | 2 +- .../gtceu_implosion_compressor.json | 2 +- .../properties/gtceu_ingot_molding.json | 2 +- .../gtceu_large_chemical_reactor.json | 2 +- .../properties/gtceu_laser_engraver.json | 2 +- .../emi/category/properties/gtceu_lathe.json | 2 +- .../category/properties/gtceu_macerator.json | 2 +- .../properties/gtceu_macerator_recycling.json | 2 +- .../emi/category/properties/gtceu_mixer.json | 2 +- .../properties/gtceu_moon_dust_harvester.json | 2 +- .../gtceu_nuclear_fuel_factory.json | 2 +- .../properties/gtceu_ore_bathing.json | 2 +- .../properties/gtceu_ore_crushing.json | 2 +- .../properties/gtceu_ore_forging.json | 2 +- .../category/properties/gtceu_ore_washer.json | 2 +- .../properties/gtceu_ostrum_harvester.json | 2 +- .../gtceu_ostrum_linear_accelerator.json | 2 +- .../emi/category/properties/gtceu_packer.json | 2 +- .../gtceu_pisciculture_fishery.json | 2 +- .../properties/gtceu_plasma_generator.json | 2 +- .../category/properties/gtceu_polarizer.json | 2 +- .../properties/gtceu_programmed_circuit.json | 2 +- .../properties/gtceu_pyrolyse_oven.json | 2 +- .../properties/gtceu_research_station.json | 2 +- .../properties/gtceu_rock_breaker.json | 2 +- .../category/properties/gtceu_scanner.json | 2 +- .../emi/category/properties/gtceu_sifter.json | 2 +- .../properties/gtceu_smr_generator.json | 1 + .../properties/gtceu_steam_bloomery.json | 2 +- .../properties/gtceu_thermal_centrifuge.json | 2 +- .../properties/gtceu_vacuum_freezer.json | 2 +- .../properties/gtceu_wire_coating.json | 2 +- .../category/properties/gtceu_wiremill.json | 2 +- .../properties/minecraft_smelting.json | 2 +- .../properties/minecraft_smithing.json | 2 +- .../properties/minecraft_stonecutting.json | 2 +- .../properties/tacz_attachment_query.json | 2 +- .../properties/taczammoquery_ammo_query.json | 2 +- .../vintageimprovements_centrifugation.json | 2 +- .../vintageimprovements_coiling.json | 2 +- .../vintageimprovements_curving.json | 2 +- .../vintageimprovements_laser_cutting.json | 2 +- .../vintageimprovements_polishing.json | 2 +- .../vintageimprovements_pressurizing.json | 2 +- .../vintageimprovements_vacuumizing.json | 2 +- .../vintageimprovements_vibrating.json | 2 +- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfg/lang/en_us.json | 4 ++- 122 files changed, 137 insertions(+), 130 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_hb_export.json create mode 100644 kubejs/assets/emi/category/properties/deafission_hb_import.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_cooling_tower.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_smr_generator.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 58e90dca6..835fa9373 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,12 @@ - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie #### Energy Update -- Cetane Boosted Diesel duration is buffed by 30% -- Diesel duration is nerfed by 25% but can now be craftable at ULV +- Cetane Boosted Diesel's duration is buffed by 30% +- Diesel's duration is nerfed by 25%, but can now be crafted at ULV - Added distillation recipe to get fuel from oil with the Vacuum Chamber -- Lightfuel isn't a fuel anymore (make Diesel with it) -- High Octane Gasoline now requires IV Energy Hatch -- Add Small Fission Reactor, Small Turbine Generator and the Cooling Tower. You can now make power from Fission on Earth +- Light Fuel isn't a fuel anymore (make Diesel with it!) +- High Octane Gasoline now requires an IV Energy Hatch +- Add Small Fission Reactor, Small Turbine Generator, and the Cooling Tower. You can now make power from Fission on Earth! #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -32,15 +32,15 @@ - Polyethylene now requires an MV chemical reactor - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix #### EV changes -- Add Radon to EV Superconductor so they are gated behind the Uranium Reactor -- Active Energy Transformer and Normal Laser Pipe moved to EV behind the Uranium Reactor -- Change to Refrigerant Pellet, you now need the Terrafirmaguard PA6 to run Plutonium Rod -- Adding the Heat Battery a new multiblock storing heat from your fission coolant -- Rework of the Ostrum Linear Accelerator: it can now be expanded in height, requires heat from a Heat Battery to run and used for many new resources -- Every Fission Reactors now output a depleted rod that you have to process to get the product from fission -- The depleted rod now has an average heat depending of the temperature of the fission reactor while it was in it. Everytime the reactor goes in cooldown it adds 10 000 heat to your rod -- RTM Coils were modified to require resources from Mars (from the martian trees) and Rockwool -- Nuclear Turbine will now stop without the structure breaking if there is blocks under it or inside the chimney +- Added Radon to EV Superconductor so they are gated behind the Uranium Reactor +- Active Energy Transformer and Normal Laser Pipe are moved to EV behind the Uranium Reactor +- Change to Refrigerant Pellet, you now need the TerraFirmaGuard PA6 to run your first Plutonium Rods +- Added the Heat Battery - a new multiblock that stores heat from your fission coolant +- Rework of the Ostrum Linear Accelerator - it can now be expanded in height, requires heat from a Heat Battery to run and used for many new resources +- Every Fission Reactor recipe now outputs a depleted rod that you have to process to get the product from fission +- The depleted rod now has an average heat depending on the temperature of the fission reactor while it was in it. Every time the reactor goes on cooldown, it adds 10,000 heat to your rod +- RTM Coils were modified to require resources from Mars (from the martian trees) and Rockwool, but now you don't need them as early in EV +- Blocks (such as sand piles) in the Nuclear Turbine's chimney or turbine area will now just stop it from working instead of unforming the multiblock #### IV changes - Multi-Layer Insulated Shielding is now required for HSS-G coils. #### Electric Greenhouse changes diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 3c6f19748..2a88e6aa9 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":160}} \ No newline at end of file +{"ae2:condenser":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index 0adebe4fe..f2f488c61 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":172}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index 9d95ee42b..a68239477 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":175}} \ No newline at end of file +{"create:draining":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 990983baa..76a64a02a 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":176}} \ No newline at end of file +{"create:spout_filling":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index 8c84042d2..701dd43df 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":83}} \ No newline at end of file +{"createaddition:rolling":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_fr.json b/kubejs/assets/emi/category/properties/deafission_component_fr.json index 875234609..241c80cc6 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_fr.json +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -1 +1 @@ -{"deafission:component_fr":{"order":72}} \ No newline at end of file +{"deafission:component_fr":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_hb.json b/kubejs/assets/emi/category/properties/deafission_component_hb.json index 3c97bda2e..26c6710ab 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_hb.json +++ b/kubejs/assets/emi/category/properties/deafission_component_hb.json @@ -1 +1 @@ -{"deafission:component_hb":{"order":73}} \ No newline at end of file +{"deafission:component_hb":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_component.json b/kubejs/assets/emi/category/properties/deafission_fission_component.json index 5784c5d53..a10af10af 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_component.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_component.json @@ -1 +1 @@ -{"deafission:fission_component":{"order":71}} \ No newline at end of file +{"deafission:fission_component":{"order":72}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json index 6c6afed67..07145076d 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json @@ -1 +1 @@ -{"deafission:fission_reactor_coolant":{"order":68}} \ No newline at end of file +{"deafission:fission_reactor_coolant":{"order":69}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json index 504f42e25..0cbac9942 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json @@ -1 +1 @@ -{"deafission:fission_reactor_fuel":{"order":70}} \ No newline at end of file +{"deafission:fission_reactor_fuel":{"order":71}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json index 1d7899a11..91ecf310f 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json @@ -1 +1 @@ -{"deafission:fission_reactor_processing":{"order":69}} \ No newline at end of file +{"deafission:fission_reactor_processing":{"order":70}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_export.json b/kubejs/assets/emi/category/properties/deafission_hb_export.json new file mode 100644 index 000000000..bfbb533f0 --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_hb_export.json @@ -0,0 +1 @@ +{"deafission:hb_export":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_import.json b/kubejs/assets/emi/category/properties/deafission_hb_import.json new file mode 100644 index 000000000..bbccd21d3 --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_hb_import.json @@ -0,0 +1 @@ +{"deafission:hb_import":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index 12f0df49a..beeabcd62 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":167}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index c3e34b0d4..c9b814f2e 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":171}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index 3db09b20a..a91984d00 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":181}} \ No newline at end of file +{"emi:info":{"order":185}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index 8951f2570..0d21b766a 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":182}} \ No newline at end of file +{"emi:tag":{"order":186}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index a3cb78b5c..cf4a0fb5e 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":165}} \ No newline at end of file +{"exposure:photograph_printing":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index 2675d757b..cb039cc1e 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":166}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index 14d32f01c..8e82debe5 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":170}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index b791e2c34..eabbb0b7d 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":179}} \ No newline at end of file +{"greate:automatic_packing":{"order":183}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index 28fd48ddc..616a8e54a 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":177}} \ No newline at end of file +{"greate:automatic_shaped":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index cb810aba0..3cf6ecbb8 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":178}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":182}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index b34f02651..fd3bf6618 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":169}} \ No newline at end of file +{"greate:block_cutting":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 1687d189d..3a574ff33 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":121}} \ No newline at end of file +{"greate:crushing":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 8a33b662f..8883f8376 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":127}} \ No newline at end of file +{"greate:fan_washing":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 904d7b9cc..78992a198 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":120}} \ No newline at end of file +{"greate:milling":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index 39a4fe80c..d3e607380 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":125}} \ No newline at end of file +{"greate:mixing":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 660491ff4..1d16a8f28 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":110}} \ No newline at end of file +{"greate:pressing":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index b3637406e..11b327ba2 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":97}} \ No newline at end of file +{"greate:sawing":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index 5b3fc2de4..ef25348e0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":76}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index cc3d08990..8fdc5624b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":137}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index f5fb46b95..128213141 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":77}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index 567ddbcab..8a11bcfb8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":79}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index de6efb553..7dbfb0a91 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":80}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index ed5d63c9b..f6a2a9514 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":161}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index b4ee6926b..900e31bc2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":81}} \ No newline at end of file +{"gtceu:assembler":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index b62e991ea..1977efa4e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":138}} \ No newline at end of file +{"gtceu:assembly_line":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index d58a46ca0..77de45bc4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":82}} \ No newline at end of file +{"gtceu:autoclave":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index a4dd6da29..89a87002f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":85}} \ No newline at end of file +{"gtceu:bender":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index 31b7b2658..1568b9c72 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":139}} \ No newline at end of file +{"gtceu:bioreactor":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index 832ad3782..fa782ae3a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":86}} \ No newline at end of file +{"gtceu:brewery":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index d1d7856a2..2b3c6695a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":87}} \ No newline at end of file +{"gtceu:canner":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index 23326661f..8b9920a82 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":89}} \ No newline at end of file +{"gtceu:centrifuge":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index cb71aa041..13c56fd39 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":91}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 35da3689b..1d5d87c8a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":90}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index b43a3b8ad..d7ad7a4e7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":93}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 64bb8f009..15297e519 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":95}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 08d3d80fd..558681cc0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":140}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index 1e028d533..26300f3a0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":96}} \ No newline at end of file +{"gtceu:compressor":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cooling_tower.json b/kubejs/assets/emi/category/properties/gtceu_cooling_tower.json new file mode 100644 index 000000000..f7a0895eb --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_cooling_tower.json @@ -0,0 +1 @@ +{"gtceu:cooling_tower":{"order":68}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index 8cc086257..9f0e04d1f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":141}} \ No newline at end of file +{"gtceu:cracker":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index 02383736f..3a3b05441 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":98}} \ No newline at end of file +{"gtceu:cutter":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index 1d99295bc..6148bcd24 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":100}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index a0f789349..eeebfbb7d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":99}} \ No newline at end of file +{"gtceu:distillery":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index 89f4dc1aa..272066ae2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":142}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index af9021d58..d54519044 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":101}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index 1633122d8..bac9ee3ae 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":102}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 432b22df2..822775ed1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":143}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index 9e2143626..561cd7cd5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":104}} \ No newline at end of file +{"gtceu:extractor":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index af4723a94..10e45e705 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":163}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index cad13dc1c..07b29a3f0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":106}} \ No newline at end of file +{"gtceu:extruder":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index f72f39ca2..989bb719b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":107}} \ No newline at end of file +{"gtceu:fermenter":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 6b2d77d20..66c32ca1f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":144}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index 6b45f3ae9..e96eb8e6e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":108}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index 8cb246b5f..078e47ab8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":109}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index c8470f99c..537d43377 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":111}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index 5e78677dc..d8476321e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":113}} \ No newline at end of file +{"gtceu:forming_press":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 0feb3fbad..8f428bf21 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":145}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index 92914839a..84a70e8fd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":114}} \ No newline at end of file +{"gtceu:gas_collector":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index 49a2d7d46..0d9a15d1e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":115}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index 68408b958..da1b296a9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":146}} \ No newline at end of file +{"gtceu:greenhouse":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 573b71507..3007de5e5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":147}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index 3356a2c95..8e8257483 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":148}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 703c8ce4d..2e2308480 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":149}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index f4efc2728..95118caa1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":78}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index 40797e778..a21eec930 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":94}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 116f91b70..914996c58 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":117}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index 6e35a108d..ccd0df6cd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":119}} \ No newline at end of file +{"gtceu:lathe":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 4441df932..6d351fe92 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":122}} \ No newline at end of file +{"gtceu:macerator":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index 59cf7d209..215f78308 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":162}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index 68776609e..3603ad076 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":124}} \ No newline at end of file +{"gtceu:mixer":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 49f445263..2da9c870b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":150}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 449ee0844..26f6f0670 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":151}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index aab36afb1..99a9a0a3d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":92}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index 63e5ada41..6ef5fae3d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":123}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index c18dc52b5..ae254eccd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":112}} \ No newline at end of file +{"gtceu:ore_forging":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 95d8c9ac6..347c3be04 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":126}} \ No newline at end of file +{"gtceu:ore_washer":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index 0aec181bf..a5924c92b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":152}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index 959d8f07f..e1edd7b39 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":153}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 286479fa4..315b0880b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":128}} \ No newline at end of file +{"gtceu:packer":{"order":132}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index 23e4660fa..b2ea831dc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":154}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index dbbbf810b..196d893a6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":74}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index bbcbcae74..aec4ea41c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":129}} \ No newline at end of file +{"gtceu:polarizer":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index ff8bdb18c..4e90c640e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":180}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":184}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index 980dc4022..a4284417e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":155}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index fd0c82d6c..f494fc8c0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":156}} \ No newline at end of file +{"gtceu:research_station":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index 509ae0ecd..9a6b621bb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":130}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index c950dea46..94f1af547 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":131}} \ No newline at end of file +{"gtceu:scanner":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index eafae1c58..4024d327c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":133}} \ No newline at end of file +{"gtceu:sifter":{"order":137}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_smr_generator.json b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json new file mode 100644 index 000000000..591509c17 --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json @@ -0,0 +1 @@ +{"gtceu:smr_generator":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index be7eea57f..f73a0a4e2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":157}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index 43b1beec0..d3849f903 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":134}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 4cd1bfbf0..0b3a4149a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":158}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index e29d232d3..f795f97d2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":159}} \ No newline at end of file +{"gtceu:wire_coating":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index 2108ef64d..d34145767 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":136}} \ No newline at end of file +{"gtceu:wiremill":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index 134ba08c3..e6b101d1e 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":75}} \ No newline at end of file +{"minecraft:smelting":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 333764a49..7709d9312 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":164}} \ No newline at end of file +{"minecraft:smithing":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index 17ba3a220..ac5db94a5 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":168}} \ No newline at end of file +{"minecraft:stonecutting":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 567b7a739..94f3a1348 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":173}} \ No newline at end of file +{"tacz:attachment_query":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index 0d9de90af..4e2b7d13d 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":174}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index a2fbc0494..d056a8f63 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":88}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 6dcfa2369..037bc40b9 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":135}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index 38067fe07..72c055815 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":105}} \ No newline at end of file +{"vintageimprovements:curving":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index ce8da854e..874a16190 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":116}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index 1c1632b67..a427bf712 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":118}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index 883d4cb5b..cc052b686 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":84}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index d6209b715..fa19cea38 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":103}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 4c10887a4..3c06151d8 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":132}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 874fff8fe..944201e48 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -199,6 +199,7 @@ "gtceu.gas_pressurizer": "Gas Pressurizer", "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", "gtceu.nuclear_turbine": "Nuclear Steam Turbine", + "gtceu.cooling_tower": "Nuclear Cooling Tower", "gtceu.heat_exchanger": "Heat Exchanger", "gtceu.fission_reactor": "Fission Reactor", "gtceu.evaporation_tower": "Evaporation Tower", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index b0e3e3b7d..711918258 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1157,6 +1157,7 @@ "item.tfg.californium_252_rod": "Californium Fuel Rod", "item.tfg.depleted_californium_252_rod": "Depleted Californium Fuel Rod", "item.tfg.refrigerant_pellet": "Refrigerant Pellet", + "item.tfg.terrafirmaguard_pa6": "TerraFirmaGuard PA6", "item.tfg.graphite_compound": "Graphite Compound", "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", "item.tfg.faulty_graphite_briquette": "Faulty Graphite Briquette", @@ -1834,6 +1835,7 @@ "tfg.gui.cycle_duration": "Cycle duration: ", "tfg.emi.bacon_requirement": "Bacon - The Raw Pork must be smoked first", "tag.item.tfg.dried_fruit": "Dried Fruit", + "tfg.clientmessage.spatialioblocked.claimedchunks": "Spatial IO blocked: Region contains chunks claimed by another team", "tfg.nuclear.average_heat.text": "Heat: From %s to %s", "tfg.nuclear.skip": "", "tfg.machine.aux_exchanger.heat.title": "=== Heat Information ===", @@ -2571,7 +2573,7 @@ "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft a &cThorium-Uranium Breeder Fuel Rod&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", "quests.extreme_voltage.ostrum_vapor.title": "Ostrum Vapor", "quests.extreme_voltage.ostrum_vapor.subtitle": "We really need to chill", - "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerrafirmaguard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", + "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerraFirmaGuard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", "quests.extreme_voltage.light_ostrum_vapor.title": "Lightweight Ostrum Vapor", "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Infinite ores?", "quests.extreme_voltage.light_ostrum_vapor.desc": "With the help of &6Lightweight Ostrum Vapor&r, you can begin producing infinite ores, especially those required for the &cFission Line&r. There are three tiers of infinite ores:\n\n&eCircuit 1&r is not self-sufficient but can still be helpful if you are truly tired of mining.\n\n&eCircuit 2&r is &dThorium&r positive, meaning that simply by running your &cFission Line&r, you will produce more &dThorium&r than you consume.\n\n&eCircuit 3&r is the final and best tier, where you generate more resources than are required to produce the ores themselves; you become net positive in &dThorium&r and &aUraninite&r, allowing you to fully automate the &cFission Line&r on &4Mars&r for infinite resources, &bNano CPU&r, and everything needed to run &eFission Energy&r on &2Earth&r.", From 3c6b79adc9bcab6dec6bc67e29c377df19017642 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:23:37 +0000 Subject: [PATCH 135/157] fix wrong gurman tags --- .../server_scripts/tfg/food/recipes.food.js | 2 +- kubejs/startup_scripts/tfg/items.js | 68 +++++++++---------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 74c76a144..66b716e11 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1180,7 +1180,7 @@ function registerTFGFoodRecipes(event) { .duration(60) .EUt(16) - event.shaped('4x tfc:powder/salt', ['A', 'B'], {A: '#forge:dusts/salt', B: '#forge:tools/mortars'}) + event.shapeless('4x tfc:powder/salt', ['#forge:dusts/salt', '#forge:tools/mortars']) .id(`tfg:mortar/salt`) //#endregion diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index fbcfcff39..d8f3d71a1 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -80,19 +80,19 @@ const registerTFGItems = (event) => { event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated') // Thanks gurman - event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ramen_with_bacon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ramen_with_beef').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); @@ -107,15 +107,15 @@ const registerTFGItems = (event) => { event.create('tfc_gurman:pasta_with_adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:zama').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:mamaliga').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ox_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:sheep_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:alpaca_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:fried_rice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:curry').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); @@ -126,53 +126,53 @@ const registerTFGItems = (event) => { event.create('tfc_gurman:dolma').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:goulash').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:risotto').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:sauerkraut').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:borscht').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:schi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:solyanka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:okroshka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:spaghetti_bolognese').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pasta_carbonara').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:tiramisu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ratatouille').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:bouillabaisse').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:kimchi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:biryani').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:fresh_onion_soup_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); From b5bbce607caf74d3f124f9058f65396c4152a2f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:25:42 +0000 Subject: [PATCH 136/157] emi again --- kubejs/assets/emi/category/properties/ae2_condenser.json | 2 +- kubejs/assets/emi/category/properties/ae2_p2p_attunement.json | 2 +- kubejs/assets/emi/category/properties/create_draining.json | 2 +- kubejs/assets/emi/category/properties/create_spout_filling.json | 2 +- .../assets/emi/category/properties/createaddition_rolling.json | 2 +- .../assets/emi/category/properties/deafission_component_fr.json | 2 +- .../assets/emi/category/properties/deafission_component_hb.json | 2 +- .../properties/deafission_fission_reactor_coolant_smr.json | 1 + kubejs/assets/emi/category/properties/deafission_hb_export.json | 2 +- kubejs/assets/emi/category/properties/deafission_hb_import.json | 2 +- .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../category/properties/domum_ornamentum_architects_cutter.json | 2 +- kubejs/assets/emi/category/properties/emi_info.json | 2 +- kubejs/assets/emi/category/properties/emi_tag.json | 2 +- .../emi/category/properties/exposure_photograph_printing.json | 2 +- .../emi/category/properties/exposure_photograph_stacking.json | 2 +- .../emi/category/properties/framedblocks_framing_saw.json | 2 +- .../emi/category/properties/greate_automatic_packing.json | 2 +- .../assets/emi/category/properties/greate_automatic_shaped.json | 2 +- .../emi/category/properties/greate_automatic_shapeless.json | 2 +- kubejs/assets/emi/category/properties/greate_block_cutting.json | 2 +- kubejs/assets/emi/category/properties/greate_crushing.json | 2 +- kubejs/assets/emi/category/properties/greate_fan_washing.json | 2 +- kubejs/assets/emi/category/properties/greate_milling.json | 2 +- kubejs/assets/emi/category/properties/greate_mixing.json | 2 +- kubejs/assets/emi/category/properties/greate_pressing.json | 2 +- kubejs/assets/emi/category/properties/greate_sawing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_air_scrubber.json | 2 +- .../emi/category/properties/gtceu_alloy_blast_smelter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json | 2 +- .../emi/category/properties/gtceu_aqueous_accumulator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_arc_furnace.json | 2 +- .../emi/category/properties/gtceu_arc_furnace_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembler.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembly_line.json | 2 +- kubejs/assets/emi/category/properties/gtceu_autoclave.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bender.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bioreactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_brewery.json | 2 +- kubejs/assets/emi/category/properties/gtceu_canner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chem_dyes.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chemical_bath.json | 2 +- .../assets/emi/category/properties/gtceu_chemical_reactor.json | 2 +- .../assets/emi/category/properties/gtceu_circuit_assembler.json | 2 +- .../emi/category/properties/gtceu_coal_liquefaction_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cracker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cutter.json | 2 +- .../emi/category/properties/gtceu_distillation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_distillery.json | 2 +- .../emi/category/properties/gtceu_electric_blast_furnace.json | 2 +- kubejs/assets/emi/category/properties/gtceu_electrolyzer.json | 2 +- .../category/properties/gtceu_electromagnetic_separator.json | 2 +- .../assets/emi/category/properties/gtceu_evaporation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extractor.json | 2 +- .../emi/category/properties/gtceu_extractor_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extruder.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fermenter.json | 2 +- .../assets/emi/category/properties/gtceu_fission_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fluid_heater.json | 2 +- .../assets/emi/category/properties/gtceu_fluid_solidifier.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forge_hammer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forming_press.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_gas_collector.json | 2 +- .../assets/emi/category/properties/gtceu_gas_pressurizer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_greenhouse.json | 2 +- kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json | 2 +- .../emi/category/properties/gtceu_hydroponics_facility.json | 2 +- .../emi/category/properties/gtceu_implosion_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ingot_molding.json | 2 +- .../emi/category/properties/gtceu_large_chemical_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_laser_engraver.json | 2 +- kubejs/assets/emi/category/properties/gtceu_lathe.json | 2 +- kubejs/assets/emi/category/properties/gtceu_macerator.json | 2 +- .../emi/category/properties/gtceu_macerator_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_mixer.json | 2 +- .../emi/category/properties/gtceu_moon_dust_harvester.json | 2 +- .../emi/category/properties/gtceu_nuclear_fuel_factory.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_bathing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_crushing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_forging.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_washer.json | 2 +- .../assets/emi/category/properties/gtceu_ostrum_harvester.json | 2 +- .../category/properties/gtceu_ostrum_linear_accelerator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_packer.json | 2 +- .../emi/category/properties/gtceu_pisciculture_fishery.json | 2 +- .../assets/emi/category/properties/gtceu_plasma_generator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_polarizer.json | 2 +- .../emi/category/properties/gtceu_programmed_circuit.json | 2 +- kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json | 2 +- .../assets/emi/category/properties/gtceu_research_station.json | 2 +- kubejs/assets/emi/category/properties/gtceu_rock_breaker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_scanner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_sifter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_smr_generator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json | 2 +- .../emi/category/properties/gtceu_thermal_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wire_coating.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wiremill.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smelting.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smithing.json | 2 +- .../assets/emi/category/properties/minecraft_stonecutting.json | 2 +- .../assets/emi/category/properties/tacz_attachment_query.json | 2 +- .../emi/category/properties/taczammoquery_ammo_query.json | 2 +- .../category/properties/vintageimprovements_centrifugation.json | 2 +- .../emi/category/properties/vintageimprovements_coiling.json | 2 +- .../emi/category/properties/vintageimprovements_curving.json | 2 +- .../category/properties/vintageimprovements_laser_cutting.json | 2 +- .../emi/category/properties/vintageimprovements_polishing.json | 2 +- .../category/properties/vintageimprovements_pressurizing.json | 2 +- .../category/properties/vintageimprovements_vacuumizing.json | 2 +- .../emi/category/properties/vintageimprovements_vibrating.json | 2 +- 115 files changed, 115 insertions(+), 114 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 2a88e6aa9..6d793d7a9 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":164}} \ No newline at end of file +{"ae2:condenser":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index f2f488c61..144701206 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":176}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index a68239477..57751beb1 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":179}} \ No newline at end of file +{"create:draining":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 76a64a02a..a1245f2ca 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":180}} \ No newline at end of file +{"create:spout_filling":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index 701dd43df..a6981b0d3 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":87}} \ No newline at end of file +{"createaddition:rolling":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_fr.json b/kubejs/assets/emi/category/properties/deafission_component_fr.json index 241c80cc6..a31c0142e 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_fr.json +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -1 +1 @@ -{"deafission:component_fr":{"order":74}} \ No newline at end of file +{"deafission:component_fr":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_hb.json b/kubejs/assets/emi/category/properties/deafission_component_hb.json index 26c6710ab..6fe0382cc 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_hb.json +++ b/kubejs/assets/emi/category/properties/deafission_component_hb.json @@ -1 +1 @@ -{"deafission:component_hb":{"order":75}} \ No newline at end of file +{"deafission:component_hb":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json new file mode 100644 index 000000000..8a055828e --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json @@ -0,0 +1 @@ +{"deafission:fission_reactor_coolant_smr":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_export.json b/kubejs/assets/emi/category/properties/deafission_hb_export.json index bfbb533f0..4f0921b66 100644 --- a/kubejs/assets/emi/category/properties/deafission_hb_export.json +++ b/kubejs/assets/emi/category/properties/deafission_hb_export.json @@ -1 +1 @@ -{"deafission:hb_export":{"order":77}} \ No newline at end of file +{"deafission:hb_export":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_import.json b/kubejs/assets/emi/category/properties/deafission_hb_import.json index bbccd21d3..ce94329b8 100644 --- a/kubejs/assets/emi/category/properties/deafission_hb_import.json +++ b/kubejs/assets/emi/category/properties/deafission_hb_import.json @@ -1 +1 @@ -{"deafission:hb_import":{"order":76}} \ No newline at end of file +{"deafission:hb_import":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index beeabcd62..1b882038b 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":171}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index c9b814f2e..07efe08f4 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":175}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index a91984d00..3416b5a87 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":185}} \ No newline at end of file +{"emi:info":{"order":186}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index 0d21b766a..08545f84c 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":186}} \ No newline at end of file +{"emi:tag":{"order":187}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index cf4a0fb5e..8ffd17bc0 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":169}} \ No newline at end of file +{"exposure:photograph_printing":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index cb039cc1e..ff12d914c 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":170}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index 8e82debe5..3b7a0b11e 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":174}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index eabbb0b7d..0d39e8a77 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":183}} \ No newline at end of file +{"greate:automatic_packing":{"order":184}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index 616a8e54a..0837dfed8 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":181}} \ No newline at end of file +{"greate:automatic_shaped":{"order":182}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 3cf6ecbb8..bf0202360 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":182}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":183}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index fd3bf6618..a169ad942 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":173}} \ No newline at end of file +{"greate:block_cutting":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 3a574ff33..bf8a5f071 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":125}} \ No newline at end of file +{"greate:crushing":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 8883f8376..666937c38 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":131}} \ No newline at end of file +{"greate:fan_washing":{"order":132}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 78992a198..1f125ce31 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":124}} \ No newline at end of file +{"greate:milling":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index d3e607380..ca5f932ac 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":129}} \ No newline at end of file +{"greate:mixing":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 1d16a8f28..4508b0399 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":114}} \ No newline at end of file +{"greate:pressing":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index 11b327ba2..3c7f64bf2 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":101}} \ No newline at end of file +{"greate:sawing":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index ef25348e0..10abeaa89 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":80}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index 8fdc5624b..15bd8683a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":141}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index 128213141..463b0b972 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":81}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index 8a11bcfb8..25dd363dc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":83}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index 7dbfb0a91..b472adc38 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":84}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index f6a2a9514..997b4841c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":165}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index 900e31bc2..d8025a7bd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":85}} \ No newline at end of file +{"gtceu:assembler":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index 1977efa4e..280a75cd6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":142}} \ No newline at end of file +{"gtceu:assembly_line":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index 77de45bc4..4e80ee6b5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":86}} \ No newline at end of file +{"gtceu:autoclave":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index 89a87002f..8b572933d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":89}} \ No newline at end of file +{"gtceu:bender":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index 1568b9c72..53579c632 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":143}} \ No newline at end of file +{"gtceu:bioreactor":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index fa782ae3a..ab2cc4e21 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":90}} \ No newline at end of file +{"gtceu:brewery":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index 2b3c6695a..144df42ea 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":91}} \ No newline at end of file +{"gtceu:canner":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index 8b9920a82..702ec374e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":93}} \ No newline at end of file +{"gtceu:centrifuge":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index 13c56fd39..6f6192cbd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":95}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 1d5d87c8a..fe711cc74 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":94}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index d7ad7a4e7..55b471812 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":97}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 15297e519..70c07ce3b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":99}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 558681cc0..57eadfa61 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":144}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index 26300f3a0..939dd6cc7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":100}} \ No newline at end of file +{"gtceu:compressor":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index 9f0e04d1f..ad6b1e88e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":145}} \ No newline at end of file +{"gtceu:cracker":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index 3a3b05441..2cd4c8d25 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":102}} \ No newline at end of file +{"gtceu:cutter":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index 6148bcd24..678dd900a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":104}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index eeebfbb7d..b2cc1385d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":103}} \ No newline at end of file +{"gtceu:distillery":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index 272066ae2..ca5c2f3a9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":146}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index d54519044..bdc026e07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":105}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index bac9ee3ae..d0395585b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":106}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 822775ed1..489f2125d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":147}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index 561cd7cd5..e4cd3af52 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":108}} \ No newline at end of file +{"gtceu:extractor":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 10e45e705..108124baa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":167}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index 07b29a3f0..d6a9cc44f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":110}} \ No newline at end of file +{"gtceu:extruder":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index 989bb719b..eeb25baed 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":111}} \ No newline at end of file +{"gtceu:fermenter":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 66c32ca1f..2e30a0629 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":148}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index e96eb8e6e..9e2f560c6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":112}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index 078e47ab8..1c1aa3f61 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":113}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index 537d43377..0960dd3eb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":115}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index d8476321e..7bef3bd74 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":117}} \ No newline at end of file +{"gtceu:forming_press":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 8f428bf21..01440a9e9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":149}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index 84a70e8fd..dba3edbe9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":118}} \ No newline at end of file +{"gtceu:gas_collector":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index 0d9a15d1e..b838b4b30 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":119}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index da1b296a9..6886aa56e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":150}} \ No newline at end of file +{"gtceu:greenhouse":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 3007de5e5..09c6ddca7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":151}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index 8e8257483..b44431281 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":152}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 2e2308480..2882e3981 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":153}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index 95118caa1..823e59c0f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":82}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index a21eec930..73b5dbb07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":98}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 914996c58..52c58b778 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":121}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index ccd0df6cd..0d1a89e1d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":123}} \ No newline at end of file +{"gtceu:lathe":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 6d351fe92..2640912fa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":126}} \ No newline at end of file +{"gtceu:macerator":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index 215f78308..ea2f4ad33 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":166}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index 3603ad076..93b8ba65d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":128}} \ No newline at end of file +{"gtceu:mixer":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 2da9c870b..32bac591a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":154}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 26f6f0670..c7941f299 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":155}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index 99a9a0a3d..5c8b84f03 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":96}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index 6ef5fae3d..36f32ddf0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":127}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index ae254eccd..d90685f88 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":116}} \ No newline at end of file +{"gtceu:ore_forging":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 347c3be04..2b7d07bdb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":130}} \ No newline at end of file +{"gtceu:ore_washer":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index a5924c92b..a4dc65f70 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":156}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index e1edd7b39..d124449e2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":157}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 315b0880b..91c970477 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":132}} \ No newline at end of file +{"gtceu:packer":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index b2ea831dc..e8a144719 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":158}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index 196d893a6..f366e419d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":78}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index aec4ea41c..77b36c91b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":133}} \ No newline at end of file +{"gtceu:polarizer":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index 4e90c640e..2cef461f4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":184}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":185}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index a4284417e..3eca5299f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":159}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index f494fc8c0..d4fc0e341 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":160}} \ No newline at end of file +{"gtceu:research_station":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index 9a6b621bb..07966e920 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":134}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index 94f1af547..b789a642e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":135}} \ No newline at end of file +{"gtceu:scanner":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index 4024d327c..e873e76cb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":137}} \ No newline at end of file +{"gtceu:sifter":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_smr_generator.json b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json index 591509c17..657500dbe 100644 --- a/kubejs/assets/emi/category/properties/gtceu_smr_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json @@ -1 +1 @@ -{"gtceu:smr_generator":{"order":73}} \ No newline at end of file +{"gtceu:smr_generator":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index f73a0a4e2..b69c5987d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":161}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index d3849f903..8aae086a1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":138}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 0b3a4149a..4bd686e53 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":162}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index f795f97d2..7a782ed2a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":163}} \ No newline at end of file +{"gtceu:wire_coating":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index d34145767..f9c899e7d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":140}} \ No newline at end of file +{"gtceu:wiremill":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index e6b101d1e..bcafcd573 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":79}} \ No newline at end of file +{"minecraft:smelting":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 7709d9312..f72c12cbb 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":168}} \ No newline at end of file +{"minecraft:smithing":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index ac5db94a5..ac498007e 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":172}} \ No newline at end of file +{"minecraft:stonecutting":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 94f3a1348..88f3ccee4 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":177}} \ No newline at end of file +{"tacz:attachment_query":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index 4e2b7d13d..651aa5d75 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":178}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index d056a8f63..7370eed06 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":92}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 037bc40b9..c22ef4e2d 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":139}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index 72c055815..7aec9d5b3 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":109}} \ No newline at end of file +{"vintageimprovements:curving":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index 874a16190..bda0778a8 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":120}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index a427bf712..d71b6efb1 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":122}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index cc052b686..f4728f967 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":88}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index fa19cea38..4e919b6ad 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":107}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 3c06151d8..4c48b860d 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":136}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":137}} \ No newline at end of file From 96951a7b113f0b71ef9f8e81a54909871ef4cf26 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:46:57 +0000 Subject: [PATCH 137/157] fix some warnings --- .../block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta | 2 -- .../item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta | 2 -- 2 files changed, 4 deletions(-) diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta index 744a3d54c..efc92f29e 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta @@ -42,8 +42,6 @@ 37, 38, 39, - 40, - 39, 38, 37, 36, diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta b/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta index 6439dab8e..cfc989020 100644 --- a/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta +++ b/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta @@ -32,8 +32,6 @@ 27, 28, 29, - 30, - 29, 28, 27, 26, From b3f43feeb38d63a1eca29a6f5c513f13c3d1e186 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 16:34:11 +0000 Subject: [PATCH 138/157] figured out how to do emissives finally --- CHANGELOG.md | 1 + .../betterend/models/block/cave_pumpkin.json | 4 +- .../tfc/models/block/rock/magma/andesite.json | 7 ++ .../tfc/models/block/rock/magma/basalt.json | 7 ++ .../tfc/models/block/rock/magma/dacite.json | 7 ++ .../tfc/models/block/rock/magma/diorite.json | 7 ++ .../tfc/models/block/rock/magma/gabbro.json | 7 ++ .../tfc/models/block/rock/magma/granite.json | 7 ++ .../tfc/models/block/rock/magma/magma.json | 50 ++++++++++ .../tfc/models/block/rock/magma/rhyolite.json | 7 ++ .../assets/tfg/models/block/lunar_roots.json | 97 ++++++++++++++++++- 11 files changed, 199 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/tfc/models/block/rock/magma/andesite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/basalt.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/dacite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/diorite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/gabbro.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/granite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/magma.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/rhyolite.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 835fa9373..d91e5b91b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,7 @@ - Backpack void upgrades are now cheaper @Pyritie - All tools should now have TFC damage types (#2868) @Pyritie - Added recipes for advanced GTCEu Terminals @TomPlop +- TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/betterend/models/block/cave_pumpkin.json b/kubejs/assets/betterend/models/block/cave_pumpkin.json index a37a47661..05ba66f11 100644 --- a/kubejs/assets/betterend/models/block/cave_pumpkin.json +++ b/kubejs/assets/betterend/models/block/cave_pumpkin.json @@ -8,11 +8,13 @@ "top": "betterend:block/cave_pumpkin_top", "side": "betterend:block/cave_pumpkin_side" }, - "elements": [ + "elements": [ { "__comment": "Box1", "from": [ 1, 0, 1 ], "to": [ 15, 13, 15 ], + "forge_data": { "block_light": 15, "sky_light": 15 }, + "shade": false, "faces": { "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#lantern_bottom" }, "north": { "uv": [ 1, 3, 15, 16 ], "texture": "#lantern_side" }, diff --git a/kubejs/assets/tfc/models/block/rock/magma/andesite.json b/kubejs/assets/tfc/models/block/rock/magma/andesite.json new file mode 100644 index 000000000..11668294a --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/andesite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/andesite", + "particle": "tfc:block/rock/magma/andesite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/basalt.json b/kubejs/assets/tfc/models/block/rock/magma/basalt.json new file mode 100644 index 000000000..8a4654eb8 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/basalt.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/basalt", + "particle": "tfc:block/rock/magma/basalt" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/dacite.json b/kubejs/assets/tfc/models/block/rock/magma/dacite.json new file mode 100644 index 000000000..682d84608 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/dacite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/dacite", + "particle": "tfc:block/rock/magma/dacite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/diorite.json b/kubejs/assets/tfc/models/block/rock/magma/diorite.json new file mode 100644 index 000000000..7d100fee9 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/diorite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/diorite", + "particle": "tfc:block/rock/magma/diorite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/gabbro.json b/kubejs/assets/tfc/models/block/rock/magma/gabbro.json new file mode 100644 index 000000000..3f684ae32 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/gabbro.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/gabbro", + "particle": "tfc:block/rock/magma/gabbro" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/granite.json b/kubejs/assets/tfc/models/block/rock/magma/granite.json new file mode 100644 index 000000000..e7d1706f7 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/granite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/granite", + "particle": "tfc:block/rock/magma/granite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/magma.json b/kubejs/assets/tfc/models/block/rock/magma/magma.json new file mode 100644 index 000000000..9a3d09c75 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/magma.json @@ -0,0 +1,50 @@ +{ + "format_version": "1.9.0", + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "forge_data": { "block_light": 15, "sky_light": 15 }, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.625, 0.625, 0.625 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "fixed": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "thirdperson_righthand": { + "rotation": [ 75, 45, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 45, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.40, 0.40, 0.40 ] + }, + "firstperson_lefthand": { + "rotation": [ 0, 225, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.40, 0.40, 0.40 ] + } + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/rhyolite.json b/kubejs/assets/tfc/models/block/rock/magma/rhyolite.json new file mode 100644 index 000000000..f88af7a1a --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/rhyolite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/rhyolite", + "particle": "tfc:block/rock/magma/rhyolite" + } +} diff --git a/kubejs/assets/tfg/models/block/lunar_roots.json b/kubejs/assets/tfg/models/block/lunar_roots.json index cdb4e9ca0..dd0cf7f10 100644 --- a/kubejs/assets/tfg/models/block/lunar_roots.json +++ b/kubejs/assets/tfg/models/block/lunar_roots.json @@ -4,6 +4,101 @@ "ambientocclusion": "false", "textures": { "cross": "tfg:block/lunar_roots", + "emissive": "tfg:block/lunar_roots_e", "particle": "tfg:block/lunar_roots" - } + }, + "elements": [ + { + "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "faces": { + "north": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + }, + "south": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + } + } + }, + { + "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "faces": { + "west": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + }, + "east": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + } + } + }, + { + "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "forge_data": { + "block_light": 15, + "sky_light": 15 + }, + "faces": { + "north": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + }, + "south": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + } + } + }, + { + "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "forge_data": { + "block_light": 15, + "sky_light": 15 + }, + "faces": { + "west": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + }, + "east": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + } + } + } + ] } \ No newline at end of file From 2c9c5a2fd5a5d2d24c3437044dc3df6c6e9857d8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:21:54 +0000 Subject: [PATCH 139/157] adjust stray HP, add gurman notes to changelog --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/worldgen/events.entities.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d91e5b91b..c08d6e1dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie +- TFC Gurman changed its name and recipe IDs to TFC Gourmet. There will be conversion items, but not fluids, so drink all your lemonade and kvass before updating. #### Energy Update - Cetane Boosted Diesel's duration is buffed by 30% - Diesel's duration is nerfed by 25%, but can now be crafted at ULV diff --git a/kubejs/server_scripts/tfg/worldgen/events.entities.js b/kubejs/server_scripts/tfg/worldgen/events.entities.js index 8534d677a..fa3ef3c58 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.entities.js +++ b/kubejs/server_scripts/tfg/worldgen/events.entities.js @@ -10,6 +10,7 @@ const NEW_MOB_MAX_HP = { "endermanoverhaul:end_islands_enderman": 120, "endermanoverhaul:windswept_hills_enderman": 70, "endermanoverhaul:soulsand_valley_enderman": 80, + "minecraft:stray": 40, // mars mobs -- wan's ancient beasts has its own config for this (also includes sniffer) "endermanoverhaul:crimson_enderman": 60, From 928c7129aa729a888386e4dbc9904ed6943be00d Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 2 Feb 2026 12:32:49 -0500 Subject: [PATCH 140/157] Heat battery (#2955) * heat battery and tooltips * Add tooltip back * fix tooltip --- .../models/block/beryllium_sandy_frame.json | 7 +++ .../tfg/models/block/copper_sandy_frame.json | 7 +++ .../models/block/fission/beryllium_sandy.json | 6 +++ .../models/block/fission/copper_sandy.json | 6 +++ .../block/fission/beryllium_sandy.png | Bin 0 -> 433 bytes .../textures/block/fission/copper_sandy.png | Bin 0 -> 771 bytes kubejs/client_scripts/tooltips.js | 48 +++++++++++++++--- .../tfg/aquaponics/recipes.greenhouse.js | 2 +- .../tfg/aquaponics/recipes.pisciculture.js | 2 +- .../server_scripts/tfg/events.interactions.js | 6 +++ .../powergen/nuclear/recipes.components.js | 4 +- .../tfg/powergen/nuclear/recipes.nuclear.js | 22 +++++++- .../tfg/powergen/nuclear/tags.nuclear.js | 6 +-- .../tfg/nuclear/blocks.nuclear.js | 32 +++++++++++- 14 files changed, 132 insertions(+), 16 deletions(-) create mode 100644 kubejs/assets/tfg/models/block/beryllium_sandy_frame.json create mode 100644 kubejs/assets/tfg/models/block/copper_sandy_frame.json create mode 100644 kubejs/assets/tfg/models/block/fission/beryllium_sandy.json create mode 100644 kubejs/assets/tfg/models/block/fission/copper_sandy.json create mode 100644 kubejs/assets/tfg/textures/block/fission/beryllium_sandy.png create mode 100644 kubejs/assets/tfg/textures/block/fission/copper_sandy.png diff --git a/kubejs/assets/tfg/models/block/beryllium_sandy_frame.json b/kubejs/assets/tfg/models/block/beryllium_sandy_frame.json new file mode 100644 index 000000000..a3d8a6450 --- /dev/null +++ b/kubejs/assets/tfg/models/block/beryllium_sandy_frame.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/fission_component", + "textures": { + "infill": "tfg:block/fission/beryllium_sandy", + "frame": "tfg:block/empty_fission_frame" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/copper_sandy_frame.json b/kubejs/assets/tfg/models/block/copper_sandy_frame.json new file mode 100644 index 000000000..4606ec4e4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/copper_sandy_frame.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/fission_component", + "textures": { + "infill": "tfg:block/fission/copper_sandy", + "frame": "tfg:block/empty_fission_frame" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/fission/beryllium_sandy.json b/kubejs/assets/tfg/models/block/fission/beryllium_sandy.json new file mode 100644 index 000000000..2c30ff07e --- /dev/null +++ b/kubejs/assets/tfg/models/block/fission/beryllium_sandy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/fission/beryllium_sandy" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/fission/copper_sandy.json b/kubejs/assets/tfg/models/block/fission/copper_sandy.json new file mode 100644 index 000000000..fbbb7ade8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/fission/copper_sandy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/fission/copper_sandy" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fission/beryllium_sandy.png b/kubejs/assets/tfg/textures/block/fission/beryllium_sandy.png new file mode 100644 index 0000000000000000000000000000000000000000..9f21e0adfdfcfd258eee8de851ab925d7a6e7d20 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0XB4ude`@%$Aj z3=E9Po-U3d7QMZb?|U6K5NY49v-oy~m99wp1<{t+3f+6v4=4Zdv1`zOtleR*b&1P) zM$Qd~Sj8jVW`7r-dmGdGq(*)JpQ64GwfBSCr%ZA_Byo97JHx!^hW*KhK1ehua9oI5 zJcY?+Zr1F*I;TB0o1faWhRec&gK69K^*KKk{M;PQRqx8pE3UqCma(F$E>UCYn}eHE zj-1@-ztQN)YW=j6D}qFOXS#e9&Y$+;wt%K8bNFBV8?FMqJ8gC|Er^&oZ&hQp@dy1s z6YhUMCu7WTAjs5V^O@CV%19qQvEC}BxaHvwDiv4%O@0;Jelas{fxfH3td6K<$ zH){@mS>F4mqgNJ8ITUq!){Y$(Rvh!@gjrVJ3tTWIOZFbKxVQ6<9T_3~y@n}~VOyV{ z{UjbDsU{eF`9S5o&G&K)jw#gK-#+j8#52i<4A$&fG5biX^dhfqse5luSSFbo8O9p( n=zO7=lSy{=>@D{!>Y1x!e%E@w&+K4eU|{fc^>bP0l+XkK7jMAo literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fission/copper_sandy.png b/kubejs/assets/tfg/textures/block/fission/copper_sandy.png new file mode 100644 index 0000000000000000000000000000000000000000..4cbd215455667051297c4548076ed20bc417bf03 GIT binary patch literal 771 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q|Bo-U3d7QL#cJ&PZ^Ff?3TZ@$%ReW8(}@qq)376lL8KgqA06~gE#W4%$>`r0Mk ztydl$*lqvt-TyglhdTqlzpz<)d!NxZx!+&8ogaIw7e8UK*xpvDOGZ=u(b9$W{~ccQ z-2MOijD)Jsg?si2Lfn;&_vfFm%kMZZJGa7JZ@NK=LFS#u+Al;*S+<3=OB9oru{60nAo2!@X z<;j>`^y^!Xhw-d(|MJ2aUuA5)FC^Bts2u$F!T4@jJD0MG6IU_zQcjB@<(`+~cpVu|I3Lb7AGm4XIso zwj8??m%Qd+kLux-%QBT8J}P`Ky0G8IcCO`{^D~T=@6lQrpWWhV@LEQ5^OTo=9FxpT zl3jzpx2#&29d%6Lrd-y!smj_#Vcl~yoi@#wcz10A(@K{k>-HIRaJ{c;x!7~Bcx822 zzG&&=8E1>^VyAK}eX+}9(}|9K$Mc?@cr)Fe?>>-B9yDX~Y1Co@EHGWNVo2SvjGFkG?qK0!5_0lso zHe~m{yKfgzdFqDAkIm}3y21)7Pg0u#xURG1BnB2OiI}=%wtmZL;f;YAiYz^i@Aj%` zbNlhLe>&S$lqgxNz;W{Idwa)%8zD)PEf?MsTI$x%m??BL;Omp{;#>7`5q~S1XWAr7 z1ZE!klh-y)Hge^O{lC3@q!xwr95;8nzxeJxr~Zk*>W+WfZvE!1=~?9$996N4jJhWY zukztMD}47~N32N4A)^?pEquyn{~h^r{k)IbrTsD&qm { event.addAdvanced(['tfg:polycaprolactam_fabric'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.polycaprolactam')) }) + + //#region Multiblock Controler Tooltip + event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')); text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')); @@ -70,7 +73,8 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:ostrum_linear_accelerator'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_1')); text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_2')); - text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + text.add(3, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_3')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')); @@ -129,6 +133,31 @@ const registerTooltips = (event) => { text.add(3, Text.translate('tfg.tooltip.machine.parallel')); text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) + event.addAdvanced(['tfg:smr_generator'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.smt_1')); + text.add(2, Text.translate('tfg.tooltip.machine.smt_2')); + text.add(3, Text.translate('tfg.tooltip.machine.smt_3')); + }) + event.addAdvanced(['deafission:fission_reactor_mk1'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.fission_reactor_mk1_1')); + text.add(2, Text.translate('tfg.tooltip.machine.fission_reactor_mk1_2')); + }) + event.addAdvanced(['deafission:fission_reactor_smr1'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.small_fission_reactor_mk1_1')); + text.add(2, Text.translate('tfg.tooltip.machine.small_fission_reactor_mk1_2')); + }) + event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")); + text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2")); + }) + event.addAdvanced(['tfg:heat_battery_mk1'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.heat_battery_1')); + text.add(2, Text.translate('tfg.tooltip.machine.heat_battery_2')); + text.add(3, Text.translate('tfg.tooltip.machine.heat_battery_3')); + }) + + //#endregion + event.addAdvanced(['tfg:grow_light'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.grow_light_disapointment')); }) @@ -359,7 +388,7 @@ const registerTooltips = (event) => { text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "9")) }) - //Nuclear Fission Tooltips + //#region Nuclear Fission Tooltips event.addAdvanced(['minecraft:blue_ice'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.blue_ice")) }) @@ -384,11 +413,17 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:terrafirmaguard_pa6'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) }) - - event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { - text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")); - text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2")); + event.addAdvanced(['tfg:copper_sandy_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.sandy_copper_frame")) }) + event.addAdvanced(['tfg:beryllium_sandy_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.sandy_beryllium_frame")) + }) + event.addAdvanced(['tfg:uv_smr_fluid_import_hatch'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.machine.smr_fluid_import_hatch")) + }) + + //#endregion event.addAdvanced(['tfg:food/slice_of_cheese'], (item, advanced, text) => { if (!event.isShift()) { @@ -399,6 +434,7 @@ const registerTooltips = (event) => { }; }); + //#endregion // AE2 event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => { diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 23a86cb19..6e651e58b 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -76,7 +76,7 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip const canFertilize = resolvedFertilizer !== null; /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV */ - const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VHA[GTValues.LV]; /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index 667fb3953..e01d95179 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -58,7 +58,7 @@ const pisciculture_dimension_index = [ const resolvedFluidOut = dimMods?.fluid_out ?? 'tfg:nitrate_rich_water'; /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV EUt. */ - const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VHA[GTValues.LV]; /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js index a561f24f2..d6259c238 100644 --- a/kubejs/server_scripts/tfg/events.interactions.js +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -248,6 +248,12 @@ BlockEvents.rightClicked(event => { transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:impure_moderate_core_frame', 'tfg:impure_graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); transformBlockWithToolReturn(event, 'tfg:impure_moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:impure_graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:copper_sandy_frame', 'tfg:copper_sandy', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:copper_sandy_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:copper_sandy', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:beryllium_sandy_frame', 'tfg:beryllium_sandy', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:beryllium_sandy_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:beryllium_sandy', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + }); // Makes scythes, hoes, and knives take damage when cutting grass diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js index 5bee23fd5..bf81d06e7 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js @@ -36,8 +36,8 @@ function registerTFGNuclearComponentsRecipes(event) { //component("HEAT", "minecraft:bedrock", 1000); //componentThermal('THERMAL', '#forge:sand', 1000, 1); - componentThermal('THERMAL', 'tfg:impure_moderate_core_frame', 2000, 10); - componentThermal('THERMAL', 'tfg:moderate_core_frame', 4000, 10); + componentThermal('THERMAL', 'tfg:copper_sandy_frame', 1000, 10); + componentThermal('THERMAL', 'tfg:beryllium_sandy_frame', 2000, 10); //componentThermal('THERMAL', 'minecraft:bedrock', 9001, 10); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 28e2af5be..558ffbdbc 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -727,6 +727,26 @@ function registerTFGNuclearRecipes(event) { //#endregion + //#region Heat Battery Component + + event.recipes.gtceu.mixer('tfg:copper_sandy') + .itemInputs('1x #forge:sand') + .inputFluids(Fluid.of('gtceu:copper', 15984)) + //.inputFluids(Fluid.of('gtceu:silicon', 7992)) + .itemOutputs(Item.of('tfg:copper_sandy', 1)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*48) + + event.recipes.gtceu.mixer('tfg:beryllium_sandy') + .itemInputs('1x #forge:sand') + .inputFluids(Fluid.of('gtceu:beryllium', 15984)) + .inputFluids(Fluid.of('gtceu:silicon', 7992)) + .itemOutputs(Item.of('tfg:beryllium_sandy', 1)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*48) + + //#endregion + //#region Power Gen event.recipes.gtceu.nuclear_turbine('dense_steam') @@ -771,7 +791,7 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('tfg:thermally_conductive_fluid', 1000)) .itemOutputs('tfg:casings/heat_pipe_casing') .circuit(6) - .EUt(GTValues.VA[GTValues.IV]) + .EUt(GTValues.VA[GTValues.EV]) .duration(20*4) event.shaped('tfg:cooling_tower', [ diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index 7e851dcca..428ebfa79 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -44,9 +44,9 @@ const registerTFGBlockTagsNuclear = (event) => { let COMPONENTS_HB = 'deafission:components_hb'; - event.add(COMPONENTS_HB, 'minecraft:sand'); - event.add(COMPONENTS_HB, 'tfg:impure_moderate_core_frame'); - event.add(COMPONENTS_HB, 'tfg:moderate_core_frame'); + //event.add(COMPONENTS_HB, 'minecraft:sand'); + event.add(COMPONENTS_HB, 'tfg:copper_sandy_frame'); + event.add(COMPONENTS_HB, 'tfg:beryllium_sandy_frame'); //event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only //#endregion diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js index 5ea789413..a4a37bf36 100644 --- a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -2,7 +2,7 @@ function registerTFGNuclearBlocks(event) { - // Insulation + // Insulation Fission Reactor event.create('tfg:glacian_wool_frame') .soundType('copper') .hardness(4) @@ -27,7 +27,7 @@ function registerTFGNuclearBlocks(event) { .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') - // Unfinished Insulation + // Unfinished Insulation Reactor event.create('tfg:moderate_core') .soundType('ancient_debris') .hardness(7) @@ -42,6 +42,34 @@ function registerTFGNuclearBlocks(event) { .tagBlock('gtceu:mineable/pickaxe_or_wrench') .model('tfg:block/fission/impure_moderate_core') + // Heat Battery Components + + event.create('tfg:copper_sandy') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .model('tfg:block/fission/copper_sandy') + + event.create('tfg:beryllium_sandy') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .model('tfg:block/fission/beryllium_sandy') + + event.create('tfg:copper_sandy_frame') + .soundType('copper') + .hardness(4) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + + event.create('tfg:beryllium_sandy_frame') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + // Nuclear cooling tower event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter') .textureAll('tfg:block/titanium_exhaust_vent') From af01de9a2c3cdae6f619a05d77b55a865c86f8a3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:44:28 +0000 Subject: [PATCH 141/157] langs --- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfg/lang/en_us.json | 31 ++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 944201e48..1da35e6fc 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -255,6 +255,7 @@ "gtceu.tooltip.machine.ostrum_harvester_3": "§7Requires drilling fluid to work.§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Higgs Boson not included§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Breaks down Ostrum Dust into its components. Requires various fluids from fission line.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_3": "§7Cannot Overclock, use §eHeat§r§7 and §eTemperature§r§7 from an adjascent §bHeat Battery§r§7 to run.§r", "gtceu.tooltip.machine.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfers heat from one fluid to another.§r", "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 711918258..bf468e88d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -811,6 +811,10 @@ "block.tfg.impure_moderate_core": "Impure Moderate Core", "block.tfg.moderate_core_frame": "Moderate Core Frame", "block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "block.tfg.copper_sandy": "Copper-Bound Silica", + "block.tfg.copper_sandy_frame": "Copper-Bound Silica Frame", + "block.tfg.beryllium_sandy": "Beryllium-Bound Silica", + "block.tfg.beryllium_sandy_frame": "Beryllium-Bound Silica Frame", "block.tfg.heat_battery_mk1": "Heat Battery", "tfg.block_entity.artisan_table": "Artisan Table", "block.tfg.artisan_table": "Artisan Table", @@ -1791,13 +1795,6 @@ "tfg.tooltip.wireless_card_1": "Enables wireless connections from any range, even from different planets!", "tfg.tooltip.wireless_card_2": "Items can still be transferred through the terminal, but at a very high power cost.", "tfg.tooltip.wireless_card_3": "Use a §dRailgun§r for your interplanetary logistical needs instead.", - "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", - "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §95§r", - "tfg.tooltip.component.moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §910§r", - "tfg.tooltip.component.dry_ice": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", - "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", "tfg.tooltip.component.nuclear_turbine_1": "§eBase Production:§r 8192 EU/t", "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "tfg.tooltip.component.smr_generator_1": "§eBase Production:§r 4096 EU/t", @@ -1979,6 +1976,26 @@ "tfg.grapplemod.downgrades.vertical_throwing_angle": "Decreases the §lVertical Throwing Angle§r of the hook by 5°, down to 0°.", "tfg.grapplemod.upgrades.angle": "Increases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, up to 90°.\nOnly accessible with a §lDouble Hook§r installed.", "tfg.grapplemod.downgrades.angle": "Decreases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, down to 5°°.\nOnly accessible with a §lDouble Hook§r installed.", + "tfg.tooltip.machine.fission_reactor_mk1_1": "§7The power of the atom§r", + "tfg.tooltip.machine.fission_reactor_mk1_2": "§7Customizable Fission Reactor, add better components, process rods and materials into it and watch out for its temperature.§r", + "tfg.tooltip.machine.smt_1": "§ePower Production:§r From 2048 to 32768 EU/t", + "tfg.tooltip.machine.smt_2": "§7Requires a lubricant to run and can increase power output by using a booster.§r", + "tfg.tooltip.machine.smt_3": "§7Only accept§r SMT Input Hatch §7to input fluids.§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_1": "§7The power of the atom but smaller§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_2": "§7Can only process§r Americium 241 Rod§7 with§r TiCl₄-Doped Supercritical CO₂", + "tfg.tooltip.machine.heat_battery_1": "§7It stores heat§r", + "tfg.tooltip.machine.heat_battery_2": "§7Increase its temperature by inputting hot fluids and use the heat to boil other fluids or run recipes in the OLA.§r", + "tfg.tooltip.machine.heat_battery_3": "§7To transfer Heat to a Ostrum Linear Accelerator, make both§r Heat Port§7 and§r Heat Input Hatch§7 face each other.§r", + "tfg.tooltip.machine.smr_fluid_import_hatch": "§7Can only be used in a Small Modular Turbine§r", + "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", + "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", + "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", + "tfg.tooltip.component.impure_moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §95§r", + "tfg.tooltip.component.moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §910§r", + "tfg.tooltip.component.dry_ice": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", + "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", + "tfg.tooltip.component.sandy_copper_frame": "Can be placed inside a Heat Battery to increase its storage ability", + "tfg.tooltip.component.sandy_beryllium_frame": "Can be placed inside a Heat Battery to increase its storage ability", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "The strongest tool to help you with GregTech, unlocked after your first trip to the moon", "quests.ae2.certus_quartz.title": "Certus Quartz", From 4c208a0928103433bdd783dd68b7b77614ac4bb5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:46:54 +0000 Subject: [PATCH 142/157] #2927 --- CHANGELOG.md | 1 + kubejs/server_scripts/sacksnstuff/tags.js | 2 ++ kubejs/server_scripts/tfg/space_general/tags.railgun.js | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c08d6e1dd..263126c4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ - All tools should now have TFC damage types (#2868) @Pyritie - Added recipes for advanced GTCEu Terminals @TomPlop - TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie +- Quivers can now also go in the belt curios slot (#2927) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/sacksnstuff/tags.js b/kubejs/server_scripts/sacksnstuff/tags.js index bb1c9422b..c7c553151 100644 --- a/kubejs/server_scripts/sacksnstuff/tags.js +++ b/kubejs/server_scripts/sacksnstuff/tags.js @@ -45,4 +45,6 @@ function registerSNSItemTags(event) { // Remove this tag to avoid confusion with the other lunchbox event.removeAll('sns:lunchbox_food') + + event.add('curios:belt', 'sns:quiver'); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/tags.railgun.js b/kubejs/server_scripts/tfg/space_general/tags.railgun.js index e9d9a973b..89cb59a4b 100644 --- a/kubejs/server_scripts/tfg/space_general/tags.railgun.js +++ b/kubejs/server_scripts/tfg/space_general/tags.railgun.js @@ -105,5 +105,5 @@ function registerTFGRailgunItemTags(event) { event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_tank') event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_tank') event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_tank') - + event.add('tfg:cannot_launch_in_railgun', 'toolbelt:belt') } \ No newline at end of file From 68d0681c0b5ebe6d13bd3dee9cf4ad6e0177208f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:48:35 +0000 Subject: [PATCH 143/157] buff helium3 from asurine --- kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js index 26f82dfdd..0d559e9fa 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js @@ -38,7 +38,7 @@ function registerTFGStoneDustRecipes(event) { .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CertusQuartz, 1), 5000, 0) .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 4500, 0) .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Zinc, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:helium_3', 200)) + .outputFluids(Fluid.of('gtceu:helium_3', 500)) event.recipes.gtceu.centrifuge('ochrum_dust_separation') .EUt(GTValues.VA[GTValues.MV]) From f678f084d4f0ce969f2ab5b8d9571a30865b09b0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 18:23:28 +0000 Subject: [PATCH 144/157] fix recycling of laser cable --- kubejs/server_scripts/gregtech/recipes.js | 5 ++++- kubejs/server_scripts/tfg/worldgen/events.entities.js | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 31024c63c..5aa507f5f 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -134,7 +134,10 @@ const registerGTCEURecipes = (event) => { .duration(20*5) .EUt(GTValues.VA[GTValues.EV]) .cleanroom(CleanroomType.CLEANROOM) - .addMaterialInfo(true, true) + + TFGHelpers.registerMaterialInfo('gtceu:normal_laser_pipe', [GTMaterials.Air, 1]) + event.remove({ id: 'gtceu:arc_furnace/arc_normal_laser_pipe' }) + removeMaceratorRecipe(event, 'macerate_normal_laser_pipe') // #endregion diff --git a/kubejs/server_scripts/tfg/worldgen/events.entities.js b/kubejs/server_scripts/tfg/worldgen/events.entities.js index fa3ef3c58..7352f1b33 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.entities.js +++ b/kubejs/server_scripts/tfg/worldgen/events.entities.js @@ -11,6 +11,8 @@ const NEW_MOB_MAX_HP = { "endermanoverhaul:windswept_hills_enderman": 70, "endermanoverhaul:soulsand_valley_enderman": 80, "minecraft:stray": 40, + "species:limpet": 20, + "species:birt": 20, // mars mobs -- wan's ancient beasts has its own config for this (also includes sniffer) "endermanoverhaul:crimson_enderman": 60, From 601f72b12a628ed0c44747fb8bfaf9e99277fcfb Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 2 Feb 2026 13:38:56 -0500 Subject: [PATCH 145/157] Update changeling (#2958) * Update changeling Signed-off-by: TomPlop * Revise BTX line description and update changelog (#11) Updated changelog to clarify modifications to BTX line and other changes. Signed-off-by: TomPlop --------- Signed-off-by: TomPlop --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 263126c4a..6aa3708b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie - TFC Gurman changed its name and recipe IDs to TFC Gourmet. There will be conversion items, but not fluids, so drink all your lemonade and kvass before updating. +- The BTX line has been modified, with the Cracker now outputting the used Catalyser instead of the LCR #### Energy Update - Cetane Boosted Diesel's duration is buffed by 30% - Diesel's duration is nerfed by 25%, but can now be crafted at ULV @@ -13,6 +14,7 @@ - Light Fuel isn't a fuel anymore (make Diesel with it!) - High Octane Gasoline now requires an IV Energy Hatch - Add Small Fission Reactor, Small Turbine Generator, and the Cooling Tower. You can now make power from Fission on Earth! +- BTX has been buffed by 10%, and also produces 12.5% more with each craft! #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -50,6 +52,7 @@ - Base recipe duration has been reduced to 600/450/300 seconds. (#2950) @Redeix - More circuit options for recipes that priorities seeds/saplings and recipes that prioritize leaves have been added. (#2950) @Redeix - More plants have been added for production. @Redeix & @thederpysockdude123 +- The EGH and the Pisciculture recipes now require 50% less energy ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie From b5b7e26fee1fbf3a0a267a2e8766d0e042684a83 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 22:52:24 +0000 Subject: [PATCH 146/157] update tfc gourmet --- CHANGELOG.md | 10 ++- config/crash_assistant/modlist.json | 10 +-- kubejs/server_scripts/tfc_gurman/recipes.js | 74 +++++++++++++++++++-- pakku-lock.json | 42 ++++++------ 4 files changed, 104 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 263126c4a..ce2b09b56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,8 +50,11 @@ - Base recipe duration has been reduced to 600/450/300 seconds. (#2950) @Redeix - More circuit options for recipes that priorities seeds/saplings and recipes that prioritize leaves have been added. (#2950) @Redeix - More plants have been added for production. @Redeix & @thederpysockdude123 -### Changes +#### Other major changes - Added much more music to the different dimensions @Pyritie +- Added new advanced GTCEu Terminals @TomPlop +- Added two-person rockets! @BlueBoat29 +### Changes - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie @@ -78,10 +81,10 @@ - Added config file for Via Romana support. (#2950) @Redeix - Backpack void upgrades are now cheaper @Pyritie - All tools should now have TFC damage types (#2868) @Pyritie -- Added recipes for advanced GTCEu Terminals @TomPlop - TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie - Quivers can now also go in the belt curios slot (#2927) @Pyritie ### Bug fixes +- Fixed being able to right-click crops with a scythe to harvest them (#1724) @Ujhik - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan @@ -97,6 +100,9 @@ - Fixed piglin brutes not dropping meat or bones @Pyritie - Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie - Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie +- Fixed the rendering of adjacent large martian nests @Mqrius +- Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius +- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index ee1c5609d..eadb2dd35 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1416,12 +1416,12 @@ "curseForgeHash": 3264017794, "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, - "tfc_gourmet-1.4.2.jar": { - "jarName": "tfc_gourmet-1.4.2.jar", + "tfc_gourmet-1.4.3.jar": { + "jarName": "tfc_gourmet-1.4.3.jar", "modId": "tfc_gourmet", - "version": "1.4.2", - "curseForgeHash": 2832259553, - "modrinthHash": "d4c2f1eb89330129fdc1e4ee78f61f1130d83fe5" + "version": "1.4.3", + "curseForgeHash": 415442845, + "modrinthHash": "103326499c4a574c87474a5af52f97d7a730071f" }, "TFC_punishment_for_death-1.20.1-1.0.0.15.jar": { "jarName": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index 558402021..b5b7bd351 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -472,6 +472,33 @@ function registerTFCGurmanRecipes(event) { itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); + // Raw Croissants + global.processorRecipe(event, 'raw_croissants', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:foods/flour', 'firmalife:food/butter', '#forge:eggs'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['2x tfc_gourmet:raw_croissants'], + circuit: 20, + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:raw_croissants').copyOldestFood() + }); + + // Raw crepes + global.processorRecipe(event, 'raw_crepes', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:foods/flour', 'firmalife:food/butter', '#forge:eggs'], + fluidInputs: ['#tfc:milks 500'], + itemOutputs: ['2x tfc_gourmet:raw_crepes'], + circuit: 20, + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:raw_crepes').copyOldestFood() + }); + + // Oladyi + global.processorRecipe(event, 'raw_oladyi', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x #tfc:foods/dough'], + fluidInputs: ['#tfc:milks 500'], + itemOutputs: ['2x tfc_gourmet:raw_oladyi'], + circuit: 20, + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:raw_oladyi').copyOldestFood() + }); + //#endregion // #region Drying @@ -523,9 +550,48 @@ function registerTFCGurmanRecipes(event) { 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_pelmeni" }, "tfc_gourmet:raw_pelmeni", "2x tfc_gourmet:raw_pelmeni"); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_vareniki" }, "tfc_gourmet:raw_vareniki", "tfc_gourmet:raw_vareniki"); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_oladyi" }, "tfc_gourmet:raw_oladyi", "2x tfc_gourmet:raw_oladyi"); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_syrniki" }, "tfc_gourmet:raw_syrniki", "2x tfc_gourmet:raw_syrniki"); + event.remove({ id: "tfc_gourmet:crafting/raw_pelmeni" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_pelmeni`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.notRotten(`#tfc:foods/raw_meats`), + TFC.ingredient.notRotten(`#tfc:foods/dough`) + ]).id(`tfg:shapeless/raw_pelmeni`) + + event.remove({ id: "tfc_gourmet:crafting/raw_vareniki" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`tfc_gourmet:raw_vareniki`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.notRotten(`#tfc:foods/vegetables`) + ]).id(`tfg:shapeless/raw_vareniki`) + + event.remove({ id: "tfc_gourmet:crafting/raw_oladyi" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_oladyi`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.fluid(TFC.fluidStackIngredient('#tfc:milks', 500)) + ]).id(`tfg:shapeless/raw_oladyi`) + + event.remove({ id: "tfc_gourmet:crafting/raw_syrniki" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_syrniki`).copyFood(), [ + TFC.ingredient.notRotten(`#tfg:foods/cheeses`), + TFC.ingredient.notRotten(`#forge:eggs`), + TFC.ingredient.notRotten(`#tfc:foods/flour`) + ]).id(`tfg:shapeless/raw_syrniki`) + + event.remove({ id: "tfc_gourmet:crafting/raw_croissants" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_croissants`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/flour`), + TFC.ingredient.notRotten(`firmalife:food/butter`), + TFC.ingredient.notRotten(`#forge:eggs`), + TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 1000)) + ]).id(`tfg:shapeless/raw_croissants`) + + event.remove({ id: "tfc_gourmet:crafting/raw_crepes" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_crepes`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/flour`), + TFC.ingredient.notRotten(`firmalife:food/butter`), + TFC.ingredient.notRotten(`#forge:eggs`), + TFC.ingredient.fluid(TFC.fluidStackIngredient('#tfc:milks', 500)) + ]).id(`tfg:shapeless/raw_crepes`) + // #endregion } diff --git a/pakku-lock.json b/pakku-lock.json index 65438c87e..341487b43 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12907,6 +12907,27 @@ "modrinth": "ERme2o65" }, "files": [ + { + "type": "modrinth", + "file_name": "tfc_gourmet-1.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/1ns5Lyk4/tfc_gourmet-1.4.3.jar", + "id": "1ns5Lyk4", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "7fef1e460dfb20478d959efad82093de0c538aa16b8b6294dcd057f06da82dc6ad90c6e1c5adfa275f600de8c04868e952f46b856b36d61402383bdfacac61ec", + "sha1": "103326499c4a574c87474a5af52f97d7a730071f" + }, + "required_dependencies": [], + "size": 398088, + "date_published": "2026-02-02T19:04:40.071653Z" + }, { "type": "curseforge", "file_name": "tfc_gourmet-1.4.2.jar", @@ -12930,27 +12951,6 @@ ], "size": 521700, "date_published": "2026-02-02T03:07:46.393Z" - }, - { - "type": "modrinth", - "file_name": "tfc_gurman-1.4.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/tMfASqPh/tfc_gurman-1.4.2.jar", - "id": "tMfASqPh", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "ac46e98199659c20c11c036ced30b7aaff012e702be7ef8d7cad06ad91db386969edd0d686ec2862682b7dab322d0c23c1f6c8ff8a35799bfd492c1589515450", - "sha1": "0f079c981e2610bf6462bad4bf171c831813cd5c" - }, - "required_dependencies": [], - "size": 519124, - "date_published": "2026-02-02T02:29:35.480162Z" } ] }, From 260851074c39b56dfdf208580b912e54e850b2ff Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 23:42:42 +0000 Subject: [PATCH 147/157] Feature/venus stone ores (#2961) * langs * fix veins * missing knapping textures * rename ignimbrite features * new ores * feature stuff * entity tweaks --- kubejs/assets/betterend/lang/es_es.json | 10 +-- kubejs/assets/gtceu/lang/en_us.json | 2 + .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../textures/gui/knapping/loose/flavolite.png | Bin 0 -> 222 bytes .../gui/knapping/loose/sandy_jadestone.png | Bin 0 -> 187 bytes .../textures/gui/knapping/loose/scorchia.png | Bin 0 -> 208 bytes .../textures/gui/knapping/loose/scoria.png | Bin 0 -> 208 bytes kubejs/data/ad_astra/dimension/venus.json | 27 +++++- .../tfg/worldgen/biome/venus/arachnoids.json | 20 +++-- .../worldgen/biome/venus/fractured_pools.json | 20 +++-- .../tfg/worldgen/biome/venus/fumaroles.json | 19 +++-- .../tfg/worldgen/biome/venus/geysers.json | 19 +++-- .../biome/venus/jagged_tablelands.json | 65 +++++++++++--- .../tfg/worldgen/biome/venus/salt_flats.json | 20 +++-- .../biome/venus/scorching_volcanoes.json | 30 ++++--- .../biome/venus/stromatolite_beach.json | 20 +++-- .../worldgen/biome/venus/sulfuric_ravine.json | 19 +++-- .../venus/surface/adakite_spikes.json | 62 ++++++++++++++ .../venus/surface/crimsite_spikes.json | 80 ++++++++++++++++++ .../venus/surface/loose_crackrack.json | 55 ++++++++++++ .../venus/surface/loose_scorchia.json | 55 ++++++++++++ .../venus/surface/loose_scoria.json | 55 ++++++++++++ .../venus/surface/ochrum_spikes.json | 80 ++++++++++++++++++ ...rite_columns.json => thermal_columns.json} | 0 ...ignimbrite_disk.json => thermal_disk.json} | 0 ...ube_worms.json => thermal_tube_worms.json} | 0 ...nimbrite_vents.json => thermal_vents.json} | 0 .../venus/vein/venus_manual_salt.json | 46 ++++++++++ .../venus/vein/venus_manual_sulfur.json | 53 +++++++++++- .../worldgen/noise_settings/venus_noise.json | 13 +-- .../venus/surface/adakite_spikes.json | 23 +++++ .../venus/surface/crimsite_spikes.json | 23 +++++ .../venus/surface/loose_crackrack.json | 12 +++ .../venus/surface/loose_scorchia.json | 12 +++ .../venus/surface/loose_scoria.json | 12 +++ .../venus/surface/ochrum_spikes.json | 23 +++++ .../venus/terrain/lava_spring_rare.json | 12 +++ .../venus/terrain/thermal_vent.json | 8 +- .../venus/terrain/thermal_vent_rare.json | 8 +- kubejs/server_scripts/tfg/mars/tags.mars.js | 1 + .../tfg/natural_blocks/tags.stones.js | 4 +- kubejs/server_scripts/tfg/venus/tags.venus.js | 19 ++++- kubejs/startup_scripts/gtceu/constants.js | 4 +- .../tfg/stone_types/constants.rocks.js | 4 +- .../tfg/stone_types/tag_prefixes.rocks.js | 18 ++++ 51 files changed, 850 insertions(+), 131 deletions(-) create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/flavolite.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/sandy_jadestone.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/scorchia.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/scoria.png create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_columns.json => thermal_columns.json} (100%) rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_disk.json => thermal_disk.json} (100%) rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_tube_worms.json => thermal_tube_worms.json} (100%) rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_vents.json => thermal_vents.json} (100%) create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json diff --git a/kubejs/assets/betterend/lang/es_es.json b/kubejs/assets/betterend/lang/es_es.json index b20b22cf0..eb5e160e3 100644 --- a/kubejs/assets/betterend/lang/es_es.json +++ b/kubejs/assets/betterend/lang/es_es.json @@ -46,11 +46,11 @@ "block.betterend.filalux_wings": "Alas filalúceas", "block.betterend.flamaea": "Hongo flamigero", "block.betterend.flammalix": "Hongo flamante", - "block.betterend.flavolite": "Lucitita en bruto", - "block.betterend.flavolite_bricks": "Ladrillos de lucitita", - "block.betterend.flavolite_pillar": "Pilar de lucitita", - "block.betterend.flavolite_polished": "Lucitita pulida", - "block.betterend.flavolite_tiles": "Baldosas de lucitita", + "block.betterend.flavolite": "Ignimbrita en bruto", + "block.betterend.flavolite_bricks": "Ladrillos de ignimbrita", + "block.betterend.flavolite_pillar": "Pilar de ignimbrita", + "block.betterend.flavolite_polished": "Ignimbrita pulida", + "block.betterend.flavolite_tiles": "Baldosas de ignimbrita", "block.betterend.fracturn": "Fracturno", "block.betterend.glacian_hymenophore": "Himenóforo glacial", "block.betterend.globulagus": "Globulago", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 1da35e6fc..7e6050d1c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -248,6 +248,8 @@ "tagprefix.deepslate": "Migmatite %s Ore", "tagprefix.pyroxenite": "Pyroxenite %s Ore", "tagprefix.dripstone": "Travertine %s Ore", + "tagprefix.sandy_jadestone": "Lamproite %s Ore", + "tagprefix.flavolite": "Ignimbrite %s Ore", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Extraterrestrial Vacuum Cleaner§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Harvests infinite Regolith Dust depending on the biome its placed in.§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json index b24ac9b4c..aa0337fbd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json index b24ac9b4c..aa0337fbd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json index b24ac9b4c..b63bea0b9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine, イグニンブライト, ランプロアイト$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine, イグニンブライト, ランプロアイト$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json index 9fd5f17e3..b2d841c0c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", + "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Ignimbrito, Lamproíto, Riolito, Traquito, Travertino", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Ignimbrito, Lamproíto, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index ad813fd4e..a0e933ece 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json index e2cf19252..755e2793c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Iгнімбрит, Андезит, Базальт, Дацит, Лампроїт, Ріоліт, Травертин, Трахіт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Iгнімбрит, Андезит, Базальт, Дацит, Лампроїт, Ріоліт, Травертин, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json index c7df0df3f..eb801f189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 天然煌斑岩, 天然熔灰岩, 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 天然煌斑岩, 天然熔灰岩, 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/flavolite.png b/kubejs/assets/tfc/textures/gui/knapping/loose/flavolite.png new file mode 100644 index 0000000000000000000000000000000000000000..f259025e7e6655068f0712bc7dc50d8d840d2458 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUsuz{S+^6mc* zO?}3+JCWDY_~iCkTXh;A?rzvpc&69oaKg^c#aq+(4!?Y`J}l_=1jhKI`_j2LyPy5K zH|)fk`Kejj$Il(RldyNS!ODn-TT zI(1V@|B|StX~ETP9>ujbcfTKvWME*3@^onkAF$xFRg~Vky-PQq^LJ+Ybug=jz`(%Z>FVdQ&MBb@09v_29smFU literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/scorchia.png b/kubejs/assets/tfc/textures/gui/knapping/loose/scorchia.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1c9f3b2601bee7f7beec72940a90619d4409db GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdnK1d_r79Q=?q{y)A6*b@ffP zbd1#0bmSFOq^0G=*iOG@U|=Zrba4!+U}Qb$$j788z;YliK0)oGwQs}fob-zJLZSCv zHI3h+SxZl!jye!glEz=K`f}=pS9f-alq9e57dxSQ^xcX|Tc6d7UL?#8TX4=Mt|aEB z+Iyi0_Y+e;6w7KZ?^-T7y}kL*xewnP&6NFihxTyfZv4aOuu#gxmdK II;Vst0BXichX4Qo literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/scoria.png b/kubejs/assets/tfc/textures/gui/knapping/loose/scoria.png new file mode 100644 index 0000000000000000000000000000000000000000..eecc0be2bab75aa27d6ae6e3a45d62e156558c8c GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdnK1d_r6+Vgr)AodWI5T#WVX z^>wT?wTzWD^yJiHA}?)XU|=Zrba4!+U}Qb$$j788z;YliK0)oGwQs}fob-zJLZSCv zHI3h+SxZl!jye!glEz=K`f}=pS9f-alq9e57dxSQ^xcX|Tc6d7UL?#8TX4=Mt|aEB z+Iyi0_Y+e;6w7KZ?^-T7y}kL*xewnP&6NFihxTyfZv4aOuu#gxmdK II;Vst010wSlmGw# literal 0 HcmV?d00001 diff --git a/kubejs/data/ad_astra/dimension/venus.json b/kubejs/data/ad_astra/dimension/venus.json index 6d7dba3d4..f27fbe150 100644 --- a/kubejs/data/ad_astra/dimension/venus.json +++ b/kubejs/data/ad_astra/dimension/venus.json @@ -64,6 +64,26 @@ "spike": "tfg:spike/dripstone_spike", "loose": "tfg:loose/dripstone" }, + "flavolite": { + "raw": "betterend:flavolite", + "hardened": "tfg:rock/hardened_flavolite", + "gravel": "tfg:rock/gravel_flavolite", + "cobble": "tfg:rock/cobble_flavolite", + "sand": "tfc:sand/green", + "sandstone": "tfc:raw_sandstone/green", + "spike": "tfg:spike/flavolite_spike", + "loose": "tfg:loose/flavolite" + }, + "sandy_jadestone": { + "raw": "betterend:sandy_jadestone", + "hardened": "tfg:rock/hardened_sandy_jadestone", + "gravel": "tfg:rock/gravel_sandy_jadestone", + "cobble": "tfg:rock/cobble_sandy_jadestone", + "sand": "tfc:sand/green", + "sandstone": "tfc:raw_sandstone/green", + "spike": "tfg:spike/sandy_jadestone_spike", + "loose": "tfg:loose/sandy_jadestone" + }, "granite": "tfc:granite", "diorite": "tfc:diorite", "gabbro": "tfc:gabbro", @@ -95,7 +115,8 @@ "basalt": "bottom", "schist": "bottom", "gneiss": "bottom", - "quartzite": "bottom" + "quartzite": "bottom", + "flavolite": "bottom" } }, { @@ -116,7 +137,9 @@ "rhyolite": "middle", "basalt": "middle", "andesite": "middle", - "dacite": "middle" + "dacite": "middle", + "flavolite": "middle", + "sandy_jadestone": "middle" } } ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index 95fb1affa..d5b111716 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -39,7 +39,9 @@ "tfc:erosion" ], [], - [], + [ + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -55,20 +57,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index 9f2b96211..d86ef6e86 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -39,7 +39,9 @@ "tfc:erosion" ], [], - [], + [ + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -57,20 +59,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 143ac2e11..dbd00bd06 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -55,27 +55,28 @@ ], [ "tfg:venus/surface/sulfur_patch", - "tfg:venus/surface/hydralux_rare" + "tfg:venus/surface/hydralux_rare", + "tfg:venus/surface/loose_scoria" ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 843cfe253..b4132b4eb 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -40,7 +40,8 @@ ], [], [ - "tfg:venus/terrain/hot_spring_delta" + "tfg:venus/terrain/hot_spring_delta", + "tfc:random_empty_hot_spring" ], [], [], @@ -59,20 +60,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 61ec76bf1..acabee994 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -8,8 +8,8 @@ "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0015 }, - "sky_color": 10465603, - "fog_color": 9938052, + "sky_color": 11239553, + "fog_color": 11239553, "water_color": 8241044, "water_fog_color": 10866612, "ambient_sound": "tfg:ambient.venus_surface.loop", @@ -39,7 +39,10 @@ "tfc:erosion" ], [], - [], + [ + "tfg:venus/terrain/lava_spring_rare", + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -49,28 +52,38 @@ "tfc:raw_boulder", "tfc:cobble_boulder", "tfc:raw_boulder_small_patch", - "tfc:cobble_boulder_small_patch" + "tfc:cobble_boulder_small_patch", + "tfg:venus/surface/adakite_spikes", + "tfg:venus/surface/ochrum_spikes", + "tfg:venus/surface/crimsite_spikes" + ], + [ + "tfg:venus/surface/smoker_source_patch", + "tfg:venus/surface/lava_source_patch", + "tfg:venus/surface/twisted_vine", + "tfg:venus/surface/shadow_plant_patch", + "tfg:venus/surface/pile_volcanic_ash", + "tfg:venus/surface/loose_scorchia" ], - [], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, @@ -97,7 +110,7 @@ "charge": 0.9 } }, - "creature_spawn_probability": 0.1, + "creature_spawn_probability": 0.15, "spawners": { "ambient": [], "axolotls": [], @@ -153,6 +166,18 @@ "minCount": 1, "weight": 100 }, + { + "type": "endermanoverhaul:nether_wastes_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 100 + }, + { + "type": "endermanoverhaul:desert_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 100 + }, { "type": "minecraft:enderman", "maxCount": 1, @@ -171,6 +196,18 @@ "minCount": 1, "weight": 100 }, + { + "type": "minecraft:magma_cube", + "maxCount": 2, + "minCount": 1, + "weight": 30 + }, + { + "type": "minecraft:blaze", + "maxCount": 2, + "minCount": 1, + "weight": 30 + }, { "type": "arthropocolypse:millipede_head", "maxCount": 2, diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 2e46cbaf2..16c2bf780 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -39,7 +39,9 @@ "tfc:erosion" ], [], - [], + [ + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -56,20 +58,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 720efe591..46cb11773 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -8,8 +8,8 @@ "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0015 }, - "sky_color": 5450003, - "fog_color": 5450003, + "sky_color": 7687245, + "fog_color": 7687245, "water_color": 8241044, "water_fog_color": 10866612, "ambient_sound": "tfg:ambient.venus_surface.loop", @@ -68,7 +68,9 @@ "tfg:venus/surface/twisted_vine", "tfg:venus/surface/shadow_plant_patch", "tfg:venus/surface/pile_volcanic_ash", - "tfg:venus/surface/pile_black_sand" + "tfg:venus/surface/pile_black_sand", + "tfg:venus/surface/loose_scorchia", + "tfg:venus/surface/loose_crackrack" ], [ "tfg:venus/terrain/lava_fill" @@ -78,20 +80,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.3, @@ -123,6 +125,12 @@ "ambient": [], "axolotls": [], "creature": [ + { + "type": "minecraft:strider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, { "type": "arthropocolypse:ice_crawler", "maxCount": 2, diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 820b5ad67..13198fce5 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -40,6 +40,7 @@ ], [], [ + "tfc:random_empty_hot_spring", "tfg:venus/terrain/stromatolite_disk" ], [], @@ -52,27 +53,28 @@ "tfg:venus/terrain/thermal_vent_rare" ], [ - "tfg:venus/surface/sulfur_patch" + "tfg:venus/surface/sulfur_patch", + "tfg:venus/surface/loose_scoria" ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index fc2615b45..79b328a81 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -54,27 +54,28 @@ ], [ "tfg:venus/surface/sulfur_patch", - "tfg:venus/surface/hydralux" + "tfg:venus/surface/hydralux", + "tfg:venus/surface/loose_scoria" ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json new file mode 100644 index 000000000..5a617f6b4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json @@ -0,0 +1,62 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 8, + "min_inclusive": 4 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 16, + "min_inclusive": 8 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:lacugrove_bark" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] + }, + "tries": 12, + "xz_spread": 16, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json new file mode 100644 index 000000000..dce1d7f60 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json @@ -0,0 +1,80 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.2, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:crimsite" + } + }, + "replaceable": "#ad_astra:venus_stone_replaceables", + "surface": "floor", + "vegetation_chance": 0.4, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:crimsite" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json new file mode 100644 index 000000000..b42fe220e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/crackrack" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:has_sturdy_face", + "offset": [ 0, -1, 0 ], + "direction": "down" + } + ] + } + } + ] + }, + "tries": 8, + "xz_spread": 7, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json new file mode 100644 index 000000000..040d64b68 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/scorchia" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:has_sturdy_face", + "offset": [ 0, -1, 0 ], + "direction": "down" + } + ] + } + } + ] + }, + "tries": 8, + "xz_spread": 7, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json new file mode 100644 index 000000000..406c92329 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/scoria" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:has_sturdy_face", + "offset": [ 0, -1, 0 ], + "direction": "down" + } + ] + } + } + ] + }, + "tries": 8, + "xz_spread": 7, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json new file mode 100644 index 000000000..a1ea43be6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json @@ -0,0 +1,80 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.2, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:ochrum" + } + }, + "replaceable": "#ad_astra:venus_stone_replaceables", + "surface": "floor", + "vegetation_chance": 0.4, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 5, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:ochrum" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_columns.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_columns.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_disk.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_disk.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_vents.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_vents.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json index 375a552e5..fb68763cf 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json @@ -148,6 +148,52 @@ "weight": 5 } ] + }, + { + "replace": [ + "betterend:flavolite" + ], + "with": [ + { + "block": "gtceu:flavolite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:flavolite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:flavolite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:flavolite_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "betterend:sandy_jadestone" + ], + "with": [ + { + "block": "gtceu:sandy_jadestone_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:sandy_jadestone_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:sandy_jadestone_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:sandy_jadestone_spodumene_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json index acc09cbcb..6555775b3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json @@ -123,6 +123,44 @@ "weight": 5 } ] + }, + { + "replace": [ + "betterend:flavolite" + ], + "with": [ + { + "block": "gtceu:flavolite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:flavolite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:flavolite_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "betterend:sandy_jadestone" + ], + "with": [ + { + "block": "gtceu:sandy_jadestone_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:sandy_jadestone_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:sandy_jadestone_sphalerite_ore", + "weight": 5 + } + ] } ], "indicator": { @@ -130,7 +168,20 @@ "depth": 30, "underground_rarity": 40, "underground_count": 200, - "blocks": [] + "blocks": [ + { + "block": "gtceu:sulfur_indicator", + "weight": 80 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 15 + }, + { + "block": "tfc:ore/small_sphalerite", + "weight": 5 + } + ] } } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 50fead7fc..36a967625 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -323,7 +323,7 @@ "then_run": { "type": "minecraft:block", "result_state": { - "Name": "betterend:flavolite" + "Name": "minecraft:tuff" } } } @@ -349,13 +349,16 @@ "raw_rock_weight": 20, "palette": [ { "Name": "create:ochrum" }, - { "Name": "betterend:sandy_jadestone" }, - { "Name": "betterend:sandy_jadestone" }, + { "Name": "create:ochrum" }, + { "Name": "tfg:rock/hardened_scoria" }, + { "Name": "tfg:rock/hardened_scorchia" }, { "Name": "betterend:sandy_jadestone" }, { "Name": "betterend:sandy_jadestone" }, { "Name": "betterend:flavolite" }, { "Name": "betterend:flavolite" }, - { "Name": "betterend:flavolite" } + { "Name": "minecraft:tuff" }, + { "Name": "tfc:rock/raw/basalt" }, + { "Name": "ad_astra:venus_stone" } ], "fallback": { "Name": "ad_astra:venus_stone" @@ -544,7 +547,7 @@ "then_run": { "type": "minecraft:block", "result_state": { - "Name": "create:scorchia" + "Name": "tfg:rock/hardened_scorchia" } } } diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json new file mode 100644 index 000000000..c8b439c68 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:venus/surface/adakite_spikes", + "placement": [ + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json new file mode 100644 index 000000000..8e6070cab --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:venus/surface/crimsite_spikes", + "placement": [ + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:rarity_filter", + "chance": 4 + }, + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json new file mode 100644 index 000000000..5d1fe5881 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/surface/loose_crackrack", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json new file mode 100644 index 000000000..244e2e670 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/surface/loose_scorchia", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json new file mode 100644 index 000000000..ac76c0dba --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/surface/loose_scoria", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json new file mode 100644 index 000000000..121e57bd7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:venus/surface/ochrum_spikes", + "placement": [ + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:rarity_filter", + "chance": 8 + }, + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json new file mode 100644 index 000000000..fc484f739 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/terrain/lava_spring", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 40 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json index eadd12694..01b0d8c21 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json @@ -4,19 +4,19 @@ "config": { "features": [ { - "feature": "tfg:venus/terrain/ignimbrite_disk", + "feature": "tfg:venus/terrain/thermal_disk", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_columns", + "feature": "tfg:venus/terrain/thermal_columns", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_vents", + "feature": "tfg:venus/terrain/thermal_vents", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_tube_worms", + "feature": "tfg:venus/terrain/thermal_tube_worms", "placement": [] } ] diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json index fa99f779f..ae2633784 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json @@ -4,19 +4,19 @@ "config": { "features": [ { - "feature": "tfg:venus/terrain/ignimbrite_disk", + "feature": "tfg:venus/terrain/thermal_disk", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_columns", + "feature": "tfg:venus/terrain/thermal_columns", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_vents", + "feature": "tfg:venus/terrain/thermal_vents", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_tube_worms", + "feature": "tfg:venus/terrain/thermal_tube_worms", "placement": [] } ] diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 3d554382d..e7a130957 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -394,6 +394,7 @@ function registerTFGMarsEntityTypeTags(event) { 'species:springling', 'species:quake', 'species:stackatick', + 'minecraft:enderman', 'endermanoverhaul:crimson_forest_enderman', 'endermanoverhaul:warped_forest_enderman', 'endermanoverhaul:badlands_enderman', diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index fdc774c8b..01a941a77 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -278,8 +278,6 @@ function registerTFGStoneBlockTags(event) { if (rock.raw != null) { event.add('forge:stone', rock.raw.block) - event.add('tfc:breaks_when_isolated', rock.raw.block) - event.add('tfc:rock/raw', rock.raw.block) event.add('minecraft:mineable/pickaxe', rock.raw.block) event.add('tfc:can_carve', rock.raw.block) event.add('tfc:powderkeg_breaking_blocks', rock.raw.block) @@ -288,11 +286,13 @@ function registerTFGStoneBlockTags(event) { event.add('tfc:forge_insulation', rock.raw.block) if (rock.collapsible && rock.cobble != null) { + event.add('tfc:rock/raw', rock.raw.block) // Collapse tags also require a collapse recipe to work. // Don't add the recipe if you don't want them to actually collapse! event.add('tfc:can_collapse', rock.raw.block) event.add('tfc:can_trigger_collapse', rock.raw.block) event.add('tfc:can_start_collapse', rock.raw.block) + event.add('tfc:breaks_when_isolated', rock.raw.block) } SHAPES.forEach(shape => { diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 7b480c219..15dd2188b 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -61,6 +61,12 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/quartzite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/quartzite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/quartzite') + event.add('ad_astra:venus_stone_replaceables', 'betterend:flavolite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_flavolite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_flavolite') + event.add('ad_astra:venus_stone_replaceables', 'betterend:sandy_jadestone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_sandy_jadestone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_sandy_jadestone') event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/blue') event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/blue') event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/green') @@ -79,6 +85,7 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfc:raw_sandstone/black') event.add('ad_astra:venus_stone_replaceables', 'create:scoria') event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:conglomerate') event.add('ad_astra:venus_stone_replaceables', 'minecraft:tuff') event.add('ad_astra:venus_stone_replaceables', 'minecraft:basalt') event.add('ad_astra:venus_stone_replaceables', 'minecraft:smooth_basalt') @@ -91,16 +98,22 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'betterend:lucernia_bark') event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') + event.add('minecraft:animals_spawnable_on', '#ad_astra:venus_stone_replaceables') - event.add("tfc:monster_spawns_on", "create:scorchia"); - event.add("tfc:monster_spawns_on", "minecraft:basalt"); - event.add("tfc:monster_spawns_on", "minecraft:smooth_basalt"); + event.add("tfc:monster_spawns_on", "create:scorchia"); + event.add("tfc:monster_spawns_on", "create:scoria"); + event.add("tfc:monster_spawns_on", "minecraft:basalt"); + event.add("tfc:monster_spawns_on", "minecraft:smooth_basalt"); event.add("minecraft:strider_warm_blocks", "create:scorchia"); + event.add("minecraft:strider_warm_blocks", "tfg:rock/hardened_scorchia"); event.add("minecraft:strider_warm_blocks", "minecraft:basalt"); event.add("minecraft:strider_warm_blocks", "minecraft:smooth_basalt"); event.add("minecraft:strider_warm_blocks", 'tfc:rock/raw/basalt'); event.add("minecraft:strider_warm_blocks", 'tfc:rock/magma/basalt'); + event.add("minecraft:strider_warm_blocks", 'tfc:rock/hardened/basalt'); + event.add("minecraft:strider_warm_blocks", 'beneath:crackrack'); + event.add("minecraft:strider_warm_blocks", '#minecraft:infiniburn_nether'); event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index ad6c1828c..8084f8658 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -427,7 +427,9 @@ global.ORE_BEARING_STONES = /** @type {const} */ ([ "venus_stone", "mercury_stone", "glacio_stone", - "red_granite" + "red_granite", + "flavolite", + "sandy_jadestone" ]); //#endregion diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js index 5e13faaa9..0154cb35a 100644 --- a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -1051,7 +1051,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "ochrum": { material: 'ochrum', collapsible: false, - dimensions: ['ad_astra:mars'], + dimensions: ['ad_astra:mars', 'ad_astra:venus'], pillar: 'create:ochrum_pillar', pillar2: 'create:layered_ochrum', stonecutterTag: 'create:stone_types/ochrum', @@ -1066,7 +1066,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "crimsite": { material: 'crimsite', collapsible: false, - dimensions: ['ad_astra:venus'], + dimensions: ['ad_astra:venus', 'ad_astra:mercury'], pillar: 'create:crimsite_pillar', pillar2: 'create:layered_crimsite', stonecutterTag: 'create:stone_types/crimsite', diff --git a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js index 0595b7243..594ddc170 100644 --- a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js @@ -128,4 +128,22 @@ const registerTFGRocksTagPrefixes = (event) => { .generationCondition(shouldGenerateOre) TFGHelpers.registerCobbleBlock('red_granite', 'gtceu:red_granite_cobblestone'); + + event.create('flavolite', 'ore') + .stateSupplier(() => Block.getBlock('tfg:rock/hardened_flavolite').defaultBlockState()) + .baseModelLocation('betterend:block/flavolite') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('flavolite', 'tfg:rock/cobble_flavolite'); + + event.create('sandy_jadestone', 'ore') + .stateSupplier(() => Block.getBlock('tfg:rock/hardened_sandy_jadestone').defaultBlockState()) + .baseModelLocation('betterend:block/sandy_jadestone') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('sandy_jadestone', 'tfg:rock/cobble_sandy_jadestone'); } \ No newline at end of file From 5aa82d80afbd648d164d09a51e359ba1496aa148 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 01:34:00 +0000 Subject: [PATCH 148/157] make chorus flowers drop 100% of the time, but now more are required --- .../data/tfg/loot_tables/blocks/lunar_chorus_flower.json | 8 +------- .../server_scripts/tfg/aquaponics/recipes.greenhouse.js | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json b/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json index 8aa73cbbc..8c24b4f7b 100644 --- a/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json +++ b/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json @@ -37,13 +37,7 @@ "entries": [ { "type": "minecraft:item", - "name": "tfg:lunar_chorus_flower", - "conditions": [ - { - "condition": "minecraft:random_chance", - "chance": 0.2 - } - ] + "name": "tfg:lunar_chorus_flower" } ], "conditions": [ diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 6e651e58b..aeeee27df 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -579,8 +579,8 @@ const registerTFGGreenhouseRecipes = (event) => { generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', null, 1); // Moon Plants - generateGreenHouseRecipe(event, 'ad_astra:moon', '8x tfg:lunar_chorus_flower', [ - '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '8x tfg:lunar_chorus_flower', '8x tfg:lunar_chorus_flower' + generateGreenHouseRecipe(event, 'ad_astra:moon', '16x tfg:lunar_chorus_flower', [ + '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '4x tfg:lunar_chorus_flower', '4x tfg:lunar_chorus_flower' ], 1, 1); generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' From 8fd7cf38474739e7771773e0248047a4f362c66a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 01:34:28 +0000 Subject: [PATCH 149/157] improvements to jagged tablelands + some skew for the rock layers --- .../biome/venus/jagged_tablelands.json | 8 ++-- .../venus/terrain/adakite_column.json | 30 +++++++++++++ .../venus/terrain/adakite_column.json | 4 ++ .../tfg/worldgen/events.chunks.js | 45 ++++++------------- 4 files changed, 52 insertions(+), 35 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index acabee994..eac86146f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -43,7 +43,9 @@ "tfg:venus/terrain/lava_spring_rare", "tfc:random_empty_hot_spring" ], - [], + [ + "tfg:venus/terrain/adakite_column" + ], [], [], "#tfg:venus_veins", @@ -102,8 +104,8 @@ "charge": 0.7 }, "minecraft:magma_cube": { - "energy_budget": 0.15, - "charge": 0.7 + "energy_budget": 0.03, + "charge": 0.10 }, "arthropocolypse:millipede_head": { "energy_budget": 0.05, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json new file mode 100644 index 000000000..08b7f018f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json @@ -0,0 +1,30 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "height": 120, + "radius": 4, + "min_skew": 0, + "max_skew": 2, + "min_slant": 0, + "max_slant": 2, + "sign": 0, + "rarity": 80, + "density": 0.99, + "min_y": 60, + "max_y": 180, + "random_name": "adakite_column", + "blocks": [ + { + "replace": [ + "minecraft:air" + ], + "with": [ + { + "block": "betterend:lacugrove_bark", + "weight": 1 + } + ] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json new file mode 100644 index 000000000..7a7c2c0f0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:venus/terrain/adakite_column", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/worldgen/events.chunks.js b/kubejs/server_scripts/tfg/worldgen/events.chunks.js index 1caa80b20..edf85128b 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.chunks.js +++ b/kubejs/server_scripts/tfg/worldgen/events.chunks.js @@ -58,10 +58,13 @@ let forestWeirdnessNoise = TFC.misc.newOpenSimplex2D(3210378120) .map(i => 1.1 * Math.abs(i)) .clamped(0, 1) +let cellularNoise = TFC.misc.cellular3D(678965856); + //TFC.misc.register2DNoiseForInspection('temp', tempLayer) //TFC.misc.register2DNoiseForInspection('rain', rainLayer) //TFC.misc.register2DNoiseForInspection('forestType', forestDensityNoise) //TFC.misc.register2DNoiseForInspection('forestWeirdness', forestWeirdnessNoise) +TFC.misc.register3DNoiseForInspection('cellular', cellularNoise); // Forest layer let forestLayerNoise = TFC.misc.newOpenSimplex2D(3210378120) @@ -126,41 +129,17 @@ TFCEvents.createChunkDataProvider('mars', event => { }); event.rocks((x, y, z, surfaceY, cache, rockSettings) => { - return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + let skew = y / 8; + return rockSettings.sampleAtLayer(rockLayer.getAt(x + skew, z + skew), (surfaceY - y) / ROCK_LAYER_HEIGHT); }); }) TFCEvents.createChunkDataProvider('venus', event => { + const emptyLayer = TFC.misc.lerpFloatLayer(0, 0, 0, 0); + event.partial((data, chunk) => { - let x = chunk.pos.minBlockX; - let z = chunk.pos.minBlockZ; - - const avgTemp1 = calcAverage(z, global.VENUS_PLANET_SIZE, 0, 100) - const avgTemp2 = calcAverage(z + 15, global.VENUS_PLANET_SIZE, 0, 100) - const avgRain1 = calcAverage(x, global.VENUS_PLANET_SIZE, 0, 100) - const avgRain2 = calcAverage(x + 15, global.VENUS_PLANET_SIZE, 0, 100) - - let rain = TFC.misc.lerpFloatLayer( - avgRain1 + rainLayer.noise(x, z), - avgRain1 + rainLayer.noise(x, z + 15), - avgRain2 + rainLayer.noise(x + 15, z), - avgRain2 + rainLayer.noise(x + 15, z + 15) - ); - let temp = TFC.misc.lerpFloatLayer( - avgTemp1 + tempLayer.noise(x, z), - avgTemp1 + tempLayer.noise(x, z + 15), - avgTemp2 + tempLayer.noise(x + 15, z), - avgTemp2 + tempLayer.noise(x + 15, z + 15) - ); - - data.generatePartial( - rain, - temp, - floatToForestType(forestLayerNoise.noise(x, z)), - forestWeirdnessNoise.noise(x, z), // forest weirdness - forestDensityNoise.noise(x, z) // forest density - ); - }); + data.generatePartial(emptyLayer, emptyLayer, 0, 0, 0) + }) event.full((data, chunk) => { let heights = []; @@ -173,7 +152,8 @@ TFCEvents.createChunkDataProvider('venus', event => { }); event.rocks((x, y, z, surfaceY, cache, rockSettings) => { - return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + let skew = y / 6; + return rockSettings.sampleAtLayer(rockLayer.getAt(x + skew, z + skew), (surfaceY - y) / ROCK_LAYER_HEIGHT); }); }) @@ -220,7 +200,8 @@ TFCEvents.createChunkDataProvider('glacio', event => { }); event.rocks((x, y, z, surfaceY, cache, rockSettings) => { - return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + let skew = y / 8; + return rockSettings.sampleAtLayer(rockLayer.getAt(x + skew, z + skew), (surfaceY - y) / ROCK_LAYER_HEIGHT); }); }) From c5248e685b30bb45eeccc17b1fe3b4206a318c04 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 03:04:49 +0000 Subject: [PATCH 150/157] update cl --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81dcdd4e4..ac87af9a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,9 +54,10 @@ - More plants have been added for production. @Redeix & @thederpysockdude123 - The EGH and the Pisciculture recipes now require 50% less energy #### Other major changes -- Added much more music to the different dimensions @Pyritie -- Added new advanced GTCEu Terminals @TomPlop +- The railgun should actually work on servers now! (#2820, #2702, #2030, #2031, #2057, #2010) @gustovafing - Added two-person rockets! @BlueBoat29 +- Added new advanced GTCEu Terminals @TomPlop +- Added much more music to the different dimensions @Pyritie ### Changes - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie From e6d2b900663de4d2eaa81c315955df384f95ced6 Mon Sep 17 00:00:00 2001 From: Gustavo <77560533+gustovafing@users.noreply.github.com> Date: Tue, 3 Feb 2026 14:09:15 +1100 Subject: [PATCH 151/157] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac87af9a9..8d6749064 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,7 +54,7 @@ - More plants have been added for production. @Redeix & @thederpysockdude123 - The EGH and the Pisciculture recipes now require 50% less energy #### Other major changes -- The railgun should actually work on servers now! (#2820, #2702, #2030, #2031, #2057, #2010) @gustovafing +- The railgun should actually work on servers now! (#2820, #2702, #2030, #2031, #2057, #2010) @gustovafing, @asere - Added two-person rockets! @BlueBoat29 - Added new advanced GTCEu Terminals @TomPlop - Added much more music to the different dimensions @Pyritie From a8e1ba1c6ac9188a13935c486713738c3f02098d Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 2 Feb 2026 21:10:49 -0600 Subject: [PATCH 152/157] add in some minor bugfixes Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d6749064..e36b32040 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,7 +106,8 @@ - Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie - Fixed the rendering of adjacent large martian nests @Mqrius - Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius -- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions +- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions @BlueBoat29 +- Fixed rockets breaking when you were carrying something @BlueBoat29 ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare From 92a4574c88d2aec9e6fe65fc30e71131f01892ee Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 11:50:05 +0000 Subject: [PATCH 153/157] fix a dupe with hp steam miners/rock breakers --- CHANGELOG.md | 3 ++- kubejs/server_scripts/gregtech/recipes.machines.js | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac87af9a9..71ee9b074 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,7 +106,8 @@ - Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie - Fixed the rendering of adjacent large martian nests @Mqrius - Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius -- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions +- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions @BlueBoat29 +- Fixed a rare crash with beneath to overworld teleporting @Lolens ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index cb93b4faa..89709a1e6 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -419,7 +419,8 @@ function registerGTCEuMachineRecipes(event) { C: '#forge:drill_heads', D: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1), E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.WroughtIron, 1) - }).addMaterialInfo().id('gtceu:shaped/steam_rock_breaker_steel') + }).id('gtceu:shaped/steam_rock_breaker_steel') + TFGHelpers.registerMaterialInfo('gtceu:hp_steam_rock_crusher', [GTMaterials.WroughtIron, 6.5, GTMaterials.TinAlloy, 2]) removeMaceratorRecipe(event, 'macerate_hp_steam_miner') event.recipes.gtceu.shaped('gtceu:hp_steam_miner', [ @@ -433,7 +434,8 @@ function registerGTCEuMachineRecipes(event) { D: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), E: ChemicalHelper.get(TagPrefix.plate, GTMaterials.WroughtIron, 1), F: '#gtceu:circuits/ulv' - }).addMaterialInfo().id('gtceu:shaped/steam_miner_steel') + }).id('gtceu:shaped/steam_miner_steel') + TFGHelpers.registerMaterialInfo('gtceu:hp_steam_miner', [GTMaterials.WroughtIron, 7, GTMaterials.Steel, 1, GTMaterials.TinAlloy, 2]) //#endregion From c76c4a0f2f77fe044024a584b22f63fe5201de31 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 11:52:17 +0000 Subject: [PATCH 154/157] fix dupe with toolbelt and sns containers #2926 --- CHANGELOG.md | 3 + defaultconfigs/toolbelt-server.toml | 2 +- kubejs/data/ad_astra/dimension/venus.json | 126 +++++++++++----------- 3 files changed, 67 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71ee9b074..a1788c944 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,6 +87,7 @@ - All tools should now have TFC damage types (#2868) @Pyritie - TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie - Quivers can now also go in the belt curios slot (#2927) @Pyritie +- Various quest fixes and improvements @ashleney @Tinchik @TomPlop @Pyritie ### Bug fixes - Fixed being able to right-click crops with a scythe to harvest them (#1724) @Ujhik - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie @@ -108,6 +109,8 @@ - Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius - Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions @BlueBoat29 - Fixed a rare crash with beneath to overworld teleporting @Lolens +- Added Sacks 'n' Such's containers to the Toolbelt blacklist, preventing a dupe (#2926) @Pyritie +- Fixed a dupe with steam miner and steam rock crusher recycling @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/defaultconfigs/toolbelt-server.toml b/defaultconfigs/toolbelt-server.toml index 4da7870b0..47a11192c 100644 --- a/defaultconfigs/toolbelt-server.toml +++ b/defaultconfigs/toolbelt-server.toml @@ -3,7 +3,7 @@ #List of items to force-allow placing in the belt. Takes precedence over blacklist. whitelist = ["measurements:tape_measure"] #List of items to disallow from placing in the belt. (whitelist takes precedence) - blacklist = ["tfclunchbox:lunchbox", "tfclunchbox:cooling_lunchbox", "tfclunchbox:electric_lunchbox", "sophisticatedbackpacks:backpack", "sophisticatedbackpacks:iron_backpack", "sophisticatedbackpacks:gold_backpack", "sophisticatedbackpacks:diamond_backpack", "sophisticatedbackpacks:netherite_backpack", "tfc:ceramic/cyan_glazed_vessel", "tfc:ceramic/purple_glazed_vessel", "tfc:ceramic/blue_glazed_vessel", "tfc:ceramic/brown_glazed_vessel", "tfc:ceramic/green_glazed_vessel", "tfc:ceramic/red_glazed_vessel", "tfc:ceramic/black_glazed_vessel", "tfc:ceramic/large_vessel/gray", "tfc:ceramic/large_vessel/pink", "tfc:ceramic/large_vessel/lime", "tfc:ceramic/large_vessel/yellow", "tfc:ceramic/large_vessel/light_blue", "tfc:ceramic/large_vessel/magenta", "tfc:ceramic/large_vessel/orange", "tfc:ceramic/large_vessel/white", "tfc:ceramic/large_vessel", "tfc:ceramic/large_vessel/light_gray", "tfc:ceramic/large_vessel/cyan", "tfc:ceramic/large_vessel/purple", "tfc:ceramic/large_vessel/blue", "tfc:ceramic/large_vessel/brown", "tfc:ceramic/large_vessel/green", "tfc:ceramic/large_vessel/red", "tfc:ceramic/large_vessel/black", "tfc:ceramic/vessel", "tfc:ceramic/light_gray_glazed_vessel", "tfc:ceramic/gray_glazed_vessel", "tfc:ceramic/pink_glazed_vessel", "tfc:ceramic/lime_glazed_vessel", "tfc:ceramic/yellow_glazed_vessel", "tfc:ceramic/light_blue_glazed_vessel", "tfc:ceramic/magenta_glazed_vessel", "tfc:ceramic/orange_glazed_vessel", "tfc:ceramic/white_glazed_vessel"] + blacklist = ["tfclunchbox:lunchbox", "tfclunchbox:cooling_lunchbox", "tfclunchbox:electric_lunchbox", "sophisticatedbackpacks:backpack", "sophisticatedbackpacks:iron_backpack", "sophisticatedbackpacks:gold_backpack", "sophisticatedbackpacks:diamond_backpack", "sophisticatedbackpacks:netherite_backpack", "tfc:ceramic/cyan_glazed_vessel", "tfc:ceramic/purple_glazed_vessel", "tfc:ceramic/blue_glazed_vessel", "tfc:ceramic/brown_glazed_vessel", "tfc:ceramic/green_glazed_vessel", "tfc:ceramic/red_glazed_vessel", "tfc:ceramic/black_glazed_vessel", "tfc:ceramic/large_vessel/gray", "tfc:ceramic/large_vessel/pink", "tfc:ceramic/large_vessel/lime", "tfc:ceramic/large_vessel/yellow", "tfc:ceramic/large_vessel/light_blue", "tfc:ceramic/large_vessel/magenta", "tfc:ceramic/large_vessel/orange", "tfc:ceramic/large_vessel/white", "tfc:ceramic/large_vessel", "tfc:ceramic/large_vessel/light_gray", "tfc:ceramic/large_vessel/cyan", "tfc:ceramic/large_vessel/purple", "tfc:ceramic/large_vessel/blue", "tfc:ceramic/large_vessel/brown", "tfc:ceramic/large_vessel/green", "tfc:ceramic/large_vessel/red", "tfc:ceramic/large_vessel/black", "tfc:ceramic/vessel", "tfc:ceramic/light_gray_glazed_vessel", "tfc:ceramic/gray_glazed_vessel", "tfc:ceramic/pink_glazed_vessel", "tfc:ceramic/lime_glazed_vessel", "tfc:ceramic/yellow_glazed_vessel", "tfc:ceramic/light_blue_glazed_vessel", "tfc:ceramic/magenta_glazed_vessel", "tfc:ceramic/orange_glazed_vessel", "tfc:ceramic/white_glazed_vessel", "sns:burlap_sack", "sns:frame_pack", "sns:leather_sack", "sns:ore_sack", "sns:quiver", "sns:seed_pouch", "sns:straw_basket"] #When set to false, stackable items will no longer be allowed by default. allowAllNonStackableItems = true diff --git a/kubejs/data/ad_astra/dimension/venus.json b/kubejs/data/ad_astra/dimension/venus.json index f27fbe150..bdbd37c82 100644 --- a/kubejs/data/ad_astra/dimension/venus.json +++ b/kubejs/data/ad_astra/dimension/venus.json @@ -176,7 +176,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": -0.05, + "erosion": 0.05, "weirdness": -0.2, "depth": 0, "offset": 0 @@ -188,7 +188,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0, "depth": 0, "offset": 0 @@ -200,7 +200,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0.2, "depth": 0, "offset": 0 @@ -250,7 +250,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.47, - "erosion": -0.05, + "erosion": 0.05, "weirdness": -0.2, "depth": 0, "offset": 0 @@ -262,7 +262,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.47, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0, "depth": 0, "offset": 0 @@ -274,7 +274,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.47, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0.2, "depth": 0, "offset": 0 @@ -324,7 +324,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.44, - "erosion": -0.05, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0 @@ -336,7 +336,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.44, - "erosion": -0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0 @@ -348,7 +348,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.44, - "erosion": -0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0 @@ -398,8 +398,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, - "erosion": -0.05, + "continentalness": -0.315, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0 @@ -410,8 +410,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, - "erosion": -0.05, + "continentalness": -0.315, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0 @@ -422,8 +422,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, - "erosion": -0.05, + "continentalness": -0.315, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0 @@ -435,7 +435,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, + "continentalness": -0.315, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -447,7 +447,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, + "continentalness": -0.315, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -459,7 +459,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, + "continentalness": -0.315, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -474,7 +474,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, + "continentalness": -0.3, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -486,7 +486,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, + "continentalness": -0.3, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -498,7 +498,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, + "continentalness": -0.3, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -511,7 +511,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, + "continentalness": 0, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -523,7 +523,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, + "continentalness": 0, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -535,7 +535,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, + "continentalness": 0, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -550,8 +550,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, - "erosion": -0.05, + "continentalness": -0.3, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -562,8 +562,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, - "erosion": -0.05, + "continentalness": -0.3, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -574,8 +574,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, - "erosion": -0.05, + "continentalness": -0.3, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -587,8 +587,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, - "erosion": -0.05, + "continentalness": 0, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -599,8 +599,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, - "erosion": -0.05, + "continentalness": 0, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -611,8 +611,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, - "erosion": -0.05, + "continentalness": 0, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -625,7 +625,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, + "continentalness": 0.05, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -637,7 +637,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, + "continentalness": 0.05, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -649,7 +649,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, + "continentalness": 0.05, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -662,7 +662,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, + "continentalness": 0.45, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -674,7 +674,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, + "continentalness": 0.45, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -686,7 +686,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, + "continentalness": 0.45, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -701,8 +701,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, - "erosion": -0.05, + "continentalness": 0.05, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -713,8 +713,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, - "erosion": -0.05, + "continentalness": 0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -725,8 +725,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, - "erosion": -0.05, + "continentalness": 0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -739,8 +739,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, - "erosion": -0.05, + "continentalness": 0.45, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -751,8 +751,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, - "erosion": -0.05, + "continentalness": 0.45, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -763,8 +763,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, - "erosion": -0.05, + "continentalness": 0.45, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -779,7 +779,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, + "continentalness": 0.5, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -791,7 +791,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, + "continentalness": 0.5, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -803,7 +803,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, + "continentalness": 0.5, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -817,8 +817,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, - "erosion": -0.05, + "continentalness": 0.5, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -829,8 +829,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, - "erosion": -0.05, + "continentalness": 0.5, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -841,8 +841,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, - "erosion": -0.05, + "continentalness": 0.5, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 From e7beb2763cbbf56ff02a4a1600b9df0bb4da8223 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 12:02:46 +0000 Subject: [PATCH 155/157] 0.11.19 --- config/crash_assistant/modlist.json | 20 +++---- .../tfg/venus/blocks.venus_deco.js | 4 +- pakku-lock.json | 60 +++++++++---------- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index eadb2dd35..75537b804 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -753,12 +753,12 @@ "curseForgeHash": 3895274001, "modrinthHash": "6f1e3a25c4a0258c2592fefb837f95a24eb3bfa0" }, - "fzzy_config-0.7.5+1.20.1+forge.jar": { - "jarName": "fzzy_config-0.7.5+1.20.1+forge.jar", + "fzzy_config-0.7.6+1.20.1+forge.jar": { + "jarName": "fzzy_config-0.7.6+1.20.1+forge.jar", "modId": "fzzy_config", - "version": "0.7.5+1.20.1+forge", - "curseForgeHash": 1765843012, - "modrinthHash": "7e890f8b527ccb4523fed54a2864549a53f65fed" + "version": "0.7.6+1.20.1+forge", + "curseForgeHash": 3620637257, + "modrinthHash": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624" }, "geckolib-forge-1.20.1-4.8.3.jar": { "jarName": "geckolib-forge-1.20.1-4.8.3.jar", @@ -1409,12 +1409,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.18.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.18.jar", + "TerraFirmaGreg-Core-Modern-0.8.19.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.19.jar", "modId": "tfg", - "version": "0.8.18", - "curseForgeHash": 3264017794, - "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" + "version": "0.8.19", + "curseForgeHash": 275630824, + "modrinthHash": "ff9b919b7afa7a8f921c50d29718d4a3f8115648" }, "tfc_gourmet-1.4.3.jar": { "jarName": "tfc_gourmet-1.4.3.jar", diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index 0a7be13f0..c142430a7 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -335,7 +335,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('betterend:shadow_plant', 'tfg:decorative_plant') .soundType('crop') - .mapColor('color_black') + .mapColor('none') .box(3, 0, 3, 13, 10, 13) .tagItem('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') @@ -343,7 +343,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('betterend:twisted_vine', 'tfg:tall_decorative_plant') .height(3) .soundType('crop') - .mapColor('color_black') + .mapColor('none') .box(3, 0, 3, 13, 16, 13) .tagItem('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') diff --git a/pakku-lock.json b/pakku-lock.json index 341487b43..c711894cf 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6765,7 +6765,7 @@ "files": [ { "type": "modrinth", - "file_name": "fzzy_config-0.7.5+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6774,22 +6774,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/Dt5erL4a/fzzy_config-0.7.5+1.20.1+forge.jar", - "id": "Dt5erL4a", + "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/7MmXhjWs/fzzy_config-0.7.6+1.20.1+forge.jar", + "id": "7MmXhjWs", "parent_id": "hYykXjDp", "hashes": { - "sha512": "a5e86b8ea8a63bf8b9102b351314393aad5ede26b2480ae8ecaf55eefc482824a27e63ffa088a6d4e30a1ab814502f5e19bc77ac5a09e5120902f191ded59439", - "sha1": "7e890f8b527ccb4523fed54a2864549a53f65fed" + "sha512": "dff242c555006ddab4ffca5ca005b4186cfec3e9f5a9409dc15e91bf1e4eadb33508e458709d0b154b372e214ceb6d8cd343f1e718eb426db4570a292b0e4b0c", + "sha1": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624" }, "required_dependencies": [ "ordsPcFz" ], - "size": 2372465, - "date_published": "2026-01-19T17:33:10.246513Z" + "size": 2374667, + "date_published": "2026-02-03T01:48:46.478341Z" }, { "type": "curseforge", - "file_name": "fzzy_config-0.7.5+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6798,18 +6798,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7489/457/fzzy_config-0.7.5+1.20.1+forge.jar", - "id": "7489457", + "url": "https://edge.forgecdn.net/files/7568/893/fzzy_config-0.7.6+1.20.1+forge.jar", + "id": "7568893", "parent_id": "1005914", "hashes": { - "sha1": "7e890f8b527ccb4523fed54a2864549a53f65fed", - "md5": "0519be93c6e6b9183c9416031db4c715" + "sha1": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624", + "md5": "f48f8112f6e2d161c655b750f6bfd0c8" }, "required_dependencies": [ "351264" ], - "size": 2372465, - "date_published": "2026-01-19T17:33:01.213Z" + "size": 2374667, + "date_published": "2026-02-03T01:48:37.523Z" } ] }, @@ -14110,7 +14110,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.18.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.19.jar", "mc_versions": [ "1.20.1" ], @@ -14119,23 +14119,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/xA84bf76/TerraFirmaGreg-Core-Modern-0.8.18.jar", - "id": "xA84bf76", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/LusgkBmJ/TerraFirmaGreg-Core-Modern-0.8.19.jar", + "id": "LusgkBmJ", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "8a6e5bdd978ff3352df0e6a5723da09a6495f30850b68e5c191a976bf628f2ce537cd1be354ca214859a9e63f6398f2147d186156654946b38159d8a73ea860c", - "sha1": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" + "sha512": "b65de612b24528baead242f0d9564e799db5221b36fd12ccbb191a45f9186082ca4d21599343a909ef65541d230eff2353cfaa0c78f200fd4ff259c33cda11ec", + "sha1": "ff9b919b7afa7a8f921c50d29718d4a3f8115648" }, "required_dependencies": [ "JaCEZUhg", "7tG215v7" ], - "size": 9461778, - "date_published": "2026-01-23T05:43:54.009706Z" + "size": 9564353, + "date_published": "2026-02-03T11:14:10.819830Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.18.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.19.jar", "mc_versions": [ "1.20.1" ], @@ -14144,19 +14144,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7510/518/TerraFirmaGreg-Core-Modern-0.8.18.jar", - "id": "7510518", + "url": "https://edge.forgecdn.net/files/7570/367/TerraFirmaGreg-Core-Modern-0.8.19.jar", + "id": "7570367", "parent_id": "513402", "hashes": { - "sha1": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a", - "md5": "98d393ea8d2bedda684ba69b5546c438" + "sha1": "ff9b919b7afa7a8f921c50d29718d4a3f8115648", + "md5": "81f3dfb6d3e503c2e10263ec3563c49a" }, "required_dependencies": [ - "890405", - "302973" + "302973", + "890405" ], - "size": 9461778, - "date_published": "2026-01-23T05:43:16.570Z" + "size": 9564353, + "date_published": "2026-02-03T11:14:05.233Z" } ] }, From 6d99f97b7e993841afdca1d0dde4e2395b00ab5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 12:02:56 +0000 Subject: [PATCH 156/157] Bump actions/cache from 5.0.2 to 5.0.3 in the dependencies group (#2963) Bumps the dependencies group with 1 update: [actions/cache](https://github.com/actions/cache). Updates `actions/cache` from 5.0.2 to 5.0.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v5.0.2...v5.0.3) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 5.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ff05d7ea..140f229f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -347,7 +347,7 @@ jobs: sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/docker-overrides/docker-compose.yml - name: 📝 Cache Pakku - uses: actions/cache@v5.0.2 + uses: actions/cache@v5.0.3 id: cache with: path: build/.cache From b35d54e6a51436a7511f7da45d7b1e116aabe9b1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 12:07:35 +0000 Subject: [PATCH 157/157] oh yeah --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40ab82d27..f081702d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Changelog ## Unreleased +### Changes +### Bug fixes +### Translation updates + +## [0.11.19] - 03-02-2026 ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie